Prefork-Fehlkonfiguration

95 Prozent aller Webserver anfällig für DoS

| Autor / Redakteur: Tim Schughart* / Stephan Augsten

Ein Großteil der Webserver lässt sich momentan mit Anfragen von nur einem PC vom Netz nehmen.
Ein Großteil der Webserver lässt sich momentan mit Anfragen von nur einem PC vom Netz nehmen. (Bild: Archiv)

Ein Großteil der Webserver lässt sich mit wenig Aufwand in die Knie zwingen. Für den Administrator sieht es aus, als sei der Server einem DDoS (Distributed Denial of Service) zum Opfer gefallen. Dabei könnte ein einfacher Wechsel auf ein anderes Multi Processing Module schnell Abhilfe schaffen.

Ein Großteil der Webseiten ist anfällig für einen scheinbaren DDoS-Angriff. Durch die Modifikation einer „HTTP Slow Post“-Attacke und der lokalen Simulation eines Botnets gelang es dem Autor zusammen mit dem unabhängigen Sicherheitsexperten Steffen Mauer, gängige Webserver mit Anfragen zu überfluten, so dass diese nicht mehr erreichbar sind.

Netstat-Ausgabe mit unkenntlich gemachten IPs.
Netstat-Ausgabe mit unkenntlich gemachten IPs. (Bild: ProSec Networks)

Der Exploit schickt dabei HTTP-Post-Anfragen an den Webserver und hält die Verbindungen offen. Es werden so viele Anfragen generiert, bis die Verbindungen des Webservers aufgebraucht sind und dieser keine neuen mehr zulässt.

Mithilfe der lokalen Botnetz-Simulation werden gängige Schutzmechanismen umgangen. Der Angriff lässt sich somit für das Opfer nicht von einer DDoS-Attacke unterscheiden. Aus Sicherheitsgründen werden an dieser Stelle aber keine weiteren Details genannt.

Das Problem besteht in der historischen Arbeitsweise der Webserver. In der Standardeinstellung nutzt z. B. der Apache Webserver das Multi Processing Module (MPM) „Prefork“. Dieses erstellt für jede Verbindung einen neuen Kindprozess (Child Process). In der Standardkonfiguration erlaubt der Webserver nur 150 aktive Verbindungen (Debian Wheezy, Apache Version 2.2.22).

Aufgrund des Forkings ist der Arbeitsspeicherverbrauch enorm hoch und treibt gängige Hardware schnell an Ihre Grenzen. Unter dem Kasten ein Auszug aus der Standardkonfiguration des Prefork-MPM:

<IfModule mpm_prefork_module>

MaxServers

StartServers 5

MinSpareServers 5

MaxSpareServers 10

MaxClients 150

MaxRequestsPerChild 0

</IfModule>

Erschwerend kommt hinzu, dass Apache von Haus aus keine Möglichkeit bietet, in der Konfiguration die parallelen Verbindungen zu beschränken. Der Angriff ist hauptsächlich auf Netzwerkebene zu erkennen, Apache selbst gibt im Standard Loglevel lediglich einen Eintrag mit: „Too many open connections“ aus. Die Status-Website von Apache lässt sich nicht mehr abfragen – der Administrator tappt im Dunkeln.

Ergänzendes zum Thema
 
Über ProSec Networks

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43171759 / Security-Testing)