Perfekter Schutz für Web-Apps
Teil 3: Workshop: Mod Security
- Workshop: Mod Security
- Teil 2: Workshop: Mod Security
- Teil 3: Workshop: Mod Security
- Teil 4: Workshop: Mod Security
Auch Cross-Site-Scripting-Attacken kann Mod Security begegnen. Das verhindern Sie mit folgenden Direktiven:
SecFilter "<script"
SecFilter "<.+>"
Um Path-Traversal-Attacks zu begegnen, legen Sie folgenden Filter an:
SecFilter "../"
Regel-Editoren
Das Hantieren mit Mod-Security-Regeln ist leider nicht ganz so leicht, wie es die einfachsten Beispielregeln vermuten lassen. Um auf komplexe Requests zielgenau reagieren zu können, müssen Sie auch entsprechend komplexe Filterregeln anlegen.
Das erfordert ein hohes Maß an Know-how bezüglich der zu schützenden Anwendung und der drohenden Gefahren. Um das Risiko beim Erstellen von fehlerbehafteten Regeln zu minimieren, sollten Sie zu einem Regel-Editor greifen.
Hierfür gibt es inzwischen einige interessante Lösungen. Den bislang besten Eindruck hinterlässt Regel-Editor Remo (). Er unterstützt Sie dabei, die Whitelist-Funktionalität von Mod Security zu erweitern. In der Whitelist sammeln, pflegen und warten Sie gültige Requests.
Um den Editor in Betrieb zu nehmen, laden Sie das aktuelle Paket remo-0.2.0.tar.gz herunter und entpacken es in einen Ordner Ihrer Wahl. Der Start des Editors erfolgt mit der Ausführung des folgenden Befehls im REMO-Ordner: ruby script/server. Um auf die webbasierte Schnittstelle zuzugreifen, verwenden Sie folgende URL im Browser: http://localhost:3000/main/index.

Bei einer Neuinstallation sind keine Regeln vorhanden. Also müssen Sie sich an das Erstellen Ihrer ersten eigenen Regel machen. Klicken Sie dazu auf das New-request-Icon. Die Regel erzeugt einen Standardeintrag mit der Bezeichnung GET click-to-edit. Mit einem Klick auf diese Bezeichnung editieren Sie diesen und können beispielsweise aus der GET- eine POST-Methode machen.
Bestimmen Sie dann den Anwendungspfad und die gewünschten Parameter. Um die Regel zu erstellen, klicken Sie abschließend auf die Schaltfläche Generate. Die generierte Regeldatei kopieren Sie dann in das Apache-Verzeichnis.
Es empfiehlt sich, die Regeldatei wie folgt in Ihre Apache-Konfiguration einzubinden:
<IfModule mod_security2.c>
Include /etc/apache2/rulefile.conf</IfModule>
Sie müssen nur noch einen Neustart des Apache-Webservers ausführen, um die Regel zu aktivieren.
Mit dem Web Application Profiler () gibt es einen weiteren Editor, der Ihnen beim Erstellen von Mod-Security-Regeln behilflich ist. Dieses Tool dient dazu, ein Profil einer Web-Applikation zu erstellen - und zwar in Form einer XML-basierten Beschreibung.
Der Profiler stellt auch einen Editor zur Verfügung, mit dem sich Profile mittels einer XSLT-Transformation in ein Mod-Security-Regelwerk transformieren lassen. Das Erstellen des Regelwerks auf Basis des Profils ist simpel: Klicken Sie auf das Compile-Icon und bestimmen Sie, wo die Datei gespeichert werden soll.
Mod-Security-Konsole
Neben Mod Security arbeiten die Entwickler an zwei weiteren Projekten: Mod Security Profiler () und Mod-Security-Konsole ().