Outils pour utilisateurs

Outils du site


iptables

À propos

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, 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 :

# iptables -L

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 :

*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

Pour activer ces nouvelles règles, il suffit de faire :

# iptables-restore < iptables.rules

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 :

#!/bin/sh
case "$1" in
  start|"") 
        # commandes lancees au démarrage
        iptables-restore < /root/iptables.rules
        ;;
  stop)   
        # à l'arret
        exit 0
        ;;
  *)
        exit 3
        ;;
esac

Puis rendre le script exécutable :

chmod +x /etc/init.d/iptables-script

Enfin, pour que le script soit lancé au démarrage, il faut le rajouter aux runlevels avec la commande update-rc.d :

update-rc.d iptables-script defaults 99

Source : http://wiki.debian.org/iptables

iptables.txt · Dernière modification: 2016/02/16 23:11 (modification externe)