Blog

Verteidigung gegen Slowloris mit HAProxy


RSS Feed Zwitschern

Snapt's blog ist ein großartiger Ort, um auf dem Laufenden halten mit whats los ist! Alternativ können Sie RSS abonnieren Sie unseren Feed oder folge uns auf Twitter oben.

Verteidigung gegen Slowloris mit HAProxy

Slowloris (und jede Art von DoS mit einer ähnlichen Intention) ist ein Tool zu halten bis alle verfügbaren Verbindungen auf einem Apache-Server ohne eine massive DoS-Netzwerk zu dem Host. Das Konzept ist am besten durch die Slowloris Entwickler beschrieben -

Bei der Prüfung der Auswirkungen einer langsamen Denial of Service Angriff gegen bestimmte Dienstleistungen, anstatt Überschwemmungen Netzwerke, entstand ein Konzept, das erlauben würde einer einzigen Maschine zu take down anderen Rechner ins Web-Server mit minimaler Bandbreite und Nebenwirkungen auf unabhängige Dienste und Ports. Die ideale Situation für viele Denial of Service-Attacken ist, wo alle anderen Leistungen erhalten bleiben, aber der Webserver selbst ist völlig unzugänglich. Slowloris war von diesem Konzept geboren, und ist daher relativ sehr stealthy Vergleich zu den meisten Überschwemmungen Tools.

Das Konzept ist einfach - Slowloris sendet teilweise komplette Apache HTTP-Anfragen an und setzt die Überschriften der diese Zusammenhänge machen sicher, dass sie nie geschlossen senden und nicht Timeout. Es ist weiterhin offen mehr und mehr, bis alle verfügbaren Sockets auf dem Server verwendet werden, effektiv zu leugnen Dienst an den Host. Da die tatsächlichen Zugriffe HTTP-Requests sind, und weiterhin Daten gesendet bekommen, dies ist ein besonders gefährlicher Angriff, wie es kann schwer sein, gegen die zu schützen.

Dies ist, wo HAProxy wirklich glänzt. In einem Beitrag auf der Website HAProxy sie erklären, wie HAProxy würde mit einem solchen Angriff umzugehen. Das erste, was zu beachten ist, dass HAProxy leitet nur komplette HTTP-Requests - also alle nicht-vollständige Anträge nie erreichen Sie Server in dem ersten Platz!

Während Apache braucht einen neuen Thread, um eine eingehende Verbindung Prozess muss HAProxy nur 16-32 kB Arbeitsspeicher Sinne kann es weit über Skala, was Ihr Apache-Server (oder auf dem Bauernhof) am ehesten erreichen können. Hinzugefügt diesem können Sie ein Timeout speziell für HTTP-Anfragen hinzuzufügen, so dass HAProxy zu töten, alle nicht-Finishing-Zugriffe (siehe "Timeout http-Request").

Das Schöne an dieser Lösung ist, dass Ihr Apache-Server werden weiterhin jede gültige Anfragen erhalten, während HAProxy saugt und beendet die Verbindungen aus dem Slowloris Werkzeug.

HAProxy hat ihren Aufmachungen ein Drop-in-Konfiguration beispielsweise verhindern, dass diese, abrufbar unter Website oder über diese direkte Verbindung .

Tags: , ,

Lassen Sie eine Antwort