Filter
Die einfachste Form einer Filterrichtlinie ist »SecFilter Suchmuster«. Modsecurity durchsucht dann alle GET- und POST-Anfragen nach diesem Muster und leitet bei einer positiven Auswertung die in der Default-Policy eingestellten Maßnahmen ein. Als Suchmuster sind sowohl einfache Begriffe, als auch reguläre Ausdrücke erlaubt. Die Filterregeln werden jedoch nicht direkt auf die Anfragen angewendet, sondern auf eine normalisierte Kopie. Das heißt, speziell (Unicode-)kodierte Zeichen (siehe Kasten "Gefahr durch Unicode") werden zuerst dekodiert und unnötige »/«-Verschachtelungen aufgelöst. Null-Byte-Angriffe, die gezielt auf Schwachstellen der in C oder C++ geschriebenen Serveranwendungen gerichtet sind, verhindert der Filter »SecFilter hidden«.
|
Der Unicode-Standard stellt alle internationalen Schriftzeichen in einem einzigen Zeichensatz dar. Der klassische Ascii-Zeichensatz verwendet nur 7 beziehungsweise 8 Bit für die Kodierung eines Zeichens. Somit sind lediglich 128 respektive 256 Zeichen darstellbar, von denen einige als Steuerzeichen eingesetzt werden. Unicode verwendet, je nach Version, bis zu 32 Bit (4 Byte) für die Kodierung eines Zeichens. Damit ist auch das Darstellen von Runen und Hieroglyphen möglich.
Durch Unicode ließen sich in der Vergangenheit einige Intrusion Detection Systeme (IDS) umgehen, indem der Angreifer den Angriffscode geschickt in Unicode verpackte. Zum Beispiel wird das Zeichen »/« in Unicode als »47« dargestellt und lässt sich dadurch vor einigen IDS tarnen. Modsecurity entschlüsselt durch das Setzen von »SecFilterCheckUnicodeEncoding On« Unicode-Strings und ermöglicht es damit den nachgelagerten Filtern, eventuelle Angriffe zu erkennen.
|
Die bisher vorgestellten Suchmuster prüfen jeweils den gesamten HTTP-Request. Damit erhöht sich unter Umständen die Performancelast auf der Maschine mehr als nötig. Der Eintrag »SecFilterSelective Ort Suchmuster Aktion« ermöglicht das Filtern bestimmter Teile. Als Ort sind alle CGI-Variablen erlaubt. Mögliche Werte und deren Handhabung erklärt die online verfügbare Dokumentation. Folgende Anweisung erfasst beispielsweise alle Zugriffe, die nicht aus dem 192.168.0.0/24-Netz kommen: »SecFilterSelective "REMOTE_ADDR|REMOTE_HOST" !192.168.0«.
Modsecurity in Kombination mit Apache 2 kann auch die Ausgabe von Webseiten filtern. Falls es einem Angreifer gelingt, eine SQL-Injection anzubringen, welche die Tabelle »user_password« aus einer Datenbank ausgibt, blockiert »SecFilterSelective OUTPUT "user_password" deny,status:500« die Anzeige. Zuvor ist jedoch das Filtern des Outputs mittels »SecFilterScanOutput On« zu aktivieren. Sie ist per Default deaktiviert - aus gutem Grund: Zum einen steigt der Ressourcenbedarf beträchtlich, da Modsecurity den komplett auszuliefernden Content prüft, zum anderen besteht das erhebliche Risiko, versehentlich auch legitime Inhalte zu filtern.
Gilt es, mehrere Virtual Hosts mit verschiedenen Anforderungsprofilen abzusichern, hilft die Regelvererbung von Modsecurity, die sich verzeichnisweise anwenden lässt. Solche Verzeichnisregeln überstimmen globale Regeln:
<Location /subcontext/>
SecFilterRemove 1001
</Location>
Dieses Beispiel setzt nur die Regel mit der ID 1001 außer Kraft, alle anderen bleiben aktiv. Das folgende Beispiel bewirkt genau das Gegenteil - es deaktiviert alle übergeordneten Regeln mit Ausnahme von 1002 und 1003:
<Location /subcontext/>
SecFilterInheritance Off
SecFilterImport 1002 1003
</Location>
Um das Erstellen von Regelwerken zu vereinfachen, bieten das Modescurity-Rule-Sets-Projekt [2] und die Webseite Gotroot [6] vorgefertigte Rule-Sets zum Download an. Die Regeln von Gotroot unterstützen die Neuerungen von Modsecurity 1.9 und sind daher nicht direkt mit älteren Versionen kompatibel.
Weitere Features
Modsecurity bietet neben den reinen Filtermechanismen noch weitere sicherheitsrelevante Optionen. Die Funktion »SecUploadApproveScript Pfad zum script.sh« erlaubt es, hochgeladene Dateien sofort auf Virenbefall zu prüfen indem sie ein Skript startet, das den Virenscanner entsprechend anweist. Ein Beispielskript ist in der Online-Dokumentation von Modsecurity zu finden. Weiterhin erzeugt das Modul über die Anweisung »SecChrootDir /var/www/« einen Changed-Root-Käfig. Er verhindert zuverlässig das Ausführen von CGI-Skripten oder Binärdateien, die sich außerhalb dieses Käfigs befinden.
| Whitepaper |
|
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)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
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.
|