ModSecurity
Fakten zu ModSecurity
Definition
- Modul des Apache WebServers
- schützt den WebServer als Web Application Firewall vor Einbrüchen
Verarbeitungsphasen
Phase | Bezeichner | Aktivitäten |
---|---|---|
1 | Vorabphase (REQUEST_HEADERS) | Frühestmögliche Filterung eingehender Anfragen, noch bevor Zugriffskontrolle, Authentifikation, Autorisierung und MIME-Erkennung des Apache stattgefunden haben |
1 | Clientanfrage (REQUEST_BODY) | Vollständiger Zugriff auf den Inhalt einer Clientanfrage (Normalfall) |
3 | Nachgang (RESPONSE_HEADERS) | Erstmögliche Filterung von Serverantworten |
4 | Serverantwort (RESPONSE_BODY) | Vollständiger Zugriff auf den Inhalt der Serverantwort auf einen eingegangene Clientanfrage |
5 | Protokollierung (LOGGING) | Zugriff auf alle relevanten Informationen, bevor dise in die Protokolldateien von Apache geschrieben werden |
Grundkonfiguration für ModSecurity
SecRuleEngine On SecAuditEngine On SecAuditLogType Serial SecAuditLog logs/audit.log SecAuditLogParts ABCFHZ SecDebugLog logs/debug.log SecDebugLogLevel 5 SecRule REQUEST_URI "/etc/passwd" SecDefaultAction phase:2,log,auditlog,deny,status:403
Argumente von SecAuditLogParts
Kürzel | Beschreibung |
---|---|
A | Kopf des Eintrags (verpflichtend) |
B | Header der Anfrage |
C | Inhalt der Anfrage; nur verfügbar, wenn es einen Inhalt gibt und ModSecurity konfiguriert ist, ihn zu speichern |
D | reserviert |
E | vorläufiger Inhalt der Antwort; nur verfügbar, wenn ModSecurity entprechend konfiguriert ist |
F | Abschließender Antwort-Header, nach möglichen Manipulationen durch ModSecurity; nur Datum und Server-Header schreibt anschließend der Apache selbst |
G | reserviert |
H | Auditlog-Trailer |
I | Entspricht "C", außer wenn die Anfrage Formulardateien enthält; in diesem Fall konstruiert die Software eine geeignete Anfrage, die Datei-Inhalte außen vor läßt, um Matches zu vereinfachen |
J | reserviert |
K | zeilenweise Liste aller zutreffenden Regeln in der Reihenfolge ihrer Anwendung |
Z | Ende des Eintrags (verpflichtend) |
Geo IP verhindert Zugriffe auds manchen Regionen
LoadModule geoip_module modules/mod_geoip.so LoadModule security_module modules/mod_security2.so GeoIPEnable On GeoIPDBFile /usr/tmp/GeoLiteCity.dat SecRuleEngine On SecGeoLookupDb /usr/tmp/GeoLiteCity.dat SecRule REMOTE_ADDR "@geoLookup" "chain,drop,msg:'Verbindungsversuch aus .CN!'" SecRule GEO:COUNTRY_CODE "@streq CN" "t:none"
Weitere Informationen zu ModSecurity
Info | Link |
---|---|
OWASP, German Chapter, "Best Practices: Einsatz von WebApplication Firewalls" | http://www.oasp.org/images/1/1b/Best-Practices_Guide_WAF.pdf |
ModSecurity | |
ModSecurity Reference Manual | http://modsecurity.org/documentation/modsecurity-apache/2.5.10/html-multipage |
ModSecurity Processing Phases | |
ModSecurity Actions | |
ModSecurity Variables | |
Nikto | |
OWASP, Modsecurity Core Rule Set Project | http://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project |
ModSecurity-Blog, "Virtual Patching During Incident Response: United Natons Defacement" | |
Reden des UN-Genralsekretärs | http://www.un.org/apps/news/infocus/sgspeeches/statments_full.asp |
Suvabrata Mukherjee, "Apache Modsecurity with GeoIP blocking country specific traffic" |