[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:
parent
2d5c0b4757
commit
ed855e941f
5 changed files with 20 additions and 9 deletions
|
@ -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())
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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' }
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue