Schutz vor Keep-Dead Denial of Service

8

Ich dachte, mein Server sei mit http-guardian sicher, aber anscheinend nicht. Ein kluger Arsch trifft meinen Server immer wieder mit 'Keep-Dead' und verursacht einen Absturz.

Ich habe die Protokolle durchgesehen, kann aber trotzdem keine Anfragen erkennen, abgesehen von einem normalen Besucher, dessen Browser schnell alle Komponenten auf einer ausgelasteten Seite lädt.

Jeder Rat wäre dankbar.

Tom O'Connor
quelle
1
Oh sorry, ich hätte sagen sollen. Die einzigen Informationen, die ich bisher auf Keep-Dead gefunden habe, sind auf esrun.co.uk/blog/keep-alive-dos-script . Aber es enthält keine Hinweise, wie man es blockiert!
2
Pedantischer Hinweis: Sie sind nie sicher. Wenn jemand schlimm genug sein will, kann er immer einsteigen. Punkt.
Ircmaxell

Antworten:

6

Deaktivieren Sie HTTP Keep-Alive oder installieren Sie einen Server, der davon nicht betroffen ist, als Proxy vor Apache. Nginx wäre hier eine gute Wahl.

Dieser Angriff scheint dem Slowloris-Angriff insofern ähnlich zu sein, als er eine bestimmte Funktion von Apache ausnutzt. Es ist ziemlich trivial, sich dagegen zu verteidigen.

Hinweis: Wenn Sie nginx installieren, deaktivieren Sie Keep-Alive für Apache und lassen Sie es für Nginx aktiviert.

devicenull
quelle
3
Ist es nicht ziemlich wichtig, am Leben zu bleiben? Ich könnte verstehen, es vorübergehend zu deaktivieren, aber dauerhaft?
TheLQ
1
Dies kann zu etwas längeren Ladezeiten führen, aber es ist nicht so, dass Ihre Site nicht für Personen geladen werden kann. Die Installation von Nginx vorne ist eine weitaus bessere Lösung.
Devicenull
1
@devicenull Bedeutet dies, dass der Client von einer Keepalive-Verbindung profitiert, obwohl Apache (oder Upstream-App-Server) Keepalive deaktiviert hat? Sie brauchen also im Grunde keinen App-Server und keinen Proxy-Server, um Keepalive zu aktivieren? Vielen Dank!
Haxpor
@haxpor Das ist eine interessante Frage, ich wünschte, jemand würde sie beantworten.
Manuel
1

Keep-Dead sendet HEAD-Anforderungen, während die TCP-Verbindung am Leben bleibt (Keep-Alive, daher der Name des Skripts). Dies unterscheidet sich wahrscheinlich deutlich von legitimen Anfragen an Ihren Webserver, bei denen es sich wahrscheinlich hauptsächlich um POST / GET handelt. Bitten Sie Ihr IDS / IPS, innerhalb kurzer Zeit zahlreiche HEAD-Anfragen zu erkennen und die entsprechenden Maßnahmen zu ergreifen.

Kathper
quelle