iptables NUOVE connessioni vs. --syn


13

Qual è la differenza tra:

iptables ... -m state --state NEW

e

iptables ... --syn

Il primo dovrebbe selezionare NUOVE connessioni, ma le nuove connessioni AFAIK vengono effettuate inviando un flag di sincronizzazione TCP. L'altro significa proprio questo: pacchetti con un flag syn.

Puoi fare qualche esempio pratico quando i comandi sopra riportati restituiscono risultati diversi?

Risposte:


8

Il --synflag è utile per controllare il traffico TCP, ma lo NEWstato può essere utilizzato per altri protocolli (inclusi TCP) come UDPe ICMP. Posso dire che NEWè più generale --syndell'opzione TCP.

Dal manuale di iptables, puoi leggere:

NEW    meaning that the packet has started a new connection,
       or otherwise associated with a connection which has not seen packets in both directions

Un esempio, una richiesta DNS corrisponderà allo NEWstato, ma non corrisponderà a una regola con --synopzione. Semplicemente, è un datagramma UDP.

Inoltre, è --synpossibile utilizzare l' opzione per verificare la presenza di pacchetti TCP con combinazione di flag non validi per eliminarli.

Inoltre, è possibile utilizzare entrambe queste opzioni insieme per controllare i NEWflussi TCP senza --synil primo pacchetto e rilasciarli come:

$ sudo iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

Qui, stiamo aggiungendo questi tipi di pacchetti a una catena definita dall'utente chiamata bad_tcp_packetsper essere rilasciata / registrata, ecc ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.