Pular para o conteúdo

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.



Edson Pereira Junior JuniorDiaz
Hits: 19.934 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

Parte 2: 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
   1. Instalando Apache2 com PHP5
   2. Configurando o Mod-Security
Nenhum artigo encontrado.

Tornando seu Apache mais seguro com o ModSecurity

Sudoers 1.8.12 - Parte IV - Manual

Tor no BackTrack 5 - Instalação, configuração e utilização

Sistema de gerenciamento de logs do Linux

Diminua os vetores de exploração, conheça o DOAS

#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

Contribuir com comentário

Entre na sua conta para comentar.