Outils pour utilisateurs

Outils du site


reseaux_iptables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseaux_iptables [2010/07/09 11:56] thierryreseaux_iptables [2010/07/17 11:16] (Version actuelle) thierry
Ligne 1: Ligne 1:
 +====== Iptables et ferm ======
 +Liens:
 +  *http://ferm.foo-projects.org/download/2.0/ferm.html
 +  *http://linux-attitude.fr/post/firewall-en-2-temps-3-mouvements
 +
 +
 +===== Bases =====
 +
 +:!: ne pas oublier de charger , au préalable, le module **''ip_tables''**.
 +
 +
 +==== commande ====
 +
 +On va creer un fichier en composant des regles relativement lisible.
 +
 +En passant ce fichier a la moulinette de "ferm", il va y avoir creation des commandes iptables.
 +
 +Exemple:
 +  # ferm vite_1.conf
 +
 +Et hop, le firewall est en service !
 +
 +On peut ajouter "-n" pour ne pas appliquer les regles immediatement!
 +
 +Et aussi "-l" pour voir ce qui est fait:
 +  # 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,ESTABLISHED --jump ACCEPT
 +  -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 "iptables" plus classique, en ajoutant **''--slow''** :
 +  # ferm -n -l --slow vite_1.conf
 +  /sbin/iptables -t filter -P FORWARD ACCEPT
 +  /sbin/iptables -t filter -P INPUT ACCEPT
 +  /sbin/iptables -t filter -P OUTPUT ACCEPT
 +  /sbin/iptables -t filter -F
 +  /sbin/iptables -t filter -X
 +  /sbin/iptables -t filter -P INPUT DROP
 +  /sbin/iptables -t filter -A INPUT --match state --state RELATED,ESTABLISHED --jump ACCEPT
 +  /sbin/iptables -t filter -A INPUT --protocol tcp --dport http --jump ACCEPT
 +  /sbin/iptables -t filter -A INPUT --protocol tcp --dport ftp --jump ACCEPT
 +  /sbin/iptables -t filter -A INPUT --protocol tcp --dport ssh --jump ACCEPT
 +
 +Et enfin, l'option **''-i''** afin d'être sur de ne pas faire de betise ! 
 +  # ferm -i vite_1.conf
 +  
 +  ferm has applied the new firewall rules.
 +  Please type 'yes' to confirm:
 +
 +Si on ne tape "yes" dans les 30 secondes, ferm remet en place les règles précédentes.
 +
 +==== 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'ouvrir *tout* les services locaux... et par exemple faire:  
 +  firefox http://localhost:49152 &
 +
 +=== vite_2.conf ===
 +
 +  # interface a autoriser
 +  @def $LAN_IF = eth0;
 +  
 +  # Politique par defaut: tout fermer
 +  chain ( INPUT OUTPUT FORWARD ) policy DROP;
 +  
 +  # autoriser l'interface 'lo'
 +  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://www.docunext.com/wiki/Ferm
 +
 +Si vous avez un message comme ça (au boot par exemple):
 +  iptables-save v1.4.2: Unable to open /proc/net/ip_tables_names: No such file or directory
 +
 +C'est parce que le module "ip_tables" n'est pas chargé:
 +  # modprobe ip_tables
 +
 +Et pour le prochain boot, ajouter dans **''/etc/modules''** :
 +  ip_tables
 +
 ====== iptables ====== ====== iptables ======
  
reseaux_iptables.1278676612.txt.gz · Dernière modification : 2010/07/09 11:56 de thierry