Sur Linux basé sur Red Hat, iptables est fourni avec certaines règles par défaut. C'est une bonne idée de les nettoyer et de recommencer à zéro.
Cet article fait partie d'une série de tutoriels iptables en cours. Ceci est le 2e article de cette série. Dans notre 1ère partie, nous avons discuté des tables IPTables, des chaînes, des principes fondamentaux des règles.
Avant de commencer à apprendre à ajouter des règles de pare-feu à l'aide d'iptables, il est utile de comprendre comment nettoyer toutes les règles par défaut existantes et tout recommencer à zéro.
Règles par défaut dans IPTables
Démarrez le pare-feu iptables comme indiqué ci-dessous.
# service iptables status Firewall is stopped. # service iptables start Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Vous pouvez voir les règles par défaut sous :iptables -> Filter Table -> RH-Firewall-1-INPUT Chain, comme indiqué ci-dessous. Vous pouvez également utiliser ‘iptables –list’ pour afficher toutes les règles.
# service iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Les règles IPTables sont stockées dans /etc/sysconfig/iptables
Veuillez noter que les règles iptables sont stockées dans le fichier /etc/sysconfig/iptables. Si vous affichez ce fichier, vous verrez toutes les règles par défaut.
# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
Supprimer temporairement toutes les règles de pare-feu
Utilisez l'option "iptables -flush" pour supprimer temporairement toutes les règles.
# iptables --flush # iptables --list 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 Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination
Après le "iptables -flush", si vous redémarrez iptables, vous verrez à nouveau toutes les règles par défaut. Ainsi, –flush n'est que temporaire.
# service iptables stop # service iptables start # iptables --list
Supprimer définitivement toutes les règles de pare-feu par défaut
Avant de supprimer toutes les règles de pare-feu, vous verrez ce qui suit dans le fichier /etc/sysconfig/iptables.
# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
Tout d'abord, videz toutes ces règles temporairement, comme nous l'avons vu ci-dessus.
# iptables --flush
Ensuite, enregistrez les iptables actuels (qui sont vides, car nous venons de les vider) dans le fichier /etc/sysconfig/iptables pour une utilisation permanente à l'aide de "service iptables save"
# service iptables save Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
Enfin, consultez le fichier /etc/sysconfig/iptables pour vous assurer qu'il n'y a pas de règles.
# cat /etc/sysconfig/iptables # Generated by iptables-save v1.3.5 on Thu Oct 28 08:44:01 2010 *filter :INPUT ACCEPT [102:7668] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [78:8560] COMMIT # Completed on Thu Oct 28 08:44:01 2010
Maintenant, si vous arrêtez et démarrez iptables, vous ne verrez plus les règles par défaut. Alors, n'oubliez pas de faire "service iptables save" pour rendre le "iptables -flush" permanent.
# service iptables stop # service iptables start # iptables --list
Vous comprenez maintenant les principes fondamentaux d'iptables et comment nettoyer toutes les règles existantes pour repartir de zéro. Dans notre prochain article, vous apprendrez comment commencer à ajouter de nouvelles règles de pare-feu iptables avec plusieurs exemples pratiques.