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

http://modsecurity.org

ModSecurity Reference Manual

http://modsecurity.org/documentation/modsecurity-apache/2.5.10/html-multipage

ModSecurity Processing Phases

http://bit.ly/2ZBILi

ModSecurity Actions

http://bit.ly/30zld8

ModSecurity Variables

http://bit.ly/3LKg1l

Nikto

http://cirt.net/nikto2

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"

http://blog.modsecurity.org/2007/08/27/

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"

http://linuxhelp123.wordpress.com/2008/12/11/apache