Iptables
Updated 11 Mars 2019
Installer iptables
emerge -av net-firewall/iptables
Commandes de contrôle Iptables
Vérifier l'état
/etc/init.d/iptables status
Démarrer le service
/etc/init.d/iptables start
Arrêter le service
/etc/init.d/iptables stop
Redémarrer le service
/etc/init.d/iptables restart
Ajouter au démarrage automatique
rc-update add iptables default
Si vous ajoutez des règles manuellement, les règles en vigueur doivent être sauvegardées dans /var/lib/iptables/rules-save pour qu'elles soient appliquées au démarrage du système :
/etc/init.d/iptables save
Créer un script avec les règles d'iptables
Tip Pour ajuster rapidement les paramètres d'iptables, nous recommandons d'éditer le script de paramétrage. et une meilleure visibilité de la nouvelle configuration.
Créez le script iptables.sh où vous voulez sur votre disque et remplissez-le avec les paramètres nécessaires:
/root/iptables.sh
#!/bin/bash # Clear all iptables chains iptables -F iptables -X iptables -Z # Policies for traffic that does not comply to any rule iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # Enable Ping iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Miscellaneous settings iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT iptables -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset # ssh access iptables -A INPUT -p TCP --dport 22 -j ACCEPT # Access to webserver via http and https iptables -A INPUT -p TCP --dport 80 -j ACCEPT iptables -A INPUT -p TCP --dport 443 -j ACCEPT # Save the rules # Calculate/Gentoo saves the iptables rules at /var/lib/iptables/rules-save rc-service iptables save
В конце скрипта указана команда для сохранения настроек
Donnez au script le droit d'être exécuté:
chmod +x /root/iptables.sh
Exécutez le script maintenant:
sh /root/iptables.sh
Voir les informations sur les règles d'iptables
Sur l'absence de règles:
iptables -L -v -n
... Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Sur les règles actuellement en vigueur:
iptables -L -v -n
... Chain INPUT (policy DROP 31 packets, 2260 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11 6 504 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 91 8220 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 flags:0x17/0x02 reject-with tcp-reset 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 80 packets, 9864 bytes) pkts bytes target prot opt in out source destination
Sur les paramètres à appliquer au démarrage:
/var/lib/iptables/rules-save
# iptables-save # Generated by iptables-save v1.4.21 on Tue Dec 5 01:15:23 2017 *filter :INPUT DROP [3:172] :FORWARD DROP [0:0] :OUTPUT ACCEPT [897:354826] :DOCKER - [0:0] :DOCKER-ISOLATION - [0:0] :DOCKER-USER - [0:0] -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT -A INPUT -p tcp -m tcp --dport 113 --tcp-flags FIN,SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT -A FORWARD -j DOCKER-USER -A FORWARD -j DOCKER-ISOLATION -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -o docker0 -j DOCKER -A FORWARD -i docker0 ! -o docker0 -j ACCEPT -A FORWARD -i docker0 -o docker0 -j ACCEPT -A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 9980 -j ACCEPT -A DOCKER-ISOLATION -j RETURN -A DOCKER-USER -j RETURN COMMIT # Completed on Tue Dec 5 01:15:23 2017 # Generated by iptables-save v1.4.21 on Tue Dec 5 01:15:23 2017 *nat :PREROUTING ACCEPT [48:2828] :INPUT ACCEPT [40:2444] :OUTPUT ACCEPT [9:540] :POSTROUTING ACCEPT [9:540] :DOCKER - [0:0] -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE -A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p tcp -m tcp --dport 9980 -j MASQUERADE -A DOCKER -i docker0 -j RETURN -A DOCKER -d 127.0.0.1/32 ! -i docker0 -p tcp -m tcp --dport 9980 -j DNAT --to-destination 172.17.0.2:9980 COMMIT # Completed on Tue Dec 5 01:15:23 2017 # Generated by iptables-save v1.4.21 on Tue Dec 5 01:15:23 2017 *mangle :PREROUTING ACCEPT [25186740:78903988813] :INPUT ACCEPT [25137767:78901761780] :FORWARD ACCEPT [48:4224] :OUTPUT ACCEPT [16725801:4605075841] :POSTROUTING ACCEPT [16725849:4605080065] COMMIT # Completed on Tue Dec 5 01:15:23 2017