Ich habe einen lighttpd-Webserver, der PHP-generierte Webseiten liefert. Dieser Server ist derzeit aufgrund eines DDoS-Bot-Angriffs starkem Datenverkehr ausgesetzt, und ich suche nach einer Möglichkeit, einige davon zu blockieren oder zu mildern.
Lighttpd bietet meines Wissens die Möglichkeit, Anfragen über eine entfernte IP-Adresse zu blockieren, zB durch Putten
$HTTP["remoteip"] == "12.34.56.0/24" {
url.access-deny = ( "" )
}
In lighttpd.conf
werden alle Anfragen aus dem IP-Bereich 12.34.56.0 - 12.34.56.255 blockiert.
Aufgrund der Natur von DDoS ist es jedoch nicht möglich, einzelne IP-Adressen oder Bereiche zu blockieren, da sie sich häufig ändern.
Beim Untersuchen des Zugriffsprotokolls stellte ich fest, dass die meisten Anfragen von Bots das ältere HTTP / 1.0-Protokoll zu verwenden scheinen, während der meiste legitime Datenverkehr HTTP / 1.1 verwendet.
Meine Frage lautet also: Gibt es eine Möglichkeit, alle über HTTP / 1.0 eingehenden Anforderungen zu blockieren / abzulehnen (und diese über HTTP / 1.1 zuzulassen), die in lighttpd eingehen?
Ich konnte eine solche Möglichkeit in der offiziellen Konfigurationsdokumentation von lighttpd nicht finden .
Anmerkungen:
- Ich bin mir bewusst, dass legitimer Datenverkehr möglicherweise auch HTTP / 1.0 verwendet, aber es wäre in Ordnung, auch diese zu blockieren.
- Die Bot-Anfragen scheinen kein gemeinsames Muster für Benutzeragenten oder HTTP-Verweise zu verwenden, daher scheint die Verwendung von solchen mit einem Muster für reguläre Ausdrücke keine Option zu sein.
quelle