Fast bei jeder Anfrage erhalte ich folgende Fehlermeldung:
Rule execution error - PCRE limits exceeded (-8): (null).
Nach einigem googeln scheinen die einzigen Lösungen zu sein
a) Fügen Sie Folgendes in Ihre httpd.conf ein
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) Fügen Sie Ihrer php.ini Folgendes hinzu
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) Verwenden Sie eine Version, die mit -disable-pcre-match-limit
Option kompiliert wurde .
Ich führe folgendes aus:
ModSecurity für Apache / 2.5.12 ( http://www.modsecurity.org/ ).
Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + Squeeze8 mit Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8
Für meine ModSec-Regeln verwende ich die OWASP ModSecurity Core Rule Set Project-Version (CRS) Version 2.2.3, die zum Zeitpunkt dieser Veröffentlichung die neueste ist.
Meine httpd.conf besteht im Wesentlichen aus:
<IfModule security2_module>
SecUploadDir /var/asl/data/suspicious
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
Include modsecurity.d/modsecurity_crs_10_config.conf
Include modsecurity.d/activated_rules/*.conf
SecRuleEngine On
# Debug log
SecDebugLog /var/log/apache2/modsec_debug.log
SecDebugLogLevel 3
# Serial audit log
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus ^5
SecAuditLogParts ABIFHZ
SecAuditLogType Serial
SecAuditLog /var/log/apache2/modsec_audit.log
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
</IfModule>
<IfModule mod_php5.c>
php_admin_flag pcre.backtrack_limit 10000000
php_admin_flag pcre.recursion_limit 10000000
</IfModule>
Davon in meinem modsecurity.d
Verzeichnis nur alle Standardregeln, die CRS in seiner Installationsdatei hat. Ich habe auch die PCR-Grenzwerte auf 150000000 und 100000000000 und mehr festgelegt, aber nicht verfügbar.
Also abschließend:
Lösungen a
und b
funktionieren nicht, und ich ziehe es vor, es nicht zu tun c
... da ich das Kompilieren nicht wirklich verstehe / mag.
Hat jemand andere Ideen?