[gestion/gen_confs] on supprime l'accès internet depuis zamok aux adhérents blacklistés

* zamok traite les blacklistes
 * ajout d'une méthode blackliste au firewall de zamok

darcs-hash:20100529145721-bd074-d293e8d135311db33f47ea36fd19f798756ff048.gz
This commit is contained in:
Antoine Durand-Gasselin 2010-05-29 16:57:21 +02:00
parent 7d7fd2ee2e
commit 3b9cc8fed4
2 changed files with 33 additions and 5 deletions

View file

@ -1114,6 +1114,31 @@ class firewall_zamok(firewall_crans) :
self.exception_catcher(self.test_mac_ip)
self.serv_out_adm()
def blacklist(self):
"""Fondamentalement, bloque l'accès internet sur zamok aux
adhérents sanctionnés"""
self.filter_table()
blacklist_sanctions = ('upload', 'warez', 'p2p', 'autodisc_p2p', 'autodisc_upload', 'bloq')
# Recherche sur le champ ablacklist (clubs compris)
search = db.search('ablacklist=*&paiement=ok')
self.anim = anim("\tBlackliste des comptes Crans", len(search['adherent']))
for adh in search['adherent']:
self.anim.cycle()
sanctions = adh.blacklist_actif()
for s in blacklist_sanctions:
if s in sanctions:
try:
uid = adh.uidNumber()
iptables("-A OUTPUT -m owner --uid-owner %s -d 138.231.136.1/21 -j ACCEPT" % uid)
iptables("-A OUTPUT -m owner --uid-owner %s -d 138.231.144.1/21 -j ACCEPT" % uid)
iptables("-A OUTPUT -m owner --uid-owner %s -j REJECT" % uid)
finally:
break
self.anim.reinit()
print OK
def filter_table_tweaks(self) :
self.anim = anim('\tRègles spécifiques à zamok')
iptables("-P INPUT ACCEPT")