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
This commit is contained in:
salles 2006-04-25 00:00:40 +02:00
parent 9e5af3f690
commit daa54f5b9b

View file

@ -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)
"""