Outils pour utilisateurs

Outils du site


iptables

Différences

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

Lien vers cette vue comparative

iptables [2016/02/16 23:11] (Version actuelle)
Ligne 1: Ligne 1:
 +====== À propos ======
 +[[wpfr>​Netfilter]] est un module de Linux qui remplit les fonctions de pare-feu, de traduction d'​adresse et d'​historisation du trafic réseau. Et, [[wpfr>​Iptables]] est l'​interface permettant de configurer Netfilter.
 +
 +====== Configuration ======
 +
 +L'​objectif est de bloquer par défaut tout le trafic entrant et ensuite d'​autoriser au cas par cas le trafic pour les services qu'on souhaite (web, mail...). Pour cela, il faut créer des règles.
 +
 +La commande suivante permet de visualiser les règles actuelles :
 +<​code>#​ iptables -L</​code>​
 +Par défaut, tous les trafics est autorisés.
 +
 +On crée un fichier qui va contenir les nouvelles règles (**iptables.rules** par exemple). Voilà un exemple de règles basiques :
 +<​code>​
 +*filter
 +
 +# Autoriser le trafic local et bloquer le trafic ne passant pas par l'​interface lo0
 +-A INPUT -i lo -j ACCEPT
 +-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
 +
 +# Autoriser le trafic entrant d'une connexion déjà établie
 +-A INPUT -m state --state ESTABLISHED,​RELATED -j ACCEPT
 +
 +# Autoriser tout le trafic sortant
 +-A OUTPUT -j ACCEPT
 +
 +# Autoriser les connexions HTTP and HTTPS
 +-A INPUT -p tcp --dport 80 -j ACCEPT
 +-A INPUT -p tcp --dport 443 -j ACCEPT
 +
 +# Autoriser les connexions SSH
 +-A INPUT -p tcp --dport 22 -j ACCEPT
 +
 +# Autoriser les requêtes ICMP (ping)
 +-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
 +
 +# Bloquer le reste du trafic
 +-A INPUT -j REJECT
 +-A FORWARD -j REJECT
 +
 +COMMIT
 +</​code>​
 +
 +Pour activer ces nouvelles règles, il suffit de faire :
 +<​code>#​ iptables-restore < iptables.rules</​code>​
 +
 +Pour activer ces règles au démarrage du serveur, il suffit de créer un script (nommé par exemple **iptables-script**) dans /​etc/​init.d/​ dans le format est la suivante :
 +<​code>​
 +#!/bin/sh
 +case "​$1"​ in
 +  start|""​) ​
 +        # commandes lancees au démarrage
 +        iptables-restore < /​root/​iptables.rules
 +        ;;
 +  stop)   
 +        # à l'​arret
 +        exit 0
 +        ;;
 +  *)
 +        exit 3
 +        ;;
 +esac
 +</​code>​
 +
 +Puis rendre le script exécutable :
 +<​code>​chmod +x /​etc/​init.d/​iptables-script</​code>​
 +
 +Enfin, pour que le script soit lancé au démarrage, il faut le rajouter aux runlevels avec la commande update-rc.d :
 +<​code>​update-rc.d iptables-script defaults 99</​code>​
 +
 +**__Source__** : http://​wiki.debian.org/​iptables
  
iptables.txt · Dernière modification: 2016/02/16 23:11 (modification externe)