Casi en cada solicitud recibo el siguiente error:
Rule execution error - PCRE limits exceeded (-8): (null).
Después de un montón de googlear, las únicas soluciones parecen ser
a) Agregue lo siguiente en su httpd.conf
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) Agregue lo siguiente a su php.ini
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) Use una versión que fue compilada con la -disable-pcre-match-limit
opción.
Estoy ejecutando lo siguiente:
ModSecurity para Apache / 2.5.12 ( http://www.modsecurity.org/ ).
Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8 con Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8
Para ModSec mis reglas, estoy usando la versión 2.2.3 del Proyecto de conjunto de reglas centrales (CRS) OWASP ModSecurity, que es la más reciente a partir de esta publicación.
Mi httpd.conf consiste esencialmente en:
<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>
De las cuales dentro de mi modsecurity.d
directorio se encuentran todas las reglas predeterminadas que CRS tiene en su archivo de instalación. También he establecido los límites de pcre en 150000000 y 100000000000 y más, pero no disponible.
Entonces en conclusión:
soluciones a
y b
no funcionan, y prefiero no hacerlo c
... ya que realmente no entiendo / me gusta compilar.
¿Alguien tiene alguna otra idea?