it-swarm.com.de

Ungültige HTTP-Server-Anforderung / Verbindungsdrosselung

Ich habe einen benutzerdefinierten HTTP-Server.

Wenn Sie in einem Browser die Taste F5 gedrückt halten, werden dem Server Anfragen zugestellt.

Wie kann ich diese (oder andere) ungültigen Verbindungen erkennen und begrenzen?

Es scheint, als müsste ich für jede eingehende IP die Zeitspanne zwischen den einzelnen Anfragen aufzeichnen, und ob die Anfrage gültig war oder nicht. Wenn in einem bestimmten Zeitraum eine bestimmte Anzahl ungültiger Anfragen eingeht, würde ich einfach alle weiteren Verbindungen von dieser IP für einen bestimmten Zeitraum trennen (oder sperren).

Hat jemand irgendwelche Artikel, Hinweise oder Tipps zu diesem Thema?

1
Bob Jacobs

Probieren Sie einige der jetzt verfügbaren QoS-Einstellungen aus:

  • die Firewall (s)
  • der http-Server
  • die Load Balancer
  • beliebige OS globale Einstellungen

Es gibt viele Arten von (D) DoS-Angriffen, die auftreten können. Die von Ihnen beschriebene Situation ist begrenzt, da sie nur aus einer Quelle stammt, multipliziert mit einem verteilten Angriff und einem Pro-Client-Limit, das vermieden werden kann. Ein anderer Angriff könnte versuchen, einen Speicherüberlauf zu verursachen, indem die Statusinformationen schnell gefüllt werden. Es gibt weitere Angriffe wie Slowloris . Es ist also sinnvoll, sich ganzheitlich zu verteidigen.

Wir verwenden gerne L7-Firewalls unter Linux (reguläre Ausdrücke für Pakete) und bewerten die Clients anhand der Häufigkeit, mit der sie Last-Modified & Etags einhalten, sowie anhand anderer "guter Verhaltensweisen" (schnellere Anforderungszeiten, größere MTUs, dauerhafte Verbindungen usw.). Sie können jederzeit ein Captcha auslösen oder die Antwort auf eine einzelne Verbindung mit einem Backoff-Timer künstlich verzögern (Verzögerung von 1 Sekunde, Verzögerung von 2 Sekunden, Verzögerung von 4 Sekunden usw.). Der Trick dabei war, die Verbindung einzuschränken (nicht die IP-Adresse, den Verweiser, den Benutzeragenten oder eine Kombination davon).

Ein zukünftiges Projekt wird darin bestehen, das Intrusion Detection-System zur Konfiguration der Ratenbegrenzung zu verwenden.

HTML 5s Cache-Manifest deaktiviert effektiv die Serverlast während einer F5-Aktualisierung und es gibt immer Google Gears.

1
Metalshark

Es scheint, dass Sie versucht haben, dies in Stackoverflow zu veröffentlichen:

https://stackoverflow.com/questions/3673188/http-server-invalid-request-connection-throttling

Wenn Sie dies an Serverfault senden, erhalten Sie möglicherweise einige Antworten. Es gibt jedoch bereits viele Threads, die sich auf Denial-of-Service-Angriffe beziehen. Sie können versuchen, diese Threads zu durchsuchen, indem Sie nach DDOS und DOS oder Denail-of-Service suchen.

Denial-of-Service-Angriffe werden am besten von Router-Hardware (wie Cisco) behandelt.

0
Greg Jennings