Como tornar seu ambiente web muito mais seguro

Cada vez mais frequentes, os ataques em 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.

 

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;

 

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

 

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.

Sistema de arquivos “somente leitura” para usuário do sistema

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.

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 (Remo allow_url_fopen = Off

# Impede que mensagens de erros sej display_errors = Off

# Impede a execução de caracteres e magic_quotes_gpc = Off

# Impede o acesso a arquivos remoto allow_url_include = Off

# Impede a exibição das informações expose_php = Off

# Impede a execução de strings mali register_globals = Off

# Desabilitar algumas funções “peri disable_functions = show_source, sy

 

Restrinja acesso páginas administrativas

 

Quase a metade dos sites da Internet (45%) utilizam algum tipo de CMS (Content Management System). Em geral, os softwares CMS possuem uma interface de administração (/wp-admin, /administrator, etc); por meio desta interface o usuário faz a administração do site. Esta página também pode ser a “porta de entrada” de possíveis atacantes, por meio de ataques de força bruta ou utilizando alguma credencial descoberta previamente. Uma boa prática para evitar isso é restringir (por meio de um arquivo .htacess, por exemplo) o acesso á essas páginas, deixando liberado apenas para quem de fato utiliza a mesma.

 

Utilize um Firewall de Aplicação Web (WAF)

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. Uma opção é o ModSecurity, que é amplamente utilizado e possui vasta documentação na Internet.

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.

 

Utilize HTTPS

O HTTPS é a implementação do protocolo HTTP sob uma camada de proteção SSL/TLS. Essa camada criptografa os dados da conexão, fazendo com que a transmissão de dados entre

o servidor e o cliente seja feita de forma segura. Permite também que o cliente possa verificar a autenticidade do servidor com o uso do Certificado Digital.

Recomenda-se que o serviço seja configurado para utilizar os protocolos e cifradores mais recentes. O link abaixo pode auxiliar na configuração do software para utilizar HTTPS: https://mozilla.github.io/server-side-tls/ssl- config-generator/

 

Habilite SELinux

O SELinux está presente no kernel Linux desde a versão 2.6.x, no entanto é muito comum os Administradores de servidores desabilita-lo.

Estimativas de incidentes na web mostram que mais de 90% dos incidentes com Servidores Web Linux poderiam ter sido evitados se o SELinux estivesse ativo.

O SELinux provê uma camada de proteção extremamente importante para o sistema.

 

Fontes:

OWASP

Technet Microsoft

W3Techs

 

 

Escrito por:

Wagner  Morais

Especialista de Infraestrutura, MBA em  Segurança da Informação pela Estácio (São Paulo/SP) e formação em Ciências da Computação pela Universidade Santa Cecilia (Santos/SP).

Há mais de 14 anos na área de Tecnologia da Informação, possui entre outras qualificações, certificações da Microsoft, VMware e Linux.

Seja o primeiro a comentar

Deixe uma resposta

O seu endereço de email não será publicado.


*