11 votos

mod_security - PCRE ha superado los límites de

En cada solicitud de recibo el siguiente error:

Rule execution error - PCRE limits exceeded (-8): (null).

Después de un montón de googlear la única solución parece ser

a) Agregar lo siguiente en tu httpd.conf

SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

b) Agregar lo siguiente a tu php.ini

pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000

c) el Uso de una versión que fue compilado con la -disable-pcre-match-limit opción.


Estoy ejecutando el siguiente:

ModSecurity para Apache/2.5.12 (http://www.modsecurity.org/).

Apache/2.2.16 (Debian) de PHP/5.3.3-7+squeeze8 con Suhosin-Patch mod_ssl/2.2.16 OpenSSL/0.9.8

Para ModSec mis reglas, yo estoy usando el de OWASP ModSecurity Regla principal del Proyecto de juego de la versión (CRS) de la versión 2.2.3, que es la más reciente de esta publicación.

Mi httpd.conf consiste esencialmente de:

<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 que dentro de mi modsecurity.d directorio está por todas las reglas predeterminadas que se CRS tiene en su archivo de instalación. También he conjunto de la pcre límites a 150000000 y 100000000000 y más, pero no disponible.

Así que, en conclusión:

soluciones a y b no están trabajando, y yo prefiero mucho de no hacer c...como yo no entiendo realmente como de la compilación.

Alguien tiene alguna otra idea?

7voto

Janne Pikkarainen Puntos 22249

Santo recursividad, Batman!

Yo reclamación que tenga algo de malo con las reglas de mod_security. Que tipo de recursividad parece ser innecesario, y lo más probable causar algunos problemas graves de carga para el servidor. Fijar las reglas y/o configuración de Apache, y no tratar de "arreglar" este problema con arbitrariamente grandes números.

1voto

Paul Fernihough Puntos 31

Ver esto de cerca como tengo exactamente el mismo problema y su configuración es similar a la mía. Estoy un primer contador de tiempo de modsecurity, no es exactamente noob friendly!

De acuerdo con Janne. Único consejo que tengo hasta ahora es eliminar todas las reglas fundamentales y volver a introducirlas 1 por 1 para iniciar el estrechamiento del problema. Yo voy a hacer eso ahora.

También debe cambiar su motor de reglas de configuración para

SecRuleEngine DetectionOnly

mientras se trabaja a través de config problemas, esto le permitirá monitorear sin exigir - usted no quiere hacer cumplir las normas, mientras que todavía no estás seguro de que estás haciendo lo que quieres.

Favor de hacer post de nuevo con sus aprendizajes si usted encuentra una solución.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: