Cada vez mais frequentes, os ataques á sites Web tiram o sono de qualquer Administrador. Abaixo listamos algumas dicas para melhorar a segurança de seu ambiente Web. Serão abordadas dicas para Servidores com Apache e Nginx.
1 – Oculte a versão do software utilizado
Tanto o Apache quanto Nginx, principalmente em suas telas de erro, exibem a informação da versão do software utilizada. Essa informação, aparentemente inofensiva, pode ser útil para o atacante, que pode buscar um ataque “específico” para versão que você está usando.
Para desabilitar no Apache, basta alterar a seguinte opção no arquivo httpd.conf:
ServerSignature Off
Para desabilitar no Nginx, alterar a opção abaixo no nginx.conf:
server_tokens off;
2 – Desabilitar métodos TRACE/TRACK
Esses métodos vem habilitados por padrão no Apache. Para desabilitá-los, basta alterar a opção abaixo no httpd.conf:
TraceEnable off
3 – Utilize “VirtualHosts” e restrinja acesso “direto” ao servidor.
Utilize VirtualHosts mesmo quando tiver apenas um site no servidor. Isso evitará que o site seja “descoberto” por scans na rede.
4 – Sistema de arquivos “somente leitura” para usuário apache/nginx
Dê permissão de escrita somente nos diretórios que forem necessários (pasta de uploads, por exemplo). Neste caso, pode-se retirar permissão de execução para estas pastas.
5 – Utilize Firewall de Aplicação Web sempre que possível.
Um Firewall de Aplicação Web ou WAF (Web Application Firewall), é um filtro onde se aplica um conjunto de regras para uma conexão HTTP. O mais conhecido é o ModSecurity, que pode ser instalado para ser utilizado com Apache (uso no Nginx está em estado “beta”). Para o Nginx, pode-se utilizar o Naxsi.
O uso do WAF não garante por si só a segurança, mas é uma ferramenta importante para a mitigação dos problemas e vulnerabilidades dos softwares/sistemas.
6 – Restrinja opções “perigosas” do PHP
Algumas funções do PHP podem ser extremamente “perigosas” se não utilizadas adequadamente, e em grande parte das vezes podem ser desabilitadas sem prejuízo nenhum. A opção para desabilitá-las se encontra no arquivo php.ini (normalmente em /etc/php.ini). Segue abaixo algumas:
# Impede ataques de RFI e LFI ( Remote e Local File Inclusion ) . Obs: Atualização automática de softwares (CMS, por exemplo) podem não funcionar sem essa função. Todavia, você pode simplesmente habilita-lá quando for utilizar.
allow_url_fopen = Off
# Impede que mensagens de erros sejam exibidas no browser
display_errors = Off
# Impede a execução de caracteres especiais digitados em campos de formulário convertendo-os em barra invertida. Protege contra ataques de SQL injection
magic_quotes_gpc = Off
# Impede o acesso a arquivos remotos através dos parâmetros include ou require, evitando injeção de código malicioso.
allow_url_include = Off
# Impede a exibição das informações sobre o PHP no browser
expose_php = Off
# Impede a execução de strings maliciosas devido as falhas no desenvolvimento da aplicação.
register_globals = Off
# Desabilitar algumas funções “perigosas” do PHP:
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Comentários
Postar um comentário