
Eu tenho a seguinte regra para iptables
:
-A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
de forma que as conexões de saída não classificadas como estabelecidas sejam registradas. Ocasionalmente, o log de saída do firewall capturava esses pacotes:
09:56:48 DST=a.b.167.208 TTL=64 SPT=80 DPT=25960 WINDOW=119 ACK URGP=0
09:48:48 DST=a.b.166.231 TTL=64 SPT=80 DPT=29861 WINDOW=119 ACK PSH URGP=0
09:29:57 DST=a.b.167.244 TTL=64 SPT=80 DPT=58244 WINDOW=119 ACK URGP=0
Após um exame mais aprofundado, o log de acesso ao servidor web revela que há conexões de entrada correspondentes aos endereços IP acima, 75-100s anteriormente.
Por que as conexões acima não são classificadas como estabelecidas pelo módulo conntrack? E o que poderia ser feito para filtrar o ruído?
Responder1
Pelo que entendi, uma conexão TCP só entra no ESTABLISHED
estadodepoiso ACK
processo foi concluído e os ACK
pacotes são exatamente o que você parece estar registrando (e bloqueando) lá.
http://www.iptables.info/en/connection-state.html#TCPCONNECTIONS
Você tentou --ctstate ESTABLISHED,RELATED
?
Ao registrar isso "ocasionalmente", como você disse: dmesg/syslog não capturará todos os pacotes. Se muitas mensagens semelhantes chegarem, elas serão descartadas para evitar sobrecarga de logs. Isso é configurável, mas está além do escopo desta questão.