Press "Enter" to skip to content

Infraestrutura para Aplicações Web Seguras parte 3 – Aplicação

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:

* Apache MPM Prefork

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

* Apache MPM Worker

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

* Server Tokens

De
ServerTokens Full

Para
ServerTokens Prod

* ServerSignature

De
ServerSignature On

Para
ServerSignature Off

* TraceEnable

De
TraceEnable On

Para
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.

2 Comments

Comments are closed.