# Modsecurity aktivieren
SecFilterEngine On

# Fehler mit nur loggen, ggt. 403
SecFilterDefaultAction "deny,log,status:403"
#SecFilterDefaultAction "pass,log?

# POST Daten überprüfen
SecFilterScanPOST On

#URL Encoding überprüfen
SecFilterCheckURLEncoding On

#Unicode Codierung überprüfen
SecFilterCheckUnicodeEncoding On

# nur ASCII zeichen von 1 bis 255 annehmen
SecFilterForceByteRange 1 255

#server signatur auf ein Minimum
SecServerSignature "Apache"

# Nur relevante Daten loggen
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/audit_log

# GET or HEAD Anfragen im Body nicht akzeptieren
SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain
SecFilterSelective HTTP_Content-Length "!^$"

# Content-Length muss bei jedem POST Request mitgesendet werden
SecFilterSelective REQUEST_METHOD "^POST$" chain
SecFilterSelective HTTP_Content-Length "^$"

# unbekannte Transfer Encodings verwerfen, Ausnahme GET,
# weil es da Probleme geben kann mit einigen Clients
SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain
SecFilterSelective HTTP_Content-Type \
"!(^application/x-www-form-urlencoded$|^multipart/form-data;)"
SecFilterSelective HTTP_Transfer-Encoding "!^$"