Quelques règles iptables à des fin de production

Portrait de kinder

Voici quelques règles iptables qui peuvent être pratique dans certains cas:

Autoriser le traffic déjà établi ou liés à des connexions sortantes sur l'interface eth0:
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

Bloques les requêtes mal formées:
iptables -A INPUT -i eth0 -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP

Limiter à 5 connexions en 30 secondes puis bloquer si la limite est dépassée sur le port 17 seulement sur l'IP X.X.X.X du serveur:
iptables -A INPUT -i eth0 -d X.X.X.X -p tcp --dport 17 -m state --state NEW -m recent --set --name PORT
iptables -A INPUT -i eth0 -d X.X.X.X -p tcp --dport 17 -m state --state NEW -m recent --update --seconds 30 --hitcount 5 --rttl --name PORT -j DROP
iptables -A INPUT -i eth0 -d X.X.X.X -p tcp --dport 17 -j ACCEPT

Limiter le web à 750 connexions simultanées par IP de même pour le HTTPS à 450:
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m connlimit --connlimit-above 750 --connlimit-mask 32 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW -m connlimit --connlimit-above 450 --connlimit-mask 32 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Interdire aux utilisateurs du groupe www-sftp à contacter Internet sur l'interface eth0:
iptables -A OUTPUT -o eth0 -m owner --gid-owner www-sftp -j DROP

Autoriser les mail entrants sur l'interface eth0 et l'IP X.X.X.X
iptables -A INPUT -i eth0 -d X.X.X.X -p tcp --dport 25 -j ACCEPT

Rediriger le port 5556 vers le port 6667
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5666 -j REDIRECT --to-ports 6667

Autoriser les requêtes ICMP sur eth0:
iptables -A INPUT -i eth0 -p ICMP --icmp-type echo-request -j ACCEPT

Autoriser NTP en entrée sur eth0:
iptables -A INPUT -i eth0 -p udp --sport 123 -j ACCEPT

Bloquer tout le reste du traffic sur eth0:
iptables -A INPUT -i eth0 -j DROP

Et voilà !