Vantagem de usar “--syn” para corresponder novas conexões TCP

2

Eu vi uma técnica semelhante usada em vários exemplos de iptables para corresponder novas conexões:

-A INPUT -p tcp -m tcp --dport 443 --syn -m conntrack --ctstate NEW -j SSH

Como visto acima, as conexões TCP são verificadas em relação a sinalizadores TCP (SYN tem que ser 1 e RST, ACK e FIN 0) pelo módulo tcp além de --ctstate NEW de conntrack module. Isso fornece alguma vantagem sobre isso:

-A INPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW -j SSH

Minha suposição é que isso ocorre porque os módulos de correspondência são avaliados na ordem em que são especificados na regra e sem --syn , all os pacotes TCP para a porta 443 seriam transmitidos de tcp módulo para conntrack module. Em outras palavras, --syn deve fornecer esse paradigma fail-fast.

    
por Martin 21.03.2018 / 17:34

1 resposta

2

In other words, --syn should provide this fail-fast paradigm.

Isso é muito bonito. Na prática, é o mecanismo de extensão que está causando curto-circuito; a página de manual diz

Matches are evaluated first to last as specified on the command line and work in short-circuit fashion, i.e. if one extension yields false, evaluation will stop.

No caso acima, a regra usa duas extensões: a extensão tcp , que processa --dport e --syn , seguida pela extensão conntrack , que processa --ctstate . Se a extensão tcp não corresponder, a extensão conntrack será totalmente ignorada.

    
por 21.03.2018 / 17:52

Tags