[firewall/filtrage] On droppe les problèmes de formatage

Ignore-this: eda45d6122669802eeee401d5ff81cf9
parce que netfilter fait parfois caca (comme tout le monde…)

darcs-hash:20121030223617-28565-c421592560f590198c00bce4e7dd6a7e453fec53.gz
This commit is contained in:
Daniel STAN 2012-10-30 23:36:17 +01:00
parent 5d25b023d8
commit c04010afbb

View file

@ -76,9 +76,13 @@ for log in filtre :
resultat_flood = motif_flood.match(log) resultat_flood = motif_flood.match(log)
if resultat_p2p : if resultat_p2p :
try:
ip_src = resultat_p2p.group(3) ip_src = resultat_p2p.group(3)
verif = iptools.AddrInNets (ip_src,reseau) verif = iptools.AddrInNets (ip_src,reseau)
except ValueError:
continue #IP malformee
if verif : if verif :
try:
date = resultat_p2p.group(1) date = resultat_p2p.group(1)
id_p2p = int(protocole_p2p[resultat_p2p.group(2)]) id_p2p = int(protocole_p2p[resultat_p2p.group(2)])
ip_src = resultat_p2p.group(3) ip_src = resultat_p2p.group(3)
@ -87,6 +91,8 @@ for log in filtre :
port_src = int(resultat_p2p.group(6)) port_src = int(resultat_p2p.group(6))
port_dest = int(resultat_p2p.group(7)) port_dest = int(resultat_p2p.group(7))
date=strptime.syslog2pgsql(date) date=strptime.syslog2pgsql(date)
except ValueError, KeyError:
continue #mal parse
# On remplit la base : # On remplit la base :
###################### ######################
@ -96,9 +102,13 @@ for log in filtre :
# On teste si le log contient des virus # On teste si le log contient des virus
######################################## ########################################
elif resultat_virus : elif resultat_virus :
try:
ip_src = resultat_virus.group(3) ip_src = resultat_virus.group(3)
verif = iptools.AddrInNets (ip_src,reseau) verif = iptools.AddrInNets (ip_src,reseau)
except ValueError:
continue
if verif : if verif :
try:
date = resultat_virus.group(1) date = resultat_virus.group(1)
ip_src = resultat_virus.group(3) ip_src = resultat_virus.group(3)
ip_dest = resultat_virus.group(4) ip_dest = resultat_virus.group(4)
@ -108,13 +118,19 @@ for log in filtre :
# On remplit la base : # On remplit la base :
###################### ######################
date=strptime.syslog2pgsql(date) date=strptime.syslog2pgsql(date)
except ValueError, KeyError:
continue
requete = "INSERT INTO virus (date,ip_src,ip_dest,id,port_src,port_dest) VALUES ('%s','%s','%s',%d,%d,%d)" % (date,ip_src,ip_dest,proto,port_src,port_dest) requete = "INSERT INTO virus (date,ip_src,ip_dest,id,port_src,port_dest) VALUES ('%s','%s','%s',%d,%d,%d)" % (date,ip_src,ip_dest,proto,port_src,port_dest)
curseur.execute(requete) curseur.execute(requete)
elif resultat_flood : elif resultat_flood :
try:
ip_src = resultat_flood.group(3) ip_src = resultat_flood.group(3)
verif = iptools.AddrInNets (ip_src,reseau) verif = iptools.AddrInNets (ip_src,reseau)
except ValueError:
continue
if verif : if verif :
try:
date = resultat_flood.group(1) date = resultat_flood.group(1)
ip_src = resultat_flood.group(3) ip_src = resultat_flood.group(3)
ip_dest = resultat_flood.group(4) ip_dest = resultat_flood.group(4)
@ -125,5 +141,7 @@ for log in filtre :
# On remplit la base : # On remplit la base :
###################### ######################
date=strptime.syslog2pgsql(date) date=strptime.syslog2pgsql(date)
except ValueError, KeyError:
continue
requete = "INSERT INTO flood (date,ip_src,ip_dest,id,port_src,port_dest) VALUES ('%s','%s','%s',%d,%d,%d)" % (date,ip_src,ip_dest,proto,port_src,port_dest) requete = "INSERT INTO flood (date,ip_src,ip_dest,id,port_src,port_dest) VALUES ('%s','%s','%s',%d,%d,%d)" % (date,ip_src,ip_dest,proto,port_src,port_dest)
curseur.execute(requete) curseur.execute(requete)