Apache2 + PHP5 com ModSecurity no Debian Squeeze

O ModSecurity (http://www.modsecurity.org) é um Firewall de aplicação que é executado como um
módulo do servidor Web Apache e neste artigo, ensinarei como instalar o ModSecurity 2.6.3 no Debian Squeeze.



[ Hits: 19.606 ]

Por: Edson Pereira Junior em 10/02/2012


Configurando o Mod-Security



Configuramos com o minimo necessário, para correr o Mod-Security:

# cp modsecurity.conf-recommended /etc/apache2/conf.d/modsecurity.conf

Agora baixe o pacote de regras mais atuais e instalaremos.

* Neste caso, ao montar este tutorial, foi o 'ModSecurity-crs_2.2.3', mas olhar para este site:
# cd /etc/apache2/
# wget -O modsecurity-crs.tar.gz
http://ufpr.dl.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.3.tar.gz
# tar xzvf modsecurity-crs_2.2.3.tar.gz
# mv modsecurity-crs_2.2.3 /etc/apache2/modsecurity_crs
# rm -fr modsecurity-crs.tar.gz
# chown root.root /etc/apache2/modsecurity_crs/ -R
# cd /etc/apache2/modsecurity_crs
# mv modsecurity_crs_10_config.conf.example modsecurity_crs_10_config.conf


Agora, ajustaremos as configurações do Mod-Security, para apontar os arquivos de Log onde queremos, e incluem apenas o pacote de regras que acabamos de baixar.

Para fazer isso, edite o arquivo de configuração:

# nano /etc/apache2/conf.d/modsecurity.conf

Buscaremos seguintes linhas:

# SecDebugLog /opt/modsecu
# SecDebugLogLevel 3


Descomentamos elas e deixamos da seguinte forma:

SecDebugLog /var/log/apache2/modsec_debug.log
SecDebugLogLevel 3


Logo, buscamos essas linhas;

# SecAuditLogType Serial
# SecAuditLog /var/log/modsec_audit.log


Descomentamos elas e deixamos da seguinte forma:

SecAuditLogType Serial
SecAuditLog /var/log/apache2/modsec_audit.log


No final do arquivo, adicione as seguintes linhas, que serão utilizados para carregar todas as regras do pacote que baixamos:

Include /etc/apache2/modsecurity_crs/*.conf
Include /etc/apache2/modsecurity_crs/base_rules/*.conf


Salvamos o arquivo e saímos.

Abaixo, prepararemos os Logs que vamos usar e vamos definir as permissões necessárias:

# touch /var/log/apache2/modsec_debug.log
# touch /var/log/apache2/modsec_audit.log
# chown root.root /var/log/apache2/modsec_*
# chmod 660 /var/log/apache2/modsec_*


Verificando a configuração

É isso, agora podemos confirmar no Apache para verificar se está tudo OK na configuração.

Executar o seguinte comando no terminal, para ver se está tudo OK:

# apache2ctl configtest

Se estiver OK, vamos ver:
Syntax OK

* NÃO CONTINUE se não ver a mensagem acima!

Agora, se tudo estiver OK, podemos reiniciar o Apache2:

# /etc/init.d/apache2 restart

Depois de reiniciar, podemos olhar para o Log de erros do Apache para ver se de fato carregou o módulo ModSecurity:

# tail /var/log/apache2/error.log

E deveríamos ver algo similar a:
[Wed Jan 15 19:15:59 2011] [notice] ModSecurity for Apache/2.6.3 (http://www.modsecurity.org/) configured
[Wed Jan 15 19:16:00 2011] [notice] ModSecurity: APR compiled version="1.4.2"; loaded version="1.4.2"
[Wed Jan 15 19:16:00 2011] [notice] ModSecurity: PCRE compiled version="8.2"; loaded version="8.02 2010-03-19"
[Wed Jan 15 19:16:00 2011] [notice] ModSecurity: LIBXML compiled version="2.7.8"
[Wed Jan 15 19:16:01 2011] [notice] Apache/2.2.9 (Debian) PHP/5.3.3-7+squeeze3 with Suhosin-Patch configured -- resuming normal operations

É isso aí! Em funcionamento o ModSecurity em nosso Apache!
Linux: Apache2 
+ PHP5 com ModSecurity no Debian Squeeze

Referências


Texto: Edson Dias Pereira Junior
Estudante do 5º ciclo de Segurança da Informação na Fatec Ourinhos-SP
Página anterior    

Páginas do artigo
   1. Instalando Apache2 com PHP5
   2. Configurando o Mod-Security
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Portal de autenticação wireless (HotSpot)

Definição de hacker

Procurando rootkits no seu sistema

Entrevista com um hacker, via Internet

Data Recovery em dispositivos e partições formatadas com Linux

  
Comentários
[1] Comentário enviado por JuniorDiaz em 10/02/2012 - 10:06h

Para complementar. Na url http://www.modsecurity.org/download/ tem repositŕorios que facilitariam o processo de instalação e principalmente o de atualização.

Pro debian:
http://packages.debian.org/search?searchon=sourcenames&keywords=modsecurity-apache

Centos/red-hat:
http://www.jasonlitka.com/yum-repository/

Fedora:
http://fedoraproject.org/wiki/EPEL


Na próxima dica estarei ensinando como fazer as atualizações dos confs automaticamente.

[2] Comentário enviado por removido em 10/02/2012 - 12:34h

Muito bom o artigo !

[3] Comentário enviado por monk_dias em 13/02/2012 - 09:10h

Muito bom o artigo! Obrigado por compartilhar!

[4] Comentário enviado por roberto_espreto em 13/02/2012 - 23:26h

Quanto a instalação do mod_sec está tranquilo! Mais falta um bucado pra deixá-lo bem configurado heim!
Do jeito que está, se eu utilizar um vetor de ataque utilizando o método de requisição POST, eu faço o bypass do seu WAF que ele nem vai logar nada! :P
Como dica, seria interessante fazer uma segunda parte abordando mais configurações avançadas. Qualquer coisa tamos aee! :D


Edit: 14/02 07:33
Revendo as configs do mod_sec, agora ele está logando requisições post sim com a regra "SecRequestBodyAccess On", vou deixar o comentário que fiz acima, mas desconsidere! :D


Att,

[5] Comentário enviado por JuniorDiaz em 14/02/2012 - 08:55h

Então roberto_espreto existe várias configurações para serem feitas , ainda mais em ataques ddos com o T50 como por ex , estou estudando algumas configs para estar passando aqui em outro artigo, em que , será de atualização automatica e configs adicionais.

Att

[6] Comentário enviado por juniordiaz em 25/05/2012 - 17:51h

http://ufpr.dl.sourceforge.net/project/mod-security/modsecurity-apache/2.6.5/modsecurity-apache_2.6....

Link de download atualizado dia 25/05/2012


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts