IpTable, explication d'une règle
clemccm
Messages postés
2
Statut
Membre
-
clemccm Messages postés 2 Statut Membre -
clemccm Messages postés 2 Statut Membre -
Salut la communauté !
Voilà je n'arrive pas à bien cerner la règle iptables suivantes :
-A INPUT -i eth0 -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
Ca veut dire qu'on rejette tout ce qui est NEW sauf si tous les flags sont mis ?
C'est pas clair dans ma tête !
Voilà je n'arrive pas à bien cerner la règle iptables suivantes :
-A INPUT -i eth0 -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
Ca veut dire qu'on rejette tout ce qui est NEW sauf si tous les flags sont mis ?
C'est pas clair dans ma tête !
4 réponses
-
Mon precedent poste est faux car je n'avais pas regarde la doc d'iptables:
Voila la partie de "man iptables" pour ca:
--tcp-flags [!] mask comp
Match when the TCP flags are as specified. The
first argument is the flags which we should exam
ine, written as a comma-separated list, and the
second argument is a comma-separated list of flags
Mar 09, 2002 15
which must be set. Flags are: SYN ACK FIN RST URG
PSH ALL NONE. Hence the command
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN
will only match packets with the SYN flag set, and
the ACK, FIN and RST flags unset.
donc:--tcp-flags SYN,RST,ACK SYN
veux dire que le flag SYN doit etre est mis et les deux autres RST,ACK ne doivent pas etre mis!
Maintenat que veux dire ?! --tcp-flags SYN,RST,ACK SYN
C'est (en theorie) le contraire logique du precedent, c.-a-d.:
SYN n'est pas mis ou RST est mis ou ACK est mis.
Finalement en plus de ca il faut que l'etat = NEW (state=NEW).
Autrement dit:
C'est rejete (plutot "jete" pour DROP au lieu de REJECT) si
l'etat=NEW sauf si [le flag SYN est mis et les deux autres RST,ACK ne sont pas mis].
Effectivement cette regle avec les flags est logiquement assez subtils, il faut bien faire attention! -
Salut,
Si tu n'as pas compris la difference entre REJECT et DROP.
REJECT est utilisé pour renvoyer un paquet erroné en réponse au paquet qui correspond . (donc il y a une trace que tu existesur net)
DROP signifie que le paquet est laissé de coté. (ici tu es en mode furtif).
En fait -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP veut dire que tu drop les paquets avec SYN non positionné et avec RST et ACK positionné (plutôt que -
Je crois ca rejete (ou plutot ca "jete")
si "etat = NEW" (state=NEW)
et
si les options SYN,RST,ACK SYN ne sont pas mises
donc c'est effectivement comme tu dis:
on rejette tout ce qui est NEW sauf si tous les flags sont mis
avec la toute petite precision ce n'est pas "rejete" (REJECT) mais "jete" (DROP). -