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.
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.