À peu près à chaque demande, j'obtiens l'erreur suivante:
Rule execution error - PCRE limits exceeded (-8): (null).
Après un tas de googler les seules solutions semblent être
a) Ajoutez ce qui suit dans votre httpd.conf
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) Ajoutez ce qui suit à votre php.ini
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) Utilisez une version qui a été compilée avec -disable-pcre-match-limit
option.
J'exécute ce qui suit:
ModSecurity pour Apache / 2.5.12 ( http://www.modsecurity.org/ ).
Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8 avec Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8
Pour ModSec mes règles, j'utilise la version 2.2.3 du projet de jeu de règles de base OWASP ModSecurity (CRS) qui est la plus récente de cette publication.
Mon httpd.conf se compose essentiellement:
<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>
Dont l'intérieur de mon modsecurity.d
répertoire est juste toutes les règles par défaut CRS a dans leur fichier d'installation. J'ai également défini les limites de pcre à 150000000 et 100000000000 et plus, mais pas disponibles.
Donc en conclusion:
solutions a
et b
ne fonctionnent pas, et je préfère grandement ne pas le faire c
... car je ne comprends pas vraiment / comme compiler.
Quelqu'un a d'autres idées?