In Windows XP SP2 und Windows Vista haben viele Benutzer nach einem gepatchten tcpip.sys-Hack oder Auto-Patcher gesucht, der das TCP/IP-Limit für halboffene gleichzeitige Verbindungen ohne Obergrenze aufhebt. Bei einem Webserver, der dem Internet ausgesetzt ist, kann der umgekehrte Fall zutreffen, wo es erforderlich sein kann, die maximale Anzahl eingehender TCP-Verbindungen zu einem Webserver, die gleichzeitig zulässig sind, zu begrenzen und einzuschränken.
Die Begrenzung der maximal eingehenden TCP-Webverbindungen zum Webserver ist nützlich, um DDoS- (Distributed Denial of Service) oder DoS- (Denial of Service) Angriffe zu verhindern oder besser noch zu stoppen. DDoS-Angriffe können eine enorme Menge an Systemressourcen und CPU-Last verbrauchen, die Bereitstellungszeit der Webseite oder die Reaktionszeit für legitime Besucher verlangsamen. Und im schlimmsten Fall kann der Angriff den Webserver aufhängen und vollständig zum Erliegen bringen, selbst wenn Sie einen dedizierten Dual-Quad-Core-CPU-Server mit mehreren GB Arbeitsspeicher haben.
Um Denial-of-Service-Angriffe zu verhindern und darauf zu reagieren, ist es neben der Verwendung von Firewall- oder SYN-Cookies auch möglich, die Anzahl der TCP-Verbindungen zu begrenzen, die der Server pro Sekunde akzeptieren kann. Das Konzept kann auch angewendet werden, wenn eine Webseite gegraben, gestolpert oder gefarkt wird, was in kurzer Zeit eine große Anzahl von Zuschauern bringt. Diese Problemumgehung soll jedoch nur dafür sorgen, dass der Server „überlebt“ und nicht durch eine große Anzahl von Verbindungen vollständig zum Erliegen kommt. Und die Einschränkung gilt auch für gültige menschliche Besucher der auf dem Server gehosteten Websites, wenn die Einschränkung ihre Grenze erreicht und neue Verbindungen aktiv verweigert.
Der Administrator kann iptables verwenden, um die maximal zulässige Anzahl von TCP-Verbindungen zum Server pro Sekunde festzulegen. Um das Limit zu konfigurieren, melden Sie sich als root an der Shell an und führen Sie die folgenden Befehle aus, wobei Sie
iptables -t nat -N syn-flood iptables -t nat -A syn-flood -m limit –limit <n>/s –limit-burst <m> -j RETURN iptables -t nat -A syn-flood -j DROP iptables -t nat -A PREROUTING -i $EXT_IFACE -d $DEST_IP -p tcp –syn -j syn-flood
Die obigen Befehle begrenzen die maximale Anzahl von TCP-Verbindungen, die eine Verbindung zum Webserver herstellen können, auf n Verbindungen pro Sekunde, nach m Verbindungen wurden hergestellt. Es gibt keine feste Zahl für die Anzahl der Verbindungen, die Sie einstellen können. Wenn der Server leistungsfähig ist, ist es möglich, die zu handhabenden Werte zu erhöhen und mehr Verbindungen zu akzeptieren, um Drop-Verbindungen zu reduzieren. Versuchen Sie, die besten Werte für Ihren Server einzustellen.