Renforcement de la sécurité des ports avec Iptables
Protection des services sensibles à l'aide de chaînes de vérification personnalisées.
Iptables est l'outil en ligne de commande standard pour gérer le pare-feu Netfilter sous Linux. Il permet un filtrage granulaire du trafic selon des critères spécifiques. La protection contre le scan de ports repose sur la constitution d'une « liste blanche » d'adresses IP de confiance pour les services restreints.
Concepts fondamentaux
Une gestion efficace du pare-feu s'appuie sur trois éléments clés :
- Table : Un groupe de chaînes fonctionnelles (la table
filterest active par défaut). - Chaîne (Chain) : Une séquence ordonnée de règles que les paquets doivent traverser (p. ex.
INPUTpour le trafic entrant). - Règle (Rule) : Un ensemble de conditions et une action. Si un paquet correspond aux critères, une action telle que
ACCEPTouDROPest exécutée.
Mise en place d'une chaîne « antiscan » personnalisée
La création d'une chaîne antiscan dédiée est une bonne pratique pour centraliser la gestion des accès. Elle permet de séparer les restrictions propres à certains services de la chaîne INPUT principale.
1. Créer la chaîne personnalisée :
iptables -N antiscan
2. Ajouter les adresses IP de confiance à la liste blanche : Ajoutez les adresses IP autorisées à accéder aux ports restreints.
# Remplacez par les adresses IP réelles de l'administrateur ou du bureau
iptables -A antiscan -s 1.1.1.1 -j ACCEPT
iptables -A antiscan -s 2.2.2.2 -j ACCEPT
3. Bloquer tout autre trafic : La dernière règle de la chaîne garantit que les adresses IP non autorisées sont bloquées.
iptables -A antiscan -j DROP
4. Rediriger le trafic de ports spécifiques vers la chaîne antiscan : Le trafic ciblant des ports sensibles est redirigé vers la chaîne personnalisée pour vérification.
Pour les ports TCP (p. ex. bases de données, serveurs de messagerie, panneaux de contrôle) :
iptables -I INPUT -p tcp --match multiport --dports 25,3306,8083 -j antiscan
Pour les ports UDP (p. ex. SNMP, RPC) :
iptables -I INPUT -p udp --match multiport --dports 111,161 -j antiscan
Rendre les règles persistantes
Les configurations Iptables standard sont volatiles et sont effacées au redémarrage. Pour garantir leur persistance :
Debian / Ubuntu
iptables-save > /etc/iptables.rules
# Créer un script de démarrage réseau
echo -e '#!/bin/bash\niptables-restore < /etc/iptables.rules' > /etc/network/if-pre-up.d/iptablesup
chmod +x /etc/network/if-pre-up.d/iptablesup
Remarque
L'installation du paquet iptables-persistent est recommandée pour une gestion automatisée sur les distributions récentes.
Points d'attention
- Ordre des règles : les règles sont traitées séquentiellement de haut en bas. Dès qu'une correspondance est trouvée, les règles suivantes ne sont plus évaluées.
- Accès SSH : vérifiez que le port SSH (22 par défaut) n'est pas bloqué par inadvertance afin d'éviter toute perte d'accès distant.
- Tests : la connectivité doit être vérifiée depuis une adresse IP de la liste blanche et depuis une adresse externe pour valider la logique du pare-feu.
Aide
Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !