Um guia para fortalecer seu servidor web

Publicados: 2022-03-15

Devido à sua função, os servidores da Web são diferentes de muitos outros dispositivos em um ambiente de rede típico - eles não são apenas expostos à Internet por design, mas provavelmente fornecem tráfego da Web para completos estranhos. Além disso, em muitas situações, os servidores da Web provavelmente atendem a aplicativos dinâmicos, como sites do WordPress ou atuam como proxies para outros aplicativos internos. Portanto, não é surpresa que os servidores da Web sejam alvos interessantes para os invasores.

O fortalecimento de um sistema refere-se ao processo de melhorar as defesas de um sistema, de modo que seja mais difícil para um hacker mal-intencionado comprometer esse sistema e ganhar uma posição dentro de uma rede.

O processo de fortalecimento de um servidor web dependerá, é claro, do tipo de servidor web que você está usando (por exemplo, Apache HTTP Server, Nginx, Microsoft IIS…), no entanto, existem vários princípios básicos e práticas recomendadas para melhorar seu segurança do servidor web que você deve ter em mente, independentemente de qual servidor web você está usando.

Este artigo é um guia de proteção do servidor web. Nele, veremos várias práticas recomendadas independentes de tecnologia pelas quais você pode melhorar a segurança de seu servidor web. Para proteção do WordPress, consulte nosso guia de segurança e proteção do WordPress.

1. Mantenha seu servidor web atualizado

Manter o software atualizado pode não parecer grande coisa, mas aplicar os patches de segurança no prazo é sem dúvida uma das defesas mais importantes que você pode implementar. Além das melhorias de desempenho e estabilidade, as atualizações do servidor web e do sistema operacional geralmente contêm correções para vulnerabilidades de segurança.

À primeira vista, pode parecer trivial, no entanto, qualquer profissional de segurança da informação lhe dirá que o patch é mais complicado do que parece - não porque instalar a versão mais recente da maioria dos softwares seja particularmente difícil, mas porque o patch é sempre visto como algo que pode ser adiado.

A melhor abordagem para garantir que o software do seu servidor web seja constantemente atualizado é encontrar um sistema ou rotina que funcione para você ou para quem está encarregado de atualizar o software do servidor web e do sistema operacional. Na maioria das vezes, tudo se resume a um lembrete periódico (por exemplo, configurar um evento de calendário repetido) para o qual você terá tempo.

2. Remova software e módulos desnecessários

Embora nem sempre pareça, os servidores da Web são softwares complexos. Alguns servidores da web, como o Apache HTTP Server, são fornecidos com uma série de “módulos” (semelhantes ao que os plugins são para o WordPress) que você pode ativar ou desativar dependendo do seu caso de uso. Os invasores maliciosos são conhecidos por aproveitar os recursos e vulnerabilidades de um módulo de servidor web para coletar mais informações sobre seu servidor web. Embora isso possa não ser o único motivo para um ataque bem-sucedido, o objetivo principal do fortalecimento do servidor da Web é adotar uma abordagem de defesa em profundidade e dificultar que os agentes mal-intencionados ganhem até mesmo os menores pontos de apoio.

Um exemplo prático disso são módulos como o mod_status do Apache HTTP Server. Este módulo foi projetado para obter uma visão geral da atividade e desempenho do servidor (hosts atuais, número de solicitações processadas, número de trabalhadores ociosos e utilização da CPU) por meio da URL /server-status. Esse recurso pode fornecer a um invasor uma boa indicação do desempenho do seu servidor da Web - uma ferramenta bastante útil no caso de um ataque de negação de serviço (DoS).

Da mesma forma, outros softwares não utilizados em execução em seu servidor web podem representar um risco desnecessário. Por exemplo:

  1. Você está executando um servidor FTP, como vsftpd , que você não precisa?
  2. Existe um agente de transferência de e-mail, como Sendmail ou Postfix, que você não precisa mais? Se você usar um serviço de terceiros para melhorar a capacidade de entrega de e-mail do WordPress, não precisará desse serviço.

Esses aplicativos/serviços e muitos outros no servidor são todos componentes que têm suas próprias peculiaridades de segurança, vulnerabilidades e requisitos de correção.

Em resumo, execute menos software sempre que possível. Se você não estiver usando um módulo ou serviço, deverá desativá-lo ou removê-lo. Naturalmente, não desabilite apenas módulos ou aplicativos sem testes completos em um ambiente de desenvolvimento ou teste (às vezes pode não estar totalmente claro que um módulo ou aplicativo de servidor web está sendo usado).

3. Aperte o controle de acesso

Controlar o acesso ao seu servidor web é essencial para acertar. Afinal, você quer minimizar a chance de o acesso ao seu servidor web cair em mãos erradas. A seguir estão algumas práticas recomendadas a serem seguidas em relação à manutenção do controle de acesso adequado.

  • Não use o usuário root. Se você precisar executar tarefas administrativas, use sudo;
  • Use senhas fortes do sistema (e do WordPress);
  • Use chaves SSH em favor de senha ao usar SSH;
  • Considere restringir o acesso SSH/RDP de endereços IP específicos;
  • Habilite a autenticação de dois fatores (2FA) em qualquer conta de provedor de nuvem;
  • Certifique-se de que cada pessoa que acessa o servidor web tenha seu próprio usuário—não compartilhe contas de usuário entre usuários;
  • Limite o acesso ao shell/SSH/Área de trabalho remota explicitamente às pessoas que precisam.

4. Configure o Monitoramento da Integridade do Arquivo (FIM)

O File Integrity Monitoring (FIM) ajuda os administradores de sistema a identificar quando os arquivos são alterados em um servidor web. Embora alguns arquivos sejam alterados com bastante frequência como parte das operações normais do servidor web, arquivos como uma instalação do WordPress nunca devem ser alterados, a menos que um administrador esteja fazendo alterações (por exemplo, atualizando o arquivo wp-config.php) ou atualizando o próprio WordPress.

Embora haja uma infinidade de opções que você pode optar por usar quando se trata de Monitoramento de integridade de arquivos, é aconselhável ficar com algo específico para o aplicativo que você está executando, é simples de configurar e operar e não requer um muita sintonia. Caso contrário, você estará se afogando em notificações sem sentido e, antes que perceba, a fadiga de alerta se instalará, apagando seu esforço de estar com você. Em suma, mais alertas e recursos não significam melhor quando se trata de FIM, em vez disso, procure uma solução que ofereça o maior valor com o mínimo de sobrecarga.

5. Use um serviço de mitigação de DDoS e WAF

Em vez de expor seu servidor web diretamente à Internet, você deve considerar o uso de um serviço como Cloudflare, Fastly, Akamai ou similar para se proteger contra uma vasta gama de ataques, incluindo ataques Distributed Denial of Service (DDoS). Um ataque de negação de serviço (DoS) é um tipo de ataque no qual um invasor visa sobrecarregar um site com solicitações e, como resultado, impedir que seu servidor da Web atenda solicitações a usuários legítimos.

Além da mitigação de negação de serviço, esses serviços em nuvem normalmente também oferecem recursos de Web Application Firewall (WAF) que são capazes de interromper muitos ataques comuns a aplicativos da Web, como injeção de SQL básica (SQLi) e cross-site simples. Script (XSS). Embora os WAFs não sejam uma solução para vulnerabilidades de aplicativos da Web, eles oferecem alguma proteção contra exploração, especialmente com regras WAF otimizadas para sites WordPress.

Quais são os próximos passos?

Embora este artigo aborde algumas técnicas comuns de proteção de servidores da Web, nada em segurança é uma bala de prata. Como tal, nenhum método de defesa de um sistema é infalível, especialmente diante de um adversário determinado. Portanto, por que você precisa proteger todos os componentes que compõem seu site WordPress. Você não pode proteger seu servidor web e ignorar a segurança do WordPress ou seu próprio computador.

No entanto, correções constantes e boas práticas de segurança e higiene podem aumentar drasticamente o esforço que um invasor precisa fazer para realizar um ataque com sucesso – o que, na maioria das vezes, significa frustrar o invasor, forçando-o a um alvo mais fácil.