diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 64dd7cde..8c0590fe 100755 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -199,27 +199,29 @@ infectes = curseur.fetchall() for ip, nombre in veroles: # si le type dépasse le seuil, on le blacklist - if nombre > virus.virus or [ip] not in infectes : - # lecture des infos de ldap - machine = ldap.search('ipHostNumber=%s' % ip,'w' )['machine'][0] - hostname = machine.nom() - proprio = machine.proprietaire() - blacklist = proprio.blacklist() + if nombre < virus.virus or [ip] in infectes : + continue - # Inscription dans la table des infectes - requete="INSERT INTO avertis_virus (ip_crans,date) VALUES ('%s','now')" % ip - curseur.execute(requete) + # lecture des infos de ldap + machine = ldap.search('ipHostNumber=%s' % ip,'w' )['machine'][0] + hostname = machine.nom() + proprio = machine.proprietaire() + blacklist = proprio.blacklist() - print "Deconnexion virus : %s" % hostname - - # on récupère les index des lignes de bl ou il y a marqué virus - index = [blacklist.index(x) for x in blacklist if 'virus' in x ] - if index : - proprio.blacklist(( index[0] , ['now','-','virus',hostname] )) - proprio.save() - else : - proprio.blacklist(['now','-','virus',hostname]) - proprio.save() + # Inscription dans la table des infectes + requete="INSERT INTO avertis_virus (ip_crans,date) VALUES ('%s','now')" % ip + curseur.execute(requete) + + print "Deconnexion virus : %s" % hostname + + # on récupère les index des lignes de bl ou il y a marqué virus + index = [blacklist.index(x) for x in blacklist if 'virus' in x ] + if index : + proprio.blacklist(( index[0] , ['now','-','virus',hostname] )) + proprio.save() + else : + proprio.blacklist(['now','-','virus',hostname]) + proprio.save() # Flood @@ -238,28 +240,30 @@ infectes = curseur.fetchall() for ip, nombre in veroles: # si le type dépasse le seuil, on le blacklist - if nombre > virus.flood or [ip] not in infectes : - # lecture des infos de ldap - machine = ldap.search('ipHostNumber=%s' % ip,'w' )['machine'][0] - hostname = machine.nom() - proprio = machine.proprietaire() - blacklist = proprio.blacklist() + if nombre < virus.flood or [ip] in infectes : + continue - # Inscription dans la table des infectes - requete="INSERT INTO avertis_virus (ip_crans,date) VALUES ('%s','now')" % ip - curseur.execute(requete) + # lecture des infos de ldap + machine = ldap.search('ipHostNumber=%s' % ip,'w' )['machine'][0] + hostname = machine.nom() + proprio = machine.proprietaire() + blacklist = proprio.blacklist() - print "Deconnexion flood : %s" % hostname - - # on récupère les index des lignes de bl ou il y a marqué virus - index = [blacklist.index(x) for x in blacklist if 'virus' in x ] - if index : - proprio.blacklist(( index[0] , ['now','-','virus',hostname] )) - proprio.save() - else : - proprio.blacklist(['now','-','virus',hostname]) - proprio.save() - + # Inscription dans la table des infectes + requete="INSERT INTO avertis_virus (ip_crans,date) VALUES ('%s','now')" % ip + curseur.execute(requete) + + print "Deconnexion flood : %s" % hostname + + # on récupère les index des lignes de bl ou il y a marqué virus + index = [blacklist.index(x) for x in blacklist if 'virus' in x ] + if index : + proprio.blacklist(( index[0] , ['now','-','virus',hostname] )) + proprio.save() + else : + proprio.blacklist(['now','-','virus',hostname]) + proprio.save() + # Reconnexion si le virus/flood a disparu #########################################