O mod_security, é um módulo do Apache que será
instalado para bloquear o monitoramento de requisições e respostas
HTTP tanto quanto a negação de pacotes suspeitos.
Inicialmente instale as dependências necessárias:
apt-get install libxml2-dev apache2-prefork-dev
Download Mod_Security:
- código fonte (http://www.modsecurity.org/download/direct.html)
- Pacote Debian (http://etc.inittab.org/~agi/debian/libapache-mod-security2/)
Instalação e Compilação:
Se você optou por baixar o source execute os seguintes passos para compilar o módulo:
tar zxvf modsecurity-apache_2.5.7.tar.gz
cd modsecurity-apache_2.5.7/apache2/
./configure && make && make install ( como root! )
Configurando o Apache:
Agora acesse o diretório /etc/apache2/mods-available, acesse o arquivo modsecurity2.load.
crie o modsecutity2.load caso nao o ache por lá.
touch /etc/apache2/mods-avaliable/modsecurity2.load e adicione as seguintes linhas:
LoadFile /usr/lib/libxml2.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
Agora vá para um diretório acima, no caso o mods-enabled e crie um link simbólico para os arquivo editado anteriormente e para o arquivo mod_unique_id:
cd ../mods-enabled
ln -s ../mods-available/modsecurity2.load
ln -s ../mods-available/unique_id.load
Após reiniciar o Apache, verifique o aquivo de log que está em /var/log/apache2/error.log. Deverá existir a seguinte linha ou algo parecido com:
[Wed Dec 03 16:54:25 2008] [notice] ModSecurity for Apache/2.5.2 (http://www.modsecurity.org/) configured.
Configurando o Mod_security:
Primeiro, as regras necessárias para inciar o funcionamento deste módulo
encontra-se no diretório /modsecurity-apache_2.5.7/rules, copie estas regras
para o diretório /var/lib/modsecurity/
cp modsecurity_crs_* /var/lib/modsecurity/
Informe ao Apache onde encontram-se a regras criando o arquivo
/etc/apache2/conf.d/modsecurity2.conf e adicionando as seguintes linhas:
Include /var/lib/modsecurity/*.conf
Reinicie o Apache para efetivar as mudanças:
apache2ctl configtest && apache2ctl restart
Testando o Mod_security:
Agora que o módulo já está configurado e rodando podemos
realizar um teste simples usando o wget:
wget -O - -U ngsecurity analyzer http://yourWebSite
Se o mod_security estiver funcionando, será informado o erro 404:
m4rk@imunnity:~$ wget -O - -U ngsecurity analyzer http://yourWebSite
19:13:17 http://
=> `-
Resolving meu_webtestserver X.X.X.X
Connecting to meu_webtestserver|X.X.X.X|:80 connected.
HTTP request sent, awaiting response 404 Not Found
19:13:17 ERROR 404: Not Found.
No servidor web execute o comando abaixo:
tail /var/log/apache2/debug.log
ou
tail /var/log/apache2/audit.log
Vejam o que apareceu para mim!
[03/Dec/2008:17:18:17 --0500] [matrix/sid#855d8f0][rid#87357f8][/][1]
Access denied with code 404 (phase 2). Pattern match (?:\b(?:m(?:ozilla\/4\.0 \
(compatible\)|etis)|ngsecurity analyzer|pmafind)\b|n(?:-stealth|sauditor|
essus|ikto)|b(?:lack ?widow|rutus|ilbo)|(?:jaascoi|paro)s|webinspect|\.nasl) at
REQUEST_HEADERS:User-Agent. [file "/var/lib/modsecurity/modsecurity_crs_35_bad_robots.conf"]
[line "19"] [id "990002"] [msg "Request Indicates a Security Scanner Scanned the Site"]
[severity "CRITICAL"] [tag "AUTOMATION/SECURITY_SCANNER"]
Porque surgiu na expressão regular acima o ngsecurity analyzer , a requisição
para o arquivo foi negada, mostrando que o mod_security está funcionando!.
créditos: Alexandro Silva (dicas-l)
instalado para bloquear o monitoramento de requisições e respostas
HTTP tanto quanto a negação de pacotes suspeitos.
Inicialmente instale as dependências necessárias:
apt-get install libxml2-dev apache2-prefork-dev
Download Mod_Security:
- código fonte (http://www.modsecurity.org/download/direct.html)
- Pacote Debian (http://etc.inittab.org/~agi/debian/libapache-mod-security2/)
Instalação e Compilação:
Se você optou por baixar o source execute os seguintes passos para compilar o módulo:
tar zxvf modsecurity-apache_2.5.7.tar.gz
cd modsecurity-apache_2.5.7/apache2/
./configure && make && make install ( como root! )
Configurando o Apache:
Agora acesse o diretório /etc/apache2/mods-available, acesse o arquivo modsecurity2.load.
crie o modsecutity2.load caso nao o ache por lá.
touch /etc/apache2/mods-avaliable/modsecurity2.load e adicione as seguintes linhas:
LoadFile /usr/lib/libxml2.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
Agora vá para um diretório acima, no caso o mods-enabled e crie um link simbólico para os arquivo editado anteriormente e para o arquivo mod_unique_id:
cd ../mods-enabled
ln -s ../mods-available/modsecurity2.load
ln -s ../mods-available/unique_id.load
Após reiniciar o Apache, verifique o aquivo de log que está em /var/log/apache2/error.log. Deverá existir a seguinte linha ou algo parecido com:
[Wed Dec 03 16:54:25 2008] [notice] ModSecurity for Apache/2.5.2 (http://www.modsecurity.org/) configured.
Configurando o Mod_security:
Primeiro, as regras necessárias para inciar o funcionamento deste módulo
encontra-se no diretório /modsecurity-apache_2.5.7/rules, copie estas regras
para o diretório /var/lib/modsecurity/
cp modsecurity_crs_* /var/lib/modsecurity/
Informe ao Apache onde encontram-se a regras criando o arquivo
/etc/apache2/conf.d/modsecurity2.conf e adicionando as seguintes linhas:
Include /var/lib/modsecurity/*.conf
Reinicie o Apache para efetivar as mudanças:
apache2ctl configtest && apache2ctl restart
Testando o Mod_security:
Agora que o módulo já está configurado e rodando podemos
realizar um teste simples usando o wget:
wget -O - -U ngsecurity analyzer http://yourWebSite
Se o mod_security estiver funcionando, será informado o erro 404:
m4rk@imunnity:~$ wget -O - -U ngsecurity analyzer http://yourWebSite
19:13:17 http://
=> `-
Resolving meu_webtestserver X.X.X.X
Connecting to meu_webtestserver|X.X.X.X|:80 connected.
HTTP request sent, awaiting response 404 Not Found
19:13:17 ERROR 404: Not Found.
No servidor web execute o comando abaixo:
tail /var/log/apache2/debug.log
ou
tail /var/log/apache2/audit.log
Vejam o que apareceu para mim!
[03/Dec/2008:17:18:17 --0500] [matrix/sid#855d8f0][rid#87357f8][/][1]
Access denied with code 404 (phase 2). Pattern match (?:\b(?:m(?:ozilla\/4\.0 \
(compatible\)|etis)|ngsecurity analyzer|pmafind)\b|n(?:-stealth|sauditor|
essus|ikto)|b(?:lack ?widow|rutus|ilbo)|(?:jaascoi|paro)s|webinspect|\.nasl) at
REQUEST_HEADERS:User-Agent. [file "/var/lib/modsecurity/modsecurity_crs_35_bad_robots.conf"]
[line "19"] [id "990002"] [msg "Request Indicates a Security Scanner Scanned the Site"]
[severity "CRITICAL"] [tag "AUTOMATION/SECURITY_SCANNER"]
Porque surgiu na expressão regular acima o ngsecurity analyzer , a requisição
para o arquivo foi negada, mostrando que o mod_security está funcionando!.
créditos: Alexandro Silva (dicas-l)
No comments:
Post a Comment