Une petite chose interressante à savoir à propos du flag NEW d'iptables : Toute tentative de connexion non précédement enregistré dans la table est considéré comme nouvelle.
Ainsi tu peux te retrouver avec un paquet ayant le flag ACK mais pas de flag SYN accepté comme nouvelle connexion. Et moi, j'aime pas ca, c'est pas propre car une connexion TCP se fait en 3 états et vouloir les sauter n'est jamais une bonne idées ;)
Ensuite, pourquoi considère tu les connexion ESTABLISHED, RELATED, mais jamais NEW ?
Donc je verrais au final un script ressemblant plus à ca :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED ! --syn -j ACCEPT
# regles pour serveur web
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW --syn -j ACCEPT
# regles ssh (modification du port par defaut)
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW --syn -m recent --set
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 2 -j DROP
# regles icmp (permet le ping de l'hebergeur vers mon serveur web)
iptables -A INPUT -i eth0 -p icmp --source IP de l'hebergeur -j ACCEPT
iptables -A INPUT -i eth0 -j REJECT
Ensuite, comme dit au dessus, bloquer l'icmp, ca fait jolie, mais ca ne fait que retarder de quelques minutes les infos. Alors que pour les utilisateurs, ca peut etre utile (négociation du mtu et autres). Surtout que tu ne t'autorise meme pas le ping sur ta propre machine la ;)
# .
Posté par Toto . En réponse au message Iptables sur serveur web. Évalué à 3.
Ainsi tu peux te retrouver avec un paquet ayant le flag ACK mais pas de flag SYN accepté comme nouvelle connexion. Et moi, j'aime pas ca, c'est pas propre car une connexion TCP se fait en 3 états et vouloir les sauter n'est jamais une bonne idées ;)
Ensuite, pourquoi considère tu les connexion ESTABLISHED, RELATED, mais jamais NEW ?
Donc je verrais au final un script ressemblant plus à ca :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED ! --syn -j ACCEPT
# regles pour serveur web
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW --syn -j ACCEPT
# regles ssh (modification du port par defaut)
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW --syn -m recent --set
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 2 -j DROP
# regles icmp (permet le ping de l'hebergeur vers mon serveur web)
iptables -A INPUT -i eth0 -p icmp --source IP de l'hebergeur -j ACCEPT
iptables -A INPUT -i eth0 -j REJECT
Ensuite, comme dit au dessus, bloquer l'icmp, ca fait jolie, mais ca ne fait que retarder de quelques minutes les infos. Alors que pour les utilisateurs, ca peut etre utile (négociation du mtu et autres). Surtout que tu ne t'autorise meme pas le ping sur ta propre machine la ;)