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:
parent
9e5af3f690
commit
daa54f5b9b
1 changed files with 26 additions and 30 deletions
|
@ -80,23 +80,21 @@ def tc(cmd):
|
||||||
class firewall_crans :
|
class firewall_crans :
|
||||||
"""
|
"""
|
||||||
Classe parente pour les firewalls du crans
|
Classe parente pour les firewalls du crans
|
||||||
Implementee directement a partir du firewall de komaz, initialement
|
Implémentée directement à partir du firewall de komaz, initialement
|
||||||
ecrit par Manuel Sabban et Fred Pauget.
|
écrit par Manuel Sabban et Frédéric Pauget.
|
||||||
|
|
||||||
* les méthodes a surcharger pour l'impementation eme des firewall
|
* les méthodes à surcharger pour l'implémentation eme des firewall
|
||||||
sont nat_table, filter_table, pour la preparation du fw,
|
sont mangle_table, nat_table, filter_table, pour la préparation
|
||||||
start_fw_funcs pour la mise en place du filtrage.
|
du fw, start_fw_funcs pour la mise en place du filtrage.
|
||||||
|
|
||||||
* enable_route et disable_route utilisees seulement par komaz
|
|
||||||
|
|
||||||
* serveurs_maj, adh_maj_list_to_do et serveurs_maj_list_to_do,
|
* serveurs_maj, adh_maj_list_to_do et serveurs_maj_list_to_do,
|
||||||
pour la mise en place de la MAC-IP.
|
pour la mise en place de la MAC-IP.
|
||||||
en particulier, adh_maj_list_to_do et serveurs_maj_list_to_do
|
en particulier, adh_maj_list_to_do et serveurs_maj_list_to_do
|
||||||
sont factorisees pour la simple et bonne raison que les sources
|
sont factorisées pour la simple et bonne raison que les sources
|
||||||
de la liste to_do originale ne seront pas forcement identiques
|
de la liste to_do originale ne seront pas forcément identiques
|
||||||
(c'est un peu sale...)
|
(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
|
faut pour mettre en place un fw basique n'effectuant que la
|
||||||
verif MAC-IP.
|
verif MAC-IP.
|
||||||
"""
|
"""
|
||||||
|
@ -400,8 +398,17 @@ Komaz
|
||||||
class firewall_komaz(firewall_crans) :
|
class firewall_komaz(firewall_crans) :
|
||||||
"""
|
"""
|
||||||
Structure du firewall :
|
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 :
|
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
|
1) passage par TEST_VIRUS_FLOOD pour tout ce qui n'est pas dans zone_serveur
|
||||||
2) passage dans RESEAUX_NON_ROUTABLES_DST
|
2) passage dans RESEAUX_NON_ROUTABLES_DST
|
||||||
3) passage est paquets venant de l'extérieur dans RESEAUX_NON_ROUTABLES_SRC
|
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
|
TEST_MAC-IP envoi les bon paquets vers CRANS_VERS_EXT
|
||||||
|
|
||||||
table filter :
|
table filter :
|
||||||
FORWARD (policy par defaut : ACCEPT)
|
FORWARD (policy par défaut : ACCEPT)
|
||||||
1) passage par BLACKLIST
|
1) passage par BLACKLIST
|
||||||
2) passage pas FILTRE_P2P (ACCEPT sur le trafic p2p, sanction gérées par déconnexion.py)
|
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
|
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
|
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
|
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
|
FILTRE_P2P filtre le traffic de p2p
|
||||||
EXT_VERS_CRANS et CRANS_VERS_EXT
|
EXT_VERS_CRANS et CRANS_VERS_EXT
|
||||||
ACCEPT pour les paquets vers les machines du crans (test port-ip)
|
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")
|
iptables("-t nat -P OUTPUT ACCEPT")
|
||||||
|
|
||||||
# Proxy transparent
|
# 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'] +
|
iptables("-t nat -A PREROUTING -p tcp -m mark --mark %s " % conf_fw.mark['proxy'] +
|
||||||
"-j DNAT --to-destination 138.231.144.10:3128")
|
"-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
|
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) :
|
def filter_table_tweaks(self) :
|
||||||
self.anim = anim('\tRègles spécifiques à komaz')
|
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' ] :
|
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
|
SERV_OUT_ADM
|
||||||
TEST_MAC-IP
|
TEST_MAC-IP
|
||||||
table filter :
|
table filter :
|
||||||
FORWARD (policy par defaut : DROP)
|
FORWARD (policy par défaut : DROP)
|
||||||
rien ne passe pas la chaine FORWARD
|
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
|
SERV_OUT_ADM
|
||||||
TEST_MAC-IP
|
TEST_MAC-IP
|
||||||
table filter :
|
table filter :
|
||||||
FORWARD (policy par defaut : DROP)
|
FORWARD (policy par défaut : DROP)
|
||||||
rien ne passe pas la chaine FORWARD
|
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 :
|
table nat :
|
||||||
MAC-IP
|
MAC-IP
|
||||||
table filter :
|
table filter :
|
||||||
FORWARD (policy par defaut : DROP)
|
FORWARD (policy par défaut : DROP)
|
||||||
rien ne passe pas la chaine FORWARD
|
rien ne passe pas la chaine FORWARD
|
||||||
INPUT (policy par defaut : ACCEPT pour l'instant)
|
INPUT (policy par défaut : ACCEPT)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue