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

baixado v3.2.0 https://coreruleset.org/installation/ seguindo as instruções localizadas no arquivo INSTALL

Mas o apache não pode iniciar e retorna este erro -

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 é meu arquivo apache2.conf para security2

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>

De acordo com esta questãohttps://github.com/SpiderLabs/ModSecurity/issues/1227

Eu "resolvi" comentando isso:

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

mas como estou usando uma versão mais recente, essa regra não existe, as regras são todas diferentes agora, então não consigo descobrir o que está acontecendo na minha vida.

Eu tenho modsecurity-crs/bionic,bionic,now 3.0.2-1 todos [instalados] conforme exigido pelo guia de instalação

Qualquer ajuda seria apreciada, não encontrei nada sobre esse problema nesta versão na internet até agora

Responder1

Você poderia verificar se está incluindo o arquivo modsecurity.conf com uma linha como: Include "/etc/apache2/modsecurity.d/modsecurity.conf"antes de incluir o crs-setup.conf Você está usando a versão do repositório Ubuntu do modsecurity ou você puxou isso do repositório git também como as regras? A versão do repositório do Ubuntu colocará a configuração em /etc/modsecurity/modsecurity.confNão sei onde você colocou esse arquivo, mas seu arquivo conf pode ficar assim. Nota: se estiver usando a versão git repo do modsecurity, pode ser necessário carregar algumas bibliotecas adicionais.

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>

Isso realmente não responde à sua pergunta, mas você precisa desse arquivo. O Apache não consegue iniciar porque existem duas regras com o mesmo número de identificação. ModSecurity não permitirá isso. Você só precisa encontrar o número da regra duplicada e alterá-lo. De acordo com os padrões do modsecurity, você não deve modificar nenhum dos arquivos conf existentes no diretório /rules. Você pode e deve modificar os arquivos modsecurity.confe crs-setup.conf. Você tem um número de identificação de regra duplicado. on line 800 of /etc/apache2/crs/crs-setup.confLembre-se de que os números das linhas podem não corresponder perfeitamente. Eu acho que eles são contados como uma linha quando as linhas são escapadas com o \. Por padrão, crs-setup.conf.exampletodas as regras são comentadas, exceto a última que lista a versão das regras que você está executando. Verifique seu crs-setup.confarquivo e veja o que você descomentou. Se você encontrar alguns números de identificação de regra que possam ser suspeitos, você pode verificar todas as suas regras em busca de duplicatas com algo assim (alterando o número da regra que você está procurando, é claro):

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

Se você deseja apenas encontrar todos os números de identificação das regras nos arquivos, isso pode ajudar:

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

informação relacionada