Pour bloquer toutes les connexion entrantes avec iptables à l'exception des ports SSH et du protocole ICMP, voici les commandes à exécuter :
Vider toutes les règles iptables
iptables -Fiptables -F -t mangleiptables -F -t natiptables -Xiptables -X -t mangleiptables -X -t nat
Bloquer toutes les connexions entrantes
iptables -P INPUT DROPiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Autoriser les connexions provenant de l'interface de loopback
iptables -A INPUT -i lo -j ACCEPT
Autoriser le protocole icmp
iptables -A INPUT -p icmp -j ACCEPT
Autoriser le port 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Autoriser toutes les connexions sortantes
iptables -P OUTPUT ACCEPT
Autoriser un nouveau port
iptables -L INPUT --line-numbersiptables -D INPUT <id>iptables -A INPUT -p tcp -m tcp --dport <new_port> -j ACCEPTiptables -A INPUT -j DROP
Persister la configuration
Sur Arch Linux :
iptables-save > /etc/iptables/iptables.rulessudo systemctl enable --now iptables.service