reseaux_iptables
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
reseaux_iptables [2008/08/06 10:13] – thierry | reseaux_iptables [2010/07/17 11:16] (Version actuelle) – thierry | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Iptables et ferm ====== | ||
+ | Liens: | ||
+ | *http:// | ||
+ | *http:// | ||
+ | |||
+ | |||
+ | ===== Bases ===== | ||
+ | |||
+ | :!: ne pas oublier de charger , au préalable, le module **'' | ||
+ | |||
+ | |||
+ | ==== commande ==== | ||
+ | |||
+ | On va creer un fichier en composant des regles relativement lisible. | ||
+ | |||
+ | En passant ce fichier a la moulinette de " | ||
+ | |||
+ | Exemple: | ||
+ | # ferm vite_1.conf | ||
+ | |||
+ | Et hop, le firewall est en service ! | ||
+ | |||
+ | On peut ajouter " | ||
+ | |||
+ | Et aussi " | ||
+ | # ferm -n -l vite_1.conf | ||
+ | # Generated by ferm 2.0.3 on Sat Jul 17 13:10:48 2003 | ||
+ | *filter | ||
+ | :FORWARD ACCEPT [0:0] | ||
+ | :INPUT DROP [0:0] | ||
+ | :OUTPUT ACCEPT [0:0] | ||
+ | -A INPUT --match state --state RELATED, | ||
+ | -A INPUT --protocol tcp --dport http --jump ACCEPT | ||
+ | -A INPUT --protocol tcp --dport ftp --jump ACCEPT | ||
+ | -A INPUT --protocol tcp --dport ssh --jump ACCEPT | ||
+ | COMMIT | ||
+ | |||
+ | Et encore, en règles " | ||
+ | # ferm -n -l --slow vite_1.conf | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Et enfin, l' | ||
+ | # ferm -i vite_1.conf | ||
+ | | ||
+ | ferm has applied the new firewall rules. | ||
+ | Please type ' | ||
+ | |||
+ | Si on ne tape " | ||
+ | |||
+ | ==== simples ==== | ||
+ | |||
+ | === vite_1.conf === | ||
+ | |||
+ | chain INPUT { | ||
+ | policy DROP; | ||
+ | mod state state (RELATED ESTABLISHED) ACCEPT; | ||
+ | proto tcp dport (http ftp ssh) ACCEPT; | ||
+ | } | ||
+ | |||
+ | === vite_1b.conf === | ||
+ | Ajouter simplement: | ||
+ | chain INPUT if lo ACCEPT; | ||
+ | |||
+ | Cela permet d' | ||
+ | firefox http:// | ||
+ | |||
+ | === vite_2.conf === | ||
+ | |||
+ | # interface a autoriser | ||
+ | @def $LAN_IF = eth0; | ||
+ | | ||
+ | # Politique par defaut: tout fermer | ||
+ | chain ( INPUT OUTPUT FORWARD ) policy DROP; | ||
+ | | ||
+ | # autoriser l' | ||
+ | chain INPUT if lo ACCEPT; | ||
+ | chain OUTPUT of lo ACCEPT; | ||
+ | | ||
+ | # autoriser quelques entrées | ||
+ | chain INPUT if $LAN_IF { | ||
+ | mod state state NEW { | ||
+ | proto tcp dport ( http ftp ssh ) ACCEPT; | ||
+ | proto udp dport ( openvpn domain ) ACCEPT; | ||
+ | proto icmp icmp-type echo-request ACCEPT; | ||
+ | } | ||
+ | mod state state ( ESTABLISHED RELATED ) ACCEPT; | ||
+ | } | ||
+ | | ||
+ | # autoriser toutes les sorties | ||
+ | chain OUTPUT of $LAN_IF mod state state ( NEW ESTABLISHED RELATED ) ACCEPT; | ||
+ | |||
+ | La partie **"mod state state ( NEW ESTABLISHED RELATED )"** va demander a iptables de faire un suivit (tracking) de toutes les connexions : cela peut poser des problèmes si certains modules ne sont pas chargés. | ||
+ | |||
+ | ==== modules ==== | ||
+ | |||
+ | Lien: http:// | ||
+ | |||
+ | Si vous avez un message comme ça (au boot par exemple): | ||
+ | iptables-save v1.4.2: Unable to open / | ||
+ | |||
+ | C'est parce que le module " | ||
+ | # modprobe ip_tables | ||
+ | |||
+ | Et pour le prochain boot, ajouter dans **''/ | ||
+ | ip_tables | ||
+ | |||
====== iptables ====== | ====== iptables ====== | ||
Ligne 15: | Ligne 130: | ||
[[http:// | [[http:// | ||
+ | |||
+ | |||
===== NetFilter / Iptables ===== | ===== NetFilter / Iptables ===== | ||
Ligne 614: | Ligne 731: | ||
Donc j'ai de la marge... | Donc j'ai de la marge... | ||
+ | |||
==== Statistique ==== | ==== Statistique ==== | ||
Ligne 621: | Ligne 739: | ||
Et voila des stats. | Et voila des stats. | ||
+ | ==== ports dynamiques ==== | ||
+ | Lien: http:// | ||
+ | Pour connaitre les ports utilisés dynamiquement par Linux, il faut faire ca: | ||
+ | cat / | ||
+ | 32768 61000 | ||
+ | Dans un scripte " | ||
+ | LOCALPR=$( cat / | ||
+ | Ce qui donne: '' | ||
+ | Y a surement plus simple ! |
reseaux_iptables.1218017582.txt.gz · Dernière modification : 2008/08/06 10:13 de thierry