iptables

Mis à jour le jeudi 1 février 2024 par johackim

Iptables est un pare-feu pour Linux. Il permet de bloquer ou d'autoriser des connexions entrantes et sortantes.

Bloquer toutes les connexions entrantes

Pour bloquer toutes les connexions entrantes, il faut exécuter la commande suivante :

iptables -P INPUT DROP

Autoriser toutes les connexions sortantes

Pour autoriser toutes les connexions sortantes, il faut exécuter la commande suivante :

iptables -P OUTPUT ACCEPT

Autoriser les connexions provenant de l'interface de loopback

L'interface de loopback permet de communiquer avec le serveur lui-même via l'adresse IP 127.0.0.1.

iptables -A INPUT -i lo -j ACCEPT

Autoriser le protocole ICMP

Le protocole ICMP permet de communiquer avec le serveur via la commande ping.

Pour l'autoriser, il faut exécuter la commande suivante :

iptables -A INPUT -p icmp -j ACCEPT

Autoriser un port spécifique

Pour autoriser un port spécifique (ex: 22 pour SSH), il faut exécuter la commande suivante :

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Autoriser un nouveau port

Lorsque tous les ports sont bloqués, pour autoriser un nouveau port, il faut exécuter les commandes suivantes :

iptables -L INPUT --line-numbers
iptables -D INPUT <id>
iptables -A INPUT -p tcp -m tcp --dport <new_port> -j ACCEPT
iptables -A INPUT -j DROP

Persister la configuration

Pour persister la configuration et permettre à iptables de se lancer au démarrage :

iptables-save > /etc/iptables/iptables.rules
sudo systemctl enable --now iptables.service

Vider toutes les règles iptables

Pour vider toutes les règles iptables, il faut exécuter les commandes suivantes :

iptables -F
iptables -F -t mangle
iptables -F -t nat
iptables -X
iptables -X -t mangle
iptables -X -t nat

Ma configuration personnelle

Voici ma configuration personnelle :

iptables -F
iptables -F -t mangle
iptables -F -t nat
iptables -X
iptables -X -t mangle
iptables -X -t nat
iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP
iptables-save > /etc/iptables/iptables.rules

Elle permet de bloquer toutes les connexions entrantes.


Références :