Créer un pare-feu avec iptables
Protéger votre Raspberry Pi avec iptables
Iptables est un outil de filtrage de paquets réseau qui permet de contrôler le trafic entrant et sortant de votre Raspberry Pi.
En configurant correctement iptables, vous pouvez renforcer la sécurité de votre appareil en bloquant les connexions non autorisées et en autorisant uniquement les services nécessaires.
En configurant correctement iptables, vous pouvez renforcer la sécurité de votre appareil en bloquant les connexions non autorisées et en autorisant uniquement les services nécessaires.
Principe de fonctionnement
Iptables fonctionne en utilisant des règles qui définissent comment traiter les paquets réseau. Ces règles sont organisées en chaînes (INPUT, OUTPUT, FORWARD) et en tables (filter, nat, mangle).
Chaque règle spécifie des critères de correspondance (par exemple, adresse IP source, port de destination) et une action à effectuer (ACCEPT, DROP, REJECT). Si aucune règle ne correspond à un paquet, iptables applique une règle par défaut (par exemple, DROP ou ACCEPT).
Chaque règle spécifie des critères de correspondance (par exemple, adresse IP source, port de destination) et une action à effectuer (ACCEPT, DROP, REJECT). Si aucune règle ne correspond à un paquet, iptables applique une règle par défaut (par exemple, DROP ou ACCEPT).
Exemple de configuration
Voici un exemple de configuration basique pour sécuriser votre Raspberry Pi avec iptables :
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP
Cette configuration permet les connexions établies et les connexions SSH (port 22), et bloque toutes les autres connexions entrantes.
Enregistrer les règles
Pour que vos règles iptables soient persistantes après un redémarrage, vous devez les enregistrer. Sur un Raspberry Pi, vous pouvez utiliser le paquet `iptables-persistent` :
sudo apt-get install iptables-persistent
Cette commande installe le paquet qui permet de sauvegarder les règles iptables.
Ensuite, vous pouvez enregistrer vos règles actuelles avec la commande suivante :
sudo netfilter-persistent save
Règles de base
Voici quelques règles de base que vous pouvez ajouter à votre configuration iptables pour renforcer la sécurité de votre Raspberry Pi :
# comportement par défaut
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# Autoriser les connexions établies et liées
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Autoriser les connexions SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Autoriser les connexions HTTP et HTTPS
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Bloquer les connexions ICMP (ping)
sudo iptables -A INPUT -p icmp -j DROP