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?
fuente
Respuestas:
¡Santa recursión, Batman!
Afirmo que tienes algo mal con tus reglas de mod_security. Ese tipo de recursión parece ser innecesario y probablemente causará una carga seria para su servidor. Arregle las reglas y / o la configuración de Apache, y no intente "arreglar" este problema con números arbitrariamente grandes.
fuente
Al observar esto de cerca, tengo exactamente el mismo problema y su configuración se parece a la mía. Soy el primer contador de tiempo para la modseguridad, ¡no es exactamente amigable para los novatos!
De acuerdo con Janne. El único consejo que tengo hasta ahora es eliminar todas las reglas básicas y volver a introducirlas 1 por 1 para comenzar a reducir el problema. Estoy a punto de hacer eso ahora.
También debe cambiar la configuración del motor de reglas a
mientras trabaja a través de problemas de configuración, esto le permitirá monitorear sin aplicar: no desea hacer cumplir las reglas mientras todavía no está seguro de que estén haciendo lo que desea.
Vuelva a publicar sus aprendizajes si encuentra una solución.
fuente
Debe encontrarse y modificarse en los archivos de configuración mod_security en algunas versiones * nix.
fuente