Koordiniertes Logging
Die einfachste Logging-Variante ist das Schreiben ins »error.log« des Apache Webservers, was allerdings die spätere Analyse erschwert. Alternativ bietet sich das ausführlichere Audit-Logging an (Abbildung 3). Neu ab Version 1.9 ist die Log-Option New Audit Log Type. Sie ermöglicht unter anderem das Loggen mehrerer Ereignisse in eigene Logdateien, setzt aber das aktive Apache-Modul »mod_unique_id« voraus.

|
Abbildung 3: Das Audit-Log von Modsecurity zeigt im Detail die Vorgehensweise und näheren Umstände eines Angriffs und gibt dem Admin damit wertvolle Hinweise zum Tatgeschehen.
|
Darüber hinaus enthalten die Versionen ab 1.9 das so genannte Guardian-Log, das die Logdaten an HTTP-Guardian [3] übergibt. Dieser steuert IPtables- und Paketfilter-Firewalls sowie den IDS-Controller Snortsam [4]. Standardmäßig blockiert HTTP-Guardian Clients, die mehr als 120 Anfragen pro Minute oder mehr als 360 Anfragen in fünf Minuten stellen. Das Programm befindet sich noch im Entwicklungsstadium, funktioniert jedoch und ist gut dokumentiert.
Grundkonfiguration
Als Ausgangsbasis für eigene Anpassungen dient die einfache Grundkonfiguration aus Listing 2, die in ähnlicher Form auf der offiziellen Homepage zu finden ist. Wer das Regelwerk auf einem Produktivsystem testet, sollte potenzielle Regelverstöße vorerst nur loggen, um nicht versehentlich legitime Anfragen zu blockieren. Das erledigt der Eintrag »SecFilterDefaultAction«, dessen Parameter auf »pass,log« zu setzen sind.
01 # Modsecurity aktivieren
02 SecFilterEngine On
03 # Fehlerhafte Anfragen loggen und den Zugriff verweigern
04 SecFilterDefaultAction "deny,log,status:403"
05 # Fehler nur loggen
06 # SecFilterDefaultAction "pass,log"
07
08 # POST-Daten überprüfen
09 SecFilterScanPOST On
10
11 # URL-Encoding überprüfen
12 SecFilterCheckURLEncoding On
13
14 # Unicode-Kodierung überprüfen
15 SecFilterCheckUnicodeEncoding On
16
17 # Nur Ascii-Zeichen von 1 bis 255 annehmen
18 SecFilterForceByteRange 1 255
19
20 # Server-Signatur auf ein Minimum
21 SecServerSignature "Apache"
22
23 # Nur relevante Daten loggen
24 SecAuditEngine RelevantOnly
25 SecAuditLog /var/log/apache2/audit_log
26
27 # GET- oder HEAD- Anfragen im Body nicht akzeptieren
28 SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain
29 SecFilterSelective HTTP_Content-Length "!^$"
30
31 # Content-Length muss bei jedem POST-Request mitgesendet werden
32 SecFilterSelective REQUEST_METHOD "^POST$" chain
33 SecFilterSelective HTTP_Content-Length "^$"
34
35 # Unbekannte Transfer-Encodings verwerfen, Ausnahme GET,
36 # weil es mit einigen Clients zu Problemen kommen kann
37 SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain
38 SecFilterSelective HTTP_Content-Type
39 "!(^application/x-www-form-urlencoded$|^multipart/form-data;)"
40 SecFilterSelective HTTP_Transfer-Encoding "!^$"
|
Anstelle der 403-Fehlermeldung bei Regelverletzungen erlaubt Modsecurity mit dem Eintrag »SecFilterDefaultAction "deny,log,redirect:http://Zielseite.de"« das Anzeigen beliebiger Adressen oder Webseiten. Filter definieren Suchkriterien, die Modsecurity auf eine HTTP-Anfrage anwendet.
Ein Filter ist immer nach dem Schema »SecFilter Suchkriterium« aufgebaut, ab Version 1.9 verfügt das Modul darüber hinaus über zusätzliche Logparameter. Modsecurity unterscheidet zwischen drei Filtermethoden: einfach (»SecFilter wget«), selektiv (»SecFilterSelective ARGS "union.+select"«) und Output (»SecFilterSelective OUTPUT "Fatal error:" deny,status:500«).
Ein einfacher Filter prüft immer die gesamte HTTP-Anfrage, wogegen der selektive Filter lediglich definierte Teile davon prüft. Output-Filter scannen den Content, den der Webserver ausliefert, und verhindern gegebenenfalls dessen Anzeige. Ein Ausrufezeichen (»!«) invertiert Filterregeln. So greift »SecFilter !html« bei jeder Anfrage, die nicht den String »html« enthält.
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|