Anstatt eine Lösung zu geben lighttpd
, würde ich empfehlen, fail2ban zu verwenden, das auf allen Unix-basierten Systemen vorhanden ist. Es überwacht die Änderungen in Protokolldateien und analysiert sie gemäß den Regeln für reguläre Ausdrücke. Im Fall eines übereinstimmenden Musters (in Ihrem Fall HTTP / 1.0) wird es auf Firewall-Ebene des Systems blockiert, wodurch unerwünschte Verbindungen wirksamer blockiert werden.
Wenn anormaler Datenverkehr auftritt, bei dem mehr böswillige Anforderungen als bei normalen Anforderungen angezeigt werden, können Sie die folgenden Firewall-Regeln hinzufügen, um den DDoS-Angriff zu verlangsamen
iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 127 -j ACCEPT
Wenn Sie immer noch HTTP / 1.0 auf der lighttpd
Ebene blockieren möchten, versuchen Sie, das HTTP-Protokoll folgendermaßen anzupassen:
env.SERVER_PROTOCOL == "HTTP/1.0" { url.access-deny = ( "" ) }
(Die Lösung wurde nicht getestet, seit ich vor nginx
langer Zeit gewechselt habe, aber AFAIR könnte es funktionieren.)