Ignorar resets de conexões em encerramento
Protege contra um truque que encerra uma conexão enviando um reset forjado enquanto ela termina.
Por que importa
Depois que uma conexão TCP fecha, o kernel mantém o registro por um tempo num estado chamado TIME-WAIT, para que pacotes atrasados não sejam confundidos com uma conexão nova. Um pacote de reset forjado enviado nesse período pode destruir o registro cedo, abrindo porta para confusão e sequestro. Isso se chama TIME-WAIT assassination.
Como funciona
Define net.ipv4.tcp_rfc1337 como 1. Pacotes de reset (RST) que chegam para um socket em TIME-WAIT passam a ser descartados, em vez de encerrar esse estado antes da hora.
Quem deve usar
Serve para quase qualquer computador. Foge um pouco do comportamento TCP estrito de um jeito que o RFC 1337 sugere, então uma equipe com equipamento de rede incomum pode querer testar antes.
O que você pode notar
Nada no uso diário. A conexão se comporta como sempre, mesmo com a proteção ligada, e nenhuma ferramenta de rede deixa de funcionar por causa dela.
Verifique no seu computador
Leia o valor atual:
sysctl net.ipv4.tcp_rfc1337 Aplique à mão
Defina agora (até a próxima reinicialização):
sudo sysctl -w net.ipv4.tcp_rfc1337=1 Mantenha após reinicializações, em um arquivo seu:
sudo tee /etc/sysctl.d/90-net-tcp-rfc1337.conf <<'EOF'
net.ipv4.tcp_rfc1337 = 1
EOF
sudo sysctl --system Desfaça
Remova o arquivo e reinicie, ou volte ao valor antigo com sysctl -w.
Configurações relacionadas
Fontes
- Linux Hardening Guide (madaidans)
- 2.2.2