From daa54f5b9bb745dbb359280ffb1637e2dfcd27fc Mon Sep 17 00:00:00 2001 From: salles Date: Tue, 25 Apr 2006 00:00:40 +0200 Subject: [PATCH] Mise jour des commentaires + esthtique On ne fait pas dans nat_table des rgles dj appliques dans mangle_table darcs-hash:20060424220040-72cb0-12db96914f416f33eb9a1856e5722089eb17568f.gz --- gestion/gen_confs/firewall.py | 56 ++++++++++++++++------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/gestion/gen_confs/firewall.py b/gestion/gen_confs/firewall.py index 09ae8c44..c6905728 100755 --- a/gestion/gen_confs/firewall.py +++ b/gestion/gen_confs/firewall.py @@ -80,23 +80,21 @@ def tc(cmd): class firewall_crans : """ Classe parente pour les firewalls du crans - Implementee directement a partir du firewall de komaz, initialement - ecrit par Manuel Sabban et Fred Pauget. + Implémentée directement à partir du firewall de komaz, initialement + écrit par Manuel Sabban et Frédéric Pauget. - * les méthodes a surcharger pour l'impementation eme des firewall - sont nat_table, filter_table, pour la preparation du fw, - start_fw_funcs pour la mise en place du filtrage. - - * enable_route et disable_route utilisees seulement par komaz + * les méthodes à surcharger pour l'implémentation eme des firewall + sont mangle_table, nat_table, filter_table, pour la préparation + du fw, start_fw_funcs pour la mise en place du filtrage. * serveurs_maj, adh_maj_list_to_do et serveurs_maj_list_to_do, pour la mise en place de la MAC-IP. en particulier, adh_maj_list_to_do et serveurs_maj_list_to_do - sont factorisees pour la simple et bonne raison que les sources - de la liste to_do originale ne seront pas forcement identiques + sont factorisées pour la simple et bonne raison que les sources + de la liste to_do originale ne seront pas forcément identiques (c'est un peu sale...) - * La classe parente contient a peu de choses pres tout ce qu'il + * la classe parente contient à peu de choses prés tout ce qu'il faut pour mettre en place un fw basique n'effectuant que la verif MAC-IP. """ @@ -400,8 +398,17 @@ Komaz class firewall_komaz(firewall_crans) : """ Structure du firewall : + table mangle : + PREROUTING (policy par défaut : ACCEPT) + 1) proxy transparent + 2) marquage des paquets bittorrent + + POSTROUTING (policy par défaut : ACCEPT) + 1) passage dans le sous-réseau 24 de l'ip crans : SUBNET + + SUBNET classe pour chaque ip de son réseau dans la classe htb correspondante table nat : - PREROUTING (policy par defaut : DROP) + PREROUTING (policy par défaut : ACCEPT) 1) passage par TEST_VIRUS_FLOOD pour tout ce qui n'est pas dans zone_serveur 2) passage dans RESEAUX_NON_ROUTABLES_DST 3) passage est paquets venant de l'extérieur dans RESEAUX_NON_ROUTABLES_SRC @@ -416,7 +423,7 @@ class firewall_komaz(firewall_crans) : TEST_MAC-IP envoi les bon paquets vers CRANS_VERS_EXT table filter : - FORWARD (policy par defaut : ACCEPT) + FORWARD (policy par défaut : ACCEPT) 1) passage par BLACKLIST 2) passage pas FILTRE_P2P (ACCEPT sur le trafic p2p, sanction gérées par déconnexion.py) 3) ce qui a pour source les serveurs de serveurs_crans est dirigé vers SERVEURS_VERS_EXT @@ -424,7 +431,7 @@ class firewall_komaz(firewall_crans) : 5) tout ce qui vient de l'interface externe est dirigé vers EXT_VERS_CRANS 6) ce qui a pour source les serveurs de serveurs_crans est dirigé vers EXT_VERS_CRANS - BLACKLIST fitre des ip blacklistées (reject) + BLACKLIST fitre des ip blacklistées (REJECT) FILTRE_P2P filtre le traffic de p2p EXT_VERS_CRANS et CRANS_VERS_EXT ACCEPT pour les paquets vers les machines du crans (test port-ip) @@ -571,21 +578,10 @@ class firewall_komaz(firewall_crans) : iptables("-t nat -P OUTPUT ACCEPT") # Proxy transparent - iptables("-t mangle -F PREROUTING") - iptables("-t mangle -A PREROUTING -s %s -j RETURN" % self.zone_serveur) - iptables("-t mangle -A PREROUTING -p tcp --destination-port 80 " + - "-s 138.231.136.0/21 -d \! 138.231.148.0/22 -j MARK " + - "--set-mark %s" % conf_fw.mark['proxy']) iptables("-t nat -A PREROUTING -p tcp -m mark --mark %s " % conf_fw.mark['proxy'] + "-j DNAT --to-destination 138.231.144.10:3128") - iptables("-t mangle -A PREROUTING -m mark --mark %s -j ACCEPT" % conf_fw.mark['proxy']) print OK - def proxy_transparent(self): - # Proxy transparent - iptables("-t nat -A PREROUTING -p tcp -m mark --mark %s " % conf_fw.mark['proxy'] + - "-j DNAT --to-destination 138.231.144.10:3128") - def filter_table_tweaks(self) : self.anim = anim('\tRègles spécifiques à komaz') for chaine in [ 'ADMIN_VLAN', 'EXT_VERS_SERVEURS', 'SERVEURS_VERS_EXT' , 'EXT_VERS_CRANS', 'CRANS_VERS_EXT', 'BLACKLIST_SRC', 'BLACKLIST_DST' , 'FILTRE_P2P' ] : @@ -913,9 +909,9 @@ class firewall_zamok(firewall_crans) : SERV_OUT_ADM TEST_MAC-IP table filter : - FORWARD (policy par defaut : DROP) + FORWARD (policy par défaut : DROP) rien ne passe pas la chaine FORWARD - INPUT (policy par defaut : ACCEPT pour l'instant) + INPUT (policy par défaut : ACCEPT) """ @@ -996,9 +992,9 @@ class firewall_rouge(firewall_crans) : SERV_OUT_ADM TEST_MAC-IP table filter : - FORWARD (policy par defaut : DROP) + FORWARD (policy par défaut : DROP) rien ne passe pas la chaine FORWARD - INPUT (policy par defaut : ACCEPT pour l'instant) + INPUT (policy par défaut : ACCEPT) """ @@ -1039,9 +1035,9 @@ class firewall_vert(firewall_crans) : table nat : MAC-IP table filter : - FORWARD (policy par defaut : DROP) + FORWARD (policy par défaut : DROP) rien ne passe pas la chaine FORWARD - INPUT (policy par defaut : ACCEPT pour l'instant) + INPUT (policy par défaut : ACCEPT) """