Teste se o mod_security está realmente funcionando

4

Estou executando isso no meu servidor de teste pela primeira vez e acho que fiz tudo corretamente. Eu posso ver as entradas no modsec_audit.log quando eu executo o nikto2, mas para a vida de mim eu não posso fazer manualmente o mod_security bloquear nada. Coloquei o SQL em URLs, em formulários, etc, e acabei de obter nossa típica página HTML 404 amigável, não um bloco de mod_security, que deve ser um erro 403 ou um bloqueio total.

Estou preocupado que seja apenas detectar e não parar. Eu verifiquei minha configuração e ela está definida para parar os ataques e não apenas detectá-los. Qualquer ideia de como posso verificar isso está bloqueando ataques? Alguém tem uma URL de teste ou algo que eu possa fazer para provar que está funcionando?

    
por DrZaiusApeLord 07.11.2014 / 17:54

6 respostas

2

Eu encontrei uma resposta para isso. Basta visitar seu site da seguinte forma: example.com/etc/passwd

Isso trará um 403 instantâneo do mod_security e o registrará em seu log padrão.

    
por 10.11.2014 / 15:53
2

Por padrão, o mecanismo só estará detectando modo:

SecRuleEngine DetectionOnly

Você precisa ajustar SecRuleEngine On

sed -ie 's/^\s*SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf

e reinicie o Apache.

    
por 07.11.2014 / 17:57
1

Você pode usar o Google para algum 'XSS tester' ou 'XSS scanner' on-line e permitir que a ferramenta realize alguns ataques solicitados em seu site de teste. A ferramenta também pode fornecer um relatório detalhando o resultado do 'ataque'.

Você pode alterar seus registros para ver se as entradas correspondem ao relatório, especialmente a data, a hora e o endereço IP, se houver.

    
por 10.11.2014 / 06:15
1

Eu tenho um cheque abaixo

$ curl -ks -o /dev/null -w '%{http_code}' "https://something.example.com/foo?username=1'%20or%20'1'%20=%20'"

Se você obtiver um 403 , o ModSecurity estará funcionando como esperado.

    
por 26.10.2017 / 09:49
0

No seu navegador, tente acessar um site hospedado nesse servidor, como neste exemplo:

http://www.anywebsitefromthatserver.com/aphpfilethatdonotexist.php?something=../../etc

Em seguida, verifique o log do Modsecurity e você terá algo semelhante (Se você tiver WHM / cPanel - >, verifique no WHM - > Modsecurity Tools para ver o log):

2017-12-14 10:28:41 www.anywebsitefromthatserver.com    YOUR IP: 68.XX.XX.XX    CRITICAL    404  930100: Path Traversal Attack (/../)

O log detalhado será como:

Request:    GET /aphpfilethatdonotexist.php?something=../../etc
Action Description: Warning.
Justification:  Pattern match "(?i)(?:\x5c|(?:%(?:c(?:0%(?:[2aq]f|5c|9v)|1%(?:[19p]c|8s|af))|2(?:5(?:c(?:0%25af|1%259c)|2f|5c)|%46|f)|(?:(?:f(?:8%8)?0%8|e)0%80%a|bg%q)f|%3(?:2(?:%(?:%6|4)6|F)|5%%63)|u(?:221[56]|002f|EFC8|F025)|1u|5c)|0x(?:2f|5c)|\/))(?:%(?:(?:f(?:(?:c%80|8)%8)?0%8 ..." at REQUEST_URI_RAW.

Se você vir um log semelhante, pode ter certeza de que seu Modsecurity está ativado e funcionando.

    
por 14.12.2017 / 09:41
0

Você pode dar uma olhada no Guia do Rapid7 para configuração básica.

link

Existem alguns pares de teste que devem produzir entradas de log. As entradas de log aparecem em / var / log / apache2 / access e /var/log/apache2/modsec_audit.log dependendo da sua configuração

Teste XSS

curl 'http://www.example.com/?q="><script>alert(1)</script>'

Injeção de SQL

curl "http://www.example.com/?q='1 OR 1=1"
    
por 08.11.2018 / 17:50