Segurança para o apache2: instalando o mod_security
Novembro 12, 2007
Ultimamente estive pesquisando e estudando esse módulo para o apache aqui onde trabalho como mais uma ferramenta de segurança para servidores.
Como nenhum servidor é 100% seguro, soluções de segurança são sempre bem vindas. Então explicarei aqui de forma simples e fácil como instalar o mod_security para apache2 (estou usando apache 2.2.4 + php 4.4.6 em uma máquina rodando freebsd 6.2).
Bibliotecas necessárias
Nessa instalação utilizei o FreeBSD, portanto para instalar as bibliotecas que precisei, utilizei o ports atualizado. As bibliotecas são
-> libxml2 (/usr/ports/textproc/libxml2)
-> pcre (/usr/ports/devel/pcre)
Instalando Apache
Faça o download do fonte clicando AQUI.
Descompacte o arquivo com o comando:
# tar -zxvf httpd-2.2.4.tar.gz
A seguir para sua compilação e instalação, siga os passos:
#./configure –prefix=/diretorio/de/escolha/httpd-2.2.4 –enable-so –enable-unique-id –enable-pcre=/usr/local
#make clean
#make
#make install
Instalando o PHP 4.4.6
A instalação do php pode ser um pouco mais trabalhosa dependo do que você planeja fazer. Nos servidores que utilizam o php aqui onde trabalho, por exemplo, a linha do configure inclui muuuuitos parâmetros; mas isso é opcional, pois depende do que você planeja rodar no seu site. Faremos aqui uma compilação básica. Fica a gosto da administrador incluir (ou retirar) quaisquer parâmetros.
Faça o download do fonte clicando AQUI.
E a seguir descompacte-o com o mesmo comando:
#tar -zxvf php-4.4.6.tar.gz
A seguir, os parâmetros de instalação:
#./configure –prefix=/diretorio/de/escolha/php-4.4.6 –with-config-file-path=/diretorio/de/escolha/php-4.4.6/lib –with-apxs2=/instalacao/do/apache/bin/apxs –with-dom=/usr
#make clean
#make
#make install
E pronto! Seu servidor básico está instalado! Agora vem a parte do mod_security
Após ler e percorrer vários tutoriais, resolvi criar este para sanar de vez as dúvidas… pois o que canso de encontrar por ai, são réplicas de tutoriais de outras pessoas.. que as vezes estes ditos “autores” não mudam nem uma vírgula sequer.
Pois bem, para a instalação do mod_security faça o seguinte:
Baixe o fonte no SITE dos criadores do mod_security. Ele aponta para um outro site da Breach Security Network que pedirá um cadastro para o download.
Obs: O ports para FreeBSD pode ser acessado AQUI.
Após o download, descompacte o arquivo:
#tar -zxvf modsecurity-apache_2.1.3.tar.gz
Dentro de seu diretório, existe o arquivo a pasta apache2. Dentro dela existe o arquivo Makefile. Abra-o em seu editor de textos favoritos e edite as seguintes linhas:
top_dir
-> Mude o diretório para o diretório onde foi instalado o seu Apache.
INCLUDES
-> Mude a para a pasta onde está instalado a libxml2 na sua máquina.
Em seguida compile tudo com o comando:
# make
E instale com:
# make install
Em seguida abra o arquivo httpd.conf (o arquivo de configuração do seu apache) no seu editor de textos favorito e insira as seguintes linhas:
LoadFile /usr/local/lib/libxml2.so
LoadModule security2_module modules/mod_security2.so
Agora vem a parte de configuração do mod_security que consiste em adicionar as regras que ele aplicará ao seu site. Essa parte é mais complexa (você achou complicado até agora?) pois envolve muito mais conhecimento de expressões regulares e php. Como não sou um profundo conhecedor dessa área ainda, colocarei alguns links para que você faça o que quiser, ficando a seu critério colocar as regras:
http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html
instalando mod_security
http://www.securityfocus.com/infocus/1739
http://www.gotroot.com/mod_security+rules
(O segundo link acompanha um tutorial de como instalar o mod_security versao 1.9.4)
Após a inserção do código propriamente dito do mod_security inicie seu servidor apache e você terá seu apache + php + mod_security rodando.
Lembre-se que isso não o livrará de todos os perigos que rondam a internet. Isso poderá te salvar de uma mínima parcela de problemas que um site grande enfrenta durante sua vida online, e é minimizando os problemas que você terá menos dor de cabeça.
Dúvidas? Críticas? Sugestões? Coisas erradas? Deixa um comentário!
(Fonte)



