Halboffene Verbindungen treiben dich in den Wahnsinn
24. Oktober 2008 in In eigener Sache
Vor einiger Zeit weigerte sicher der Server neue Verbindungen aufzubauen… Schuld daran waren SYN-Flood-Attacken. DoS-Angriffe belasten die Dienste eines Servers mit einer großen Anzahl an Anfragen, die sie nicht mehr bearbeiten können. Die Dienste stoppen oder nehmen für die Beantwortung der regulären Anfragen zuviel Zeit in Anspruch, dass diese einfach abgebrochen werden.
SYN-Flood-Angriffe verwenden den Verbindungsaufbau des TCP-Transportprotokolls, um einzelne Dienste unerreichbar zu machen.
Funktionsweise
Beim Verbindungsaufbau führen Client und Server einen so genannten Dreiwege-Handshake durch:
- Der Client fordert eine Abgleichung mit dem Server an (synchronize)
- Der Server bestätigt die Abgleichung (synchronize acknowledge)
- Der Client bestätigt den Verbindungsaufbau (acknowledge). Die Verbindung ist nun hergestellt.
Bei einer SYN-Flood-Attacke bleibt die Bestätigung des Clients aus, der Server wartet nun auf eine Antwort. Die halboffene Verbindung bleibt aufrecht und belegt Ressourcen auf dem Server. Sind diese aufgebraucht, können keine neuen Verbindungen mehr aufgebaut werden.
Gegenmaßnahme
Geholfen hat der SYN-Cookie-Mechanismus, der auf Linux Systeme sehr einfach zu aktivieren ist:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
