Fortaleça a segurança do seu servidor web Apache com estas práticas recomendadas, garantindo a proteção robusta da sua aplicação online.
O servidor web é um pilar fundamental das aplicações online. Uma configuração inadequada ou permissiva pode expor dados sensíveis, representando um risco significativo para a segurança.
Como gestor ou administrador de um website, é crucial realizar auditorias de segurança periódicas para identificar potenciais vulnerabilidades e neutralizar ameaças antes que hackers as explorem.
Vamos explorar algumas configurações cruciais para aprimorar a segurança do seu servidor Apache.
Todas as configurações que se seguem devem ser aplicadas no arquivo httpd.conf da sua instalação do Apache.
Aviso Importante: Antes de qualquer alteração, realize um backup do arquivo de configuração. Isso facilitará a restauração caso algo não saia como esperado.
Desabilite o Rastreamento de Requisições HTTP
A diretiva TraceEnable, por padrão, permite o uso do método TRACE, o que pode comprometer a segurança, pois impede que o corpo da requisição seja rastreado.
Quando TraceEnable está desativado, o servidor principal e o módulo mod_proxy retornam um erro 405 (Método Não Permitido) ao cliente.
Manter TraceEnable ativo pode abrir brechas para ataques de Cross-Site Tracing, permitindo que hackers roubem informações de cookies.
Solução
A melhor solução é desativar o método TRACE HTTP no arquivo de configuração do Apache.
Para isso, adicione ou modifique a seguinte linha no seu arquivo httpd.conf:
TraceEnable off
Execute o Apache com um Usuário e Grupo Dedicados
Por padrão, o Apache pode ser executado com as permissões de um usuário genérico como “nobody” ou “daemon”.
Evite, sob qualquer circunstância, executar o Apache com permissões de root (super-usuário), a menos que você compreenda perfeitamente os riscos envolvidos.
Solução
A prática recomendada é executar o Apache sob uma conta de usuário não privilegiada. Modifique as diretivas User e Group no arquivo httpd.conf do seu servidor:
User apache
Group apache
Desabilite a Exibição da Assinatura do Servidor
A configuração padrão (“Off”) suprime a exibição da linha de rodapé com informações do servidor.
A configuração “On” adiciona informações como a versão do servidor e o ServerName do host virtual.
Solução
Desabilitar a assinatura é uma prática de segurança prudente, pois evita que informações sobre a versão do Apache sejam divulgadas.
ServerSignature Off
Oculte o Banner do Servidor
Esta diretiva controla a inclusão, no cabeçalho de resposta do servidor, de informações detalhadas sobre o sistema operacional e os módulos compilados.
Solução
Para evitar a divulgação desnecessária de informações, configure:
ServerTokens Prod
Restrinja o Acesso por Endereço IP ou Rede
Se deseja limitar o acesso ao seu website a uma rede ou endereço IP específico, ajuste a configuração do diretório do site no httpd.conf.
Solução
Utilize a diretiva Allow para especificar os endereços de rede autorizados:
<Directory /seuwebsite>
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.20.0.0/24
</Directory>
Ou especifique um endereço IP:
<Directory /seuwebsite>
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.20.1.56
</Directory>
Use Somente TLS 1.2 ou Superior
As versões SSL 2.0, 3.0, TLS 1 e 1.1 são conhecidas por apresentarem vulnerabilidades criptográficas.
Precisa de ajuda para configurar o SSL? Consulte este guia.
Solução
SSLProtocol -ALL +TLSv1.2
Desative a Listagem de Diretórios
Quando um diretório não possui um arquivo index.html, o navegador pode exibir a lista de todos os arquivos e subdiretórios (similar a um comando ls -l).
Solução
Para desabilitar a navegação em diretórios, defina a opção Options como “None” ou “-Indexes”.
<Directory />
Options None
Order allow,deny
Allow from all
</Directory>
OU
<Directory />
Options -Indexes
Order allow,deny
Allow from all
</Directory>
Remova Módulos DSO Desnecessários
Verifique cuidadosamente a sua configuração e remova todos os módulos DSO que não são essenciais para o funcionamento da sua aplicação.
Muitos módulos são ativados por padrão após a instalação, e alguns podem ser desnecessários e potencialmente introduzir vulnerabilidades.
Desabilite Cifras Nulas e Fracas
Permita somente cifras fortes para evitar vulnerabilidades que podem ser exploradas por ataques.
Solução
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Mantenha o Apache Atualizado
Como o Apache é um projeto de código aberto em constante evolução, manter a versão mais recente é a melhor forma de garantir a sua segurança. Novas correções e patches são incluídos em cada atualização. Sempre utilize a versão mais recente e estável do Apache.
Estas são apenas algumas das configurações essenciais para a segurança do seu servidor Apache. Para uma abordagem mais completa, consulte um guia detalhado de segurança.
Gostou do artigo? Compartilhe estas dicas com outros profissionais!