Finalizando nossa trilogia farei algumas recomendações para fortalecer o Apache2 e algumas referências sobre boas práticas de segurança no desenvolvimento de aplicações.
Apache2 Seguro
1 – Atualização
É chato falar sempre a mesma ladainha mas atualização é o item número 1 de qualquer cheklist de pós instalação. Sobre isso comentei na 1a. parte.
2 – Escolha o módulo do Apache que melhor atenda suas necessidades
Isso mesmo. Existe um módulo do Apache para cada necessidade vejamos:
Ele implementa um non-threaded web server que processa os pedidos de maneira similar ao Apache 1.3, sendo o melhor MPM para isolar cada requisição, assim um problema com uma única requisição não afetará as outras.
Ele é auto ajustável tornando muito rara a necessidade de ajustar as suas diretivas de configuração.O mais importante é que a diretiva MaxClients possua um valor suficientemente grande para lidar com tantas solicitações simultâneas, mas pequena o suficiente para assegurar que haja bastante RAM física para todos os processos.
Para instalar o Apache MPM Prefork execute
aptitude install apache2-mpm-prefork
Ele implementa um multi-threaded server hibrido. Usando threads para tratar as requisições. Ele atende a apliações que neessitam atender muitas requisições usando poucos recursos do sistema, entretando ele retém a estabilidade do servidor porque mantem muitos processos abertos onde cada um desse processos rodam várias threads.
As diretivas mais importantes no uso deste módulo são: ThreadsPerChild e MaxClients
Para instalar o Apache MPM Worker execute
aptitude install apache2-mpm-worker
Apache Hardening
Este assunto já foi tratado anteriomente porém quero atualizar alguns itens:
* Edite os seguintes parâmetros do arquivo /etc/apache2/conf.d/security
De
ServerTokens FullPara
ServerTokens Prod
De
ServerSignature OnPara
ServerSignature Off
De
TraceEnable OnPara
TraceEnable Off
* Protega o acesso aos arquivos
Edite os arquivos existentes no diretório /etc/apache/sites-available . Altere os parâmetros diretiva Directory / deixando da seguinte forma:
Order Deny,Allow
Deny from all
Habilite o mod_security
Se você possuir um espírito aventureiro e gostar de fortes emoções recomendo o uso do mod_security. Ele bloqueia o monitoramento de requisições e respostas HTTP tanto quanto a negação de pacotes suspeitos.
Se você possui as caracteristicas acima então siga meu post com o passo a passo para habilitá-lo.
Links Recomendados
* Apache Performance Tunning
* Apache Security Tips
Auditoria – Ferramentas
Nikto
O Nikto Webserver Scanner é uma excelente ferramenta de auditoria para servidores Web. Escrito em perl e mantido pelo CIRT se tornou parte integrante do Nessus.
Muito cuidado com os reports gerados por ele, o ideal é estudar e testar cada alerta gerado pois alguns deles são falsos positivos, isso não tira de forma alguma o brilho desta ferramenta.
W3af
O W3af é um completo framework para ataque e auditoria de servidores Web. Ele faz o serviço completo ( barba, cabelo e bigode ) sendo capaz de fazer uma simples auditoria de vulnerabilidades ao ataque propriamente dito.
Diferentemente do Nikto ele é um devorador de recursos e pode levar dias para concluir uma auditoria de acordo com os plugins habilitados, principalmente se habilitar todos os plugins do módulo Discovery.
Para um relatório efetivo de como anda a segurança do seu Webserver recomendo o trabalho em conjunto do Nessus, Nikto e o W3af.
[…] March 3, 2010 by alexos · Leave a Comment […]
[…] completar o post anterior eu não poderia deixar de lado os nossos amigos e companheiros de luta – OS […]