[gen_confs/,surveillance/] virus splitte vers virus et autodisc_virus

Pour que le systeme n'enleve pas les deconnexions manuelles, et pour pouvoir
mettre un message different aux gens deconnectes manuellement

darcs-hash:20100316200552-ddb99-86effb62af5f560cd99563326d98d9721e51e289.gz
This commit is contained in:
Michel Blockelet 2010-03-16 21:05:52 +01:00
parent 2d5c0b4757
commit ed855e941f
5 changed files with 20 additions and 9 deletions

View file

@ -282,6 +282,10 @@ class sable(base_reconfigure):
from gen_confs.squid import squid_p2p from gen_confs.squid import squid_p2p
self._do(squid_p2p()) self._do(squid_p2p())
def blacklist_autodisc_virus(self):
from gen_confs.squid import squid_autodisc_virus
self._do(squid_autodisc_virus())
def blacklist_autodisc_upload(self): def blacklist_autodisc_upload(self):
from gen_confs.squid import squid_autodisc_upload from gen_confs.squid import squid_autodisc_upload
self._do(squid_autodisc_upload()) self._do(squid_autodisc_upload())

View file

@ -76,6 +76,11 @@ class squid_autodisc_p2p(squid) :
FICHIER = "/etc/squid3/blacklist_autodisc_p2p" FICHIER = "/etc/squid3/blacklist_autodisc_p2p"
chaine = "autodisc_p2p" chaine = "autodisc_p2p"
class squid_autodisc_virus(squid) :
""" Génère le fichier blacklist-virus pour squid """
FICHIER = "/etc/squid3/blacklist_autodisc_virus"
chaine = "autodisc_virus"
class squid_virus(squid) : class squid_virus(squid) :
""" Génère le fichier blacklist-virus pour squid """ """ Génère le fichier blacklist-virus pour squid """
FICHIER = "/etc/squid3/blacklist_virus" FICHIER = "/etc/squid3/blacklist_virus"

View file

@ -90,10 +90,11 @@ else:
################################################################################## ##################################################################################
### Items de la blackliste ### Items de la blackliste
blacklist_items = { u'bloq': u'Bloquage total de tous les services', blacklist_items = { u'bloq': u'Bloquage total de tous les services',
u'virus': u'Bloquage sur squid', u'virus': u'Passage en VLAN isolement',
u'upload': u"Bloquage total de l'accès à l'extérieur", u'upload': u"Bloquage total de l'accès à l'extérieur",
u'warez': u'Bloquage sur squid', u'warez': u'Bloquage sur squid',
u'p2p': u"Bloquage total de l'accès à l'extérieur", u'p2p': u"Bloquage total de l'accès à l'extérieur",
u'autodisc_virus': u'Autodisconnect pour virus',
u'autodisc_upload': u'Autodisconnect pour upload', u'autodisc_upload': u'Autodisconnect pour upload',
u'autodisc_p2p': u'Autodisconnect pour P2P', u'autodisc_p2p': u'Autodisconnect pour P2P',
u'ipv6_ra': u'Isolement pour RA' } u'ipv6_ra': u'Isolement pour RA' }

View file

@ -55,7 +55,8 @@ def do_auth(mac):
return (-1, "Bloquage total des services pour cette machine", "") return (-1, "Bloquage total des services pour cette machine", "")
# les gens qui doivent être isolés # les gens qui doivent être isolés
if 'virus' in m[0].blacklist_actif() or 'ipv6_ra' in m[0].blacklist_actif() : if ('virus' in m[0].blacklist_actif() or 'ipv6_ra' in m[0].blacklist_actif()
or 'autodisc_virus' in m[0].blacklist_actif()):
return (0, "Bad boy", "isolement") return (0, "Bad boy", "isolement")
# L'adherent ne paie pas, on le met sur le vlan radin # L'adherent ne paie pas, on le met sur le vlan radin

View file

@ -294,14 +294,14 @@ for ip, nombre in infectes:
curseur.execute(requete) curseur.execute(requete)
# On récupère les index des lignes de bl où il y a marqué virus # On récupère les index des lignes de bl où il y a marqué virus
index = [blacklist.index(x) for x in blacklist if 'virus' in x ] index = [blacklist.index(x) for x in blacklist if 'autodisc_virus' in x ]
if index: if index:
# L'adhérent est déjà blacklisté # L'adhérent est déjà blacklisté
proprio.blacklist((index[0], ['now', '-', 'virus', hostname])) proprio.blacklist((index[0], ['now', '-', 'autodisc_virus', hostname]))
proprio.save() proprio.save()
else: else:
# L'adhérent n'est pas encore blacklisté # L'adhérent n'est pas encore blacklisté
proprio.blacklist(['now', '-', 'virus', hostname]) proprio.blacklist(['now', '-', 'autodisc_virus', hostname])
proprio.save() proprio.save()
################################################################################ ################################################################################
@ -340,14 +340,14 @@ for ip, nombre in infectes:
curseur.execute(requete) curseur.execute(requete)
# On récupère les index des lignes de bl où il y a marqué virus # On récupère les index des lignes de bl où il y a marqué virus
index = [ blacklist.index(x) for x in blacklist if 'virus' in x ] index = [ blacklist.index(x) for x in blacklist if 'autodisc_virus' in x ]
if index: if index:
# L'adhérent est déjà blacklisté # L'adhérent est déjà blacklisté
proprio.blacklist((index[0], ['now', '-', 'virus', hostname])) proprio.blacklist((index[0], ['now', '-', 'autodisc_virus', hostname]))
proprio.save() proprio.save()
else: else:
# L'adhérent n'est pas encore blacklisté # L'adhérent n'est pas encore blacklisté
proprio.blacklist(['now', '-', 'virus', hostname]) proprio.blacklist(['now', '-', 'autodisc_virus', hostname])
proprio.save() proprio.save()
@ -390,7 +390,7 @@ for IP in infectes:
# ont pu s'ajouter. # ont pu s'ajouter.
lignes_enlevees = 0 lignes_enlevees = 0
for ligne in bl: for ligne in bl:
if '$-$virus$%s' % hostname in ligne: if '$-$autodisc_virus$%s' % hostname in ligne:
liste = ligne.split('$') liste = ligne.split('$')
argument = [liste[0], 'now', liste[2], liste[3]] argument = [liste[0], 'now', liste[2], liste[3]]
index = bl.index(ligne) index = bl.index(ligne)