Partie d'un pare-feu sur un serveur:
iptables -A INPUT -p tcp --dport 22 -m state NEW --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 100 --hitcount 10 -j DROP
Quand je fais des recherches en ligne, je vois toujours le mot NEW utilisé dans cette règle, mais j'ai du mal à comprendre pourquoi ESTABLISHED et RELATED ne sont pas utilisés.
Comme ça :
iptables -A INPUT -p tcp --dport 22 -m state NEW,ESTABLISHED,RELATED --state -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -m recent --update --seconds 100 --hitcount 10 -j DROP
Quelqu'un peut-il m'expliquer quand exactement un NOUVEAU paquet devient ESTABLISHED et RELATED?
SYN
/ACK
/RST
/ etc lors de leur passage dans le routeur, et je m'attendrais à ce que iptables le fasse.Asumming pour le serveur et le client un restrictif
INPUT
et ouvertOUTPUT
, à savoir:Et depuis iptables-extensions (8) sur l'exemple de FTP en mode actif:
1. NOUVEAU
Le client sur le port
50000
(n'importe quel port non privilégié aléatoire) se connecte au serveur FTP sur le port21
, le serveur aurait au moins besoin de cela pour accepter cette connexion entrante:2. ÉTABLI
Maintenant , du côté client, il a ouvert une connexion sortante vers le serveur sur le port à l'
21
aide d' un port local50000
et il a besoin iptables suivantes pour permettre la réponse à arriver deserver (21)
àclient (50000)
:3. LIÉS
Maintenant, une fois que la connexion FTP a été établie et qu'une connexion de données est sur le point d'être établie, le client ouvre un socket de serveur (oui, avec un client FTP actif, il devient un serveur pour la connexion de données) sur le port
60000
(le client, à ma connaissance, marquera ce port).60000
quantRELATED
à l’autre connexion depuis50000->21
) et enverra ce numéro de port au serveur à l’aide de laPORT
commande FTP . Ensuite, le serveur FTP ouvrira une nouvelle connexion de son port20
à un autre60000
sur le client. Et bien, le client a maintenant besoin des éléments suivants pour permettre à cette nouvelle connexion de réussir:Enfin, pour que cela fonctionne, vous devez activer le
ip_conntrack_ftp
module de noyau afin de permettre au système de marquer les connexions / packages de la manière suivanteRELATED
(c'est ce que je comprends, je n'ai pas trop creusé le sujet):la source
INPUT
.