Passos para encontrar a regra específica para Mod_security

1

Estou executando um portal da web na pilha de lâmpadas. Estou enfrentando um problema com uma funcionalidade de botão de exportação quando clico no botão que ele redireciona para a página de teste do Apache. Quando eu comentar o #Include modsecurity.d / base_rules / *. Conf no mod_security funciona bem.

Eu adicionei valor - > SecDebugLogLevel 9 e veja que existem vários logs criados com muitas regras. Alguém pode me explicar como encontrar a regra exata que está bloqueando minha funcionalidade?

    
por Suneel Kumar P 05.05.2016 / 10:45

1 resposta

0

As regras que são acionadas estarão no log padrão do Apache Error e você verá um campo [id: XXXX] que é o ID da regra que foi acionado (950001 neste exemplo) e o arquivo de configuração em que a regra foi definida ( /www/apache2/conf/modsecurity.d/crs/owasp-modsecurity-crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf in este exemplo):

[Mon May 09 09:15:06.253373 2016] [-:error] [pid 25094:tid 140713241073408] [client 123.123.123.123:52197] [client 123.123.123.123] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?i:\\b(?:(?:s(?:t(?:d(?:dev(_pop|_samp)?)?|r(?:_to_date|cmp))|u(?:b(?:str(?:ing(_index)?)?|(?:dat|tim)e)|m)|e(?:c(?:_to_time|ond)|ssion_user)|ys(?:tem_user|date)|ha(1|2)?|oundex|chema|ig?n|pace|qrt)|i(?:s(null|_(free_lock|ipv4_compat|ipv4_mapped|ipv4| ..." at ARGS:utm_campaign. [file "/www/apache2/conf/modsecurity.d/crs/owasp-modsecurity-crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "125"] [id "950001"] [rev "2"] [msg "SQL Injection Attack"] [data "Matched Data: field( found within ARGS:utm_campaign:blah blah blaj"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"] [hostname "www.exmaple.com"] [uri "/"] [unique_id "VzBHCn8AAAEAAGIGrQcAAACE"]

Mais detalhes no Registro de Auditoria do ModSecurity (desde que tenha sido configurado) onde você obtém todos os detalhes da solicitação e na seção H você vê a linha de parecer acima, que também inclui o [id:XXXX] que foi acionado:

--bc9c8737-H--
Message: Access denied with code 403 (phase 2). Pattern match "(?i:\b(?:(?:s(?:t(?:d(?:dev(_pop|_samp)?)?|r(?:_to_date|cmp))|u(?:b(?:str(?:ing(_index)?)?|(?:dat|tim)e)|m)|e(?:c(?:_to_time|ond)|ssion_user)|ys(?:tem_user|date)|ha(1|2)?|oundex|chema|ig?n|pace|qrt)|i(?:s(null|_(free_lock|ipv4_compat|ipv4_mapped|ipv4| ..." at ARGS:utm_campaign. [file "/www/apache2/conf/modsecurity.d/crs/owasp-modsecurity-crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "125"] [id "950001"] [rev "2"] [msg "SQL Injection Attack"] [data "Matched Data: field( found within ARGS:utm_campaign: blah blah blah"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.9"] [maturity "9"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"]

Muitos detalhes estarão no log de depuração do ModSecurity (novamente, desde que esteja configurado), mas isso é executado em cada regra, o que dificulta a visualização do que realmente foi disparado! Para ser honesto, você não deve estar executando com o debug a menos que tenha um problema específico para depurar, já que ele registra muitos dados para cada solicitação.

    
por 07.05.2016 / 10:47