Resets schließender Verbindungen ignorieren
Schützt vor einem Trick, der eine Verbindung beendet, indem er während des Abbaus einen gefälschten Reset sendet.
Warum es wichtig ist
Nach dem Schließen einer TCP-Verbindung hält der Kernel ihren Eintrag kurz in einem Zustand namens TIME-WAIT, damit verirrte Pakete nicht für eine neue Verbindung gehalten werden. Ein gefälschtes Reset-Paket in dieser Zeit kann den Eintrag vorzeitig zerstören, was Verwirrung und Übernahme Tür und Tor öffnet. Das nennt man TIME-WAIT assassination.
Wie es funktioniert
Setzt net.ipv4.tcp_rfc1337 auf 1. Reset-Pakete (RST), die für einen Socket im Zustand TIME-WAIT eintreffen, werden dann verworfen, statt den Zustand vorzeitig zu beenden.
Für wen es sich eignet
Für nahezu jeden Rechner in Ordnung. Es weicht etwas vom strengen TCP-Verhalten in der Weise ab, die RFC 1337 vorschlägt, daher möchte ein Team mit ungewöhnlicher Netzwerkhardware es zuerst testen.
Was Sie bemerken könnten
Nichts im Alltag. Die Verbindung verhält sich wie immer, auch mit eingeschalteter Schutz, und kein Netzwerkwerkzeug hört deswegen auf zu funktionieren.
Auf Ihrem Computer prüfen
Den aktuellen Wert lesen:
sysctl net.ipv4.tcp_rfc1337 Von Hand anwenden
Jetzt setzen (bis zum nächsten Neustart):
sudo sysctl -w net.ipv4.tcp_rfc1337=1 Nach Neustarts beibehalten, in einer eigenen Datei:
sudo tee /etc/sysctl.d/90-net-tcp-rfc1337.conf <<'EOF'
net.ipv4.tcp_rfc1337 = 1
EOF
sudo sysctl --system Rückgängig machen
Entfernen Sie die Datei und starten Sie neu, oder setzen Sie den alten Wert mit sysctl -w zurück.
Verwandte Einstellungen
Quellen
- Linux Hardening Guide (madaidans)
- 2.2.2