Incluir /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf

Incluir /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf

descargado v3.2.0 https://coreruleset.org/installation/ siguiendo las instrucciones ubicadas en el archivo INSTALL

Pero Apache no puede iniciarse y devuelve este error:

AH00526: Syntax error on line 800 of /etc/apache2/crs/crs-setup.conf:
яну 19 01:36:09 VMhomeServer apachectl[20761]: ModSecurity: Found another rule with the same id

este es mi archivo apache2.conf para seguridad2

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include /etc/apache2/crs/crs-setup.conf
Include /etc/apache2/crs/rules/*.conf
</IfModule>

Según este temahttps://github.com/SpiderLabs/ModSecurity/issues/1227

Lo "resolví" comentando esto:

Incluir /etc/httpd/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf

pero como estoy usando una versión más nueva, no existe tal regla, las reglas son todas diferentes ahora, por lo que no puedo entender qué está pasando en mi vida.

Tengo modsecurity-crs/bionic,bionic,now 3.0.2-1 todo [instalado] como lo requiere la guía de instalación

Se agradecería cualquier ayuda. Hasta ahora no encontré nada sobre este problema en esta versión en Internet.

Respuesta1

¿Podría verificar para asegurarse de que está incluyendo el archivo modsecurity.conf con una línea como: Include "/etc/apache2/modsecurity.d/modsecurity.conf"antes de incluir crs-setup.conf? ¿Está utilizando la versión del repositorio de Ubuntu de modsecurity o la extrajo del repositorio de git y también? ¿las normas? La versión del repositorio de Ubuntu colocará la configuración. /etc/modsecurity/modsecurity.confNo sé dónde colocó ese archivo, pero su archivo de configuración podría verse así. Nota: si utiliza la versión git repo de modsecurity, es posible que necesite cargar algunas bibliotecas adicionales.

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so

<IfModule security2_module>
        # Include the main modsecurity conf file
        Include "/etc/apache2/modsecurity.d/modsecurity.conf"

        # Include OWASP ModSecurity CRS rules from github
        Include /etc/apache2/crs/crs-setup.conf
        IncludeOptional /etc/apache2/crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
        Include /etc/apache2/crs/rules/*.conf
        IncludeOptional /etc/apache2/crs/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
</IfModule>

Sin embargo, eso realmente no responde a tu pregunta, pero sí necesitas ese archivo. Apache no se inicia porque hay dos reglas con el mismo número de identificación. ModSecurity no lo permitirá. Sólo necesita encontrar el número de regla duplicado y cambiarlo. Según los estándares de modsecurity, no se debe modificar ninguno de los archivos conf existentes en el directorio /rules. Puedes y debes modificar los archivos modsecurity.confy crs-setup.conf. Tiene un número de identificación de regla duplicado. on line 800 of /etc/apache2/crs/crs-setup.confTenga en cuenta que es posible que los números de línea no coincidan perfectamente. Creo que se cuentan como una línea cuando se escapan las líneas con el \. De forma predeterminada, crs-setup.conf.exampletodas las reglas están comentadas excepto la última que enumera la versión de las reglas que está ejecutando. Revise su crs-setup.confarchivo y vea lo que ha descomentado. Si encuentra algunos números de identificación de reglas que puedan resultar sospechosos, puede verificar todas sus reglas en busca de un duplicado con algo como esto (cambiando el número de regla que está buscando, por supuesto):

grep -r '900990' /etc/apache2/crs/rules/*

Si solo desea encontrar todos los números de identificación de las reglas en los archivos, esto podría ayudar:

grep -ho 'id:[0-9]*' /etc/apache2/crs/rules/*  | sort | uniq -c | less

información relacionada