Configurer un Firewall (ou pare-feu) est un point essentiel dans la sécurité de votre système d’exploitation. La plupart des distributions Linux propose un outil de gestion de règles de filtrage appelé iptables.

Dans ce guide nous verrons comment créer des règles iptables pour filtrer un trafic non désiré. Toutes les manipulations seront réalisées sur une distribution Debian Wheezy.

iptables

 

Quelques règles iptables basiques

La première chose à savoir est que les règles iptables s’écrivent avec les privilèges de l’utilisateur ROOT.

Ensuite, nous commençons par lister les règles créées par défaut sur votre VPS :

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

 

Nous pouvons voir les trois chaines par défaut (INPUT, FORWARD, OUTPUT), ainsi que leur politique par défaut (policy ACCEPT).

INPUT : Chaîne qui analyse les paquets entrants
FORWARD :  Chaîne qui analyse les paquets destinés à un autre serveur
OUPUT :  Chaîne qui analyse les paquets sortants

policy ACCEPT : Par défaut on accepte le trafic sur la chaîne concernée
policy DROP : Par défaut on refuse le trafic sur la chaîne concernée

 

Nous pourrions choisir de bloquer par défaut le trafic entrant (attention de ne pas bloquer l’accès à votre serveur accessible uniqement en SSH) :

iptables -P INPUT DROP
Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

 

 

Ecrire des règles iptables plus complexes

Prenons le cas pratique suivant, sur notre VPS nous désirons refuser tous le trafic sauf celui à destination du service SSH (port TCP 22) et du service WEB (port TCP 80).

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP

 

La première règle permet d’accepter le trafic entrant sur le port TCP 22, la seconde sur le port TCP 80.

La troisième règle bloque tout le reste. Faites très attention à l’ordre dans lequel vous écrivez ces règles. Si vous fermez le trafic entrant avant d’avoir autorisé le trafic sur le port 22, l’accès SSH à votre VPS ne sera plus possible.

-A INPUT : On ajoute une règle dans la chaîne INPUT
-p tcp : La règle va concerné les paquets utilisant le protocole TCP
–dport : On analyse les paquets à destination du port donné
-j ACCEPT : On définie l’action à réaliser sur les paquets filtrés

 

Pour supprimer ces règles et revenir aux paramètres par défaut :

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

 

 

INFO : Tous nos Serveurs Dédiés VPS sont livrés un avec pare-feu logiciel paramétrable depuis l’espace client LWS. La mise en place de règles personnalisées à l’intérieur du VPS doit être réservée aux personnes ayant une pleine compréhension de ce qu’est un firewall.