Proteja seu site WordPress com um firewall de site

Publicados: 2020-08-25
Protect Your WordPress Site With a Website Firewall

A enorme popularidade do WordPress o tornou um alvo enorme para criminosos e hackers que tentam explorar seu site WordPress para ganhar dinheiro rápido. Pode até ser apenas script kiddies procurando ganhar algum crédito na Internet com seus colegas, desfigurando seu site por diversão. Não importa como isso aconteça, qualquer forma de comprometimento do site causará uma séria perda de confiança com seus clientes e poderá facilmente significar o fim da sua marca.

Proteger seu site, seus clientes e sua marca são, portanto, uma prioridade principal sempre que você implanta uma instância do WordPress. Infelizmente, os hackers desenvolveram ferramentas e técnicas sofisticadas para explorar o WordPress e destruir o que você criou. A única maneira de ficar à frente é entender como seu site WordPress pode ser direcionado e como se proteger contra essas ameaças.

Neste artigo, veremos todas as maneiras pelas quais os hackers podem aproveitar as maneiras como seu site WordPress se comunica com a Internet e as defesas que você pode erguer para detê-los antes que causem algum dano.

Filtrando os bits e bytes – um firewall de rede

O envio de dados pela Internet é um processo surpreendentemente complicado. Existem muitas “camadas” da camada de hardware na parte inferior que define a infraestrutura física para várias camadas de software acima, cada uma das quais depende das abaixo. As camadas que nos interessam nesta seção são as camadas host-to-host. Nessas camadas, os dados, como uma imagem que você envia a um amigo, são divididos em pequenos pedaços chamados pacotes. Eles são roteados pela Internet de você (a origem) para seu amigo (o destino), onde são remontados na imagem original que você enviou.

Todos esses pacotes de dados têm várias características que incluem:

  • Protocolo – Por exemplo, TCP, UDP, ICMP e mais
  • Porta - Por exemplo, Web 80/443, E-mail 110/25
  • Endereços IP – Os IPs de origem e destino dos computadores que enviam e recebem os pacotes

Um firewall de rede fica entre a interface de rede e o sistema operacional e inspeciona cada pacote à medida que chega ao servidor. Ele permitirá ou negará que um pacote prossiga para o sistema operacional com base em um conjunto de regras de permissão e bloqueio. Os pacotes são descartados se violarem alguma das regras do firewall.

Um firewall de rede é uma parte indispensável de um servidor e instalação do WordPress, pois bloqueia qualquer comunicação não autorizada com processos que estão escutando acidentalmente ou deliberadamente tráfego malicioso. O único tráfego permitido para o sistema operacional e além disso para o WordPress deve estar em conformidade com as regras rígidas que o firewall impõe.

Um firewall de rede configurado corretamente é uma parte padrão de todos os servidores conectados à Internet. Infelizmente, isso não significa que eles sejam fáceis de instalar e gerenciar. Na verdade, se você tiver acesso apenas à sua instância do WordPress, o gerenciamento de um firewall é impossível porque um firewall eficaz não estará acessível de dentro do WordPress.

Filtrando as solicitações da Web - um firewall de aplicativo da Web

Os hackers ampliaram seu arsenal com um método sofisticado de ataque à rede, onde criam solicitações maliciosas da Web para atacar seu site WordPress. Essas solicitações da Web não violarão nenhuma das regras do firewall da rede, portanto, elas poderão interagir com seu site WordPress, onde podem causar sérios danos.

Para entender como as solicitações maliciosas da Web funcionam, primeiro considere como as solicitações da Web aumentaram em complexidade ao longo dos anos. Antes das tecnologias da Web ativas, como PHP, uma solicitação da Web era muito simples e se parecia com o seguinte:

 http://www.example.com/index.php

Esta solicitação se divide em partes da seguinte forma:

  • http:// – A solicitação está usando o protocolo HTTP.
  • www.example.com – O nome do host que resolve para o endereço IP do servidor web.
  • index.php – O arquivo que está sendo solicitado.

Como você pode ver, este pedido é muito direto. Quando você queria proteger um site, simplesmente criava uma lista de bloqueio de arquivos privados para que o servidor se recusasse a servi-los. Não havia muito mais.

À medida que a tecnologia do site se tornou mais complicada, as oportunidades de explorar essas complexidades também aumentaram.

Um exemplo dessa solicitação maliciosa é conhecido como ataque de injeção de SQL. Esse tipo de ataque tenta ler informações confidenciais ou modificar o banco de dados do WordPress. Ele faz isso criando uma solicitação da web para que um script PHP seja executado e, se o script não tiver sido escrito para verificar suas entradas, permitirá que o invasor leia ou grave no banco de dados do WordPress.

Vamos dar uma olhada em uma simples solicitação da Web de ataque de injeção de SQL. Por exemplo, imagine que você tenha um formulário de login enviado ao navegador do cliente. Quando eles preenchem o formulário, ele envia uma solicitação da web de volta ao servidor que contém o nome de usuário da conta que eles inseriram. Nesta solicitação de exemplo, o ID do nome de usuário é JohnSmith , que nos fornece uma solicitação da Web que se parece com isso:

 http://www.example.com/accountView?id=JohnSmith

Se o script PHP no servidor pegar essa entrada e não verificar sua validade isso pode levar a problemas sérios. Por exemplo, um hacker pode tentar enviar o seguinte URL malformado que não possui ID, por exemplo:

 http://www.example.com/app/accountView? tem um significado especial no SQL, a linguagem dos bancos de dados. Isso pode fazer com que um script mal escrito envie de volta uma lista completa do banco de dados do cliente, talvez incluindo senhas e outras informações confidenciais. Isso é obviamente um desastre.

Então, como você se protege contra essas formas de ataque?

É aqui que entra o Web Application Firewall (WAF). Um WAF é colocado entre a Internet e o WordPress e inspeciona todas as solicitações da Web à medida que chegam ao servidor. Se encontrar qualquer solicitação malformada, como a acima, ou violar sua lista de regras, ela impedirá que essa solicitação chegue ao seu WordPress. Um WAF derrota efetivamente classes inteiras de erros comuns de programação que podem comprometer facilmente um site WordPress que, de outra forma, exigiria a verificação de todos os arquivos PHP em seu site.

Obviamente, esse é apenas um exemplo de solicitação maliciosa de uma gama enorme e em rápida evolução. Isso torna um WAF realmente eficaz um desafio contínuo para adicionar regras que acompanhem os hackers. Assim como um firewall de rede, um WAF é uma proposta tecnicamente desafiadora para configurar e, mais importante, manter.

Parando os Bots – Proteção Bruteforce e reCAPTCHA

A camada final de defesa de rede eficaz é impedir ataques automatizados contra a página de login do painel de administração do WordPress. Esses ataques são lançados por programas que são comumente chamados de “bots” derivados da palavra robô. Os bots são usados ​​por hackers porque trabalham incansavelmente e em grande número para lançar ataques coordenados.

O método mais comum de ataque é direcionar uma página de login com um ataque de força bruta. Isso tenta adivinhar nomes de usuário e senhas para que eles possam fazer login no seu site WordPress.

Um ataque de força bruta funciona tentando muitas combinações diferentes de nome de usuário e senha. Normalmente, essas serão combinações dos nomes de usuário mais populares, como admin ou root , juntamente com as senhas mais comuns, como “123456”. Um ataque de força bruta começaria enviando as seguintes combinações de nome de usuário e senha:

  • administrador: 123456
  • administrador: passw0rd
  • admin: letmein
  • administrador: qwerty
  • raiz: 123456
  • raiz: passw0rd
  • raiz: letmein
  • raiz: qwerty

E continue a partir daí tentando combinações cada vez menos comuns.

O bot tentará algumas centenas a muitos milhares e dependendo de como estiver configurado. A proteção do bruteforce notará todos os logins com falha e bloqueará quaisquer solicitações adicionais provenientes dos endereços IP que enviam as solicitações de login falsas. Essa é uma proteção essencial para que os usuários do WordPress geralmente escolham senhas mais fracas quando têm permissão para escolher suas próprias senhas.

Os ataques do Bruteforce não são o único uso para o qual os bots são usados. Eles também são empregados para sondar seu site em busca de pontos fracos, arquivos confidenciais expostos ou plugins e temas que podem ser comprometidos.

Esses bots podem ser interrompidos por uma ferramenta de abuso de anúncios antifraude padrão do Google chamada reCAPTCHA. O reCAPTCHA classifica automaticamente os humanos dos bots maliciosos, permitindo que os humanos visitem seu site e afastando os bots. Isso geralmente acontece de forma invisível e transparente para o usuário humano, sendo impossível para o bot chegar ao seu site, onde ele tentaria o seu melhor para invadir.

Mas como faço tudo isso?

Se você não tem tempo, conhecimento técnico especializado ou orçamento para configurar e manter um firewall de rede, WAF, detector de força bruta e reCAPTCHA, deixe isso para especialistas como o Rocket. Rocket é um provedor de hospedagem gerenciada que obtém segurança do WordPress. Eles incluem todas essas ferramentas de segurança essenciais como padrão em todas as instalações do WordPress.

Tudo o que você precisa fazer é se inscrever, iniciar um site WordPress e alguns segundos depois começar a criar.

Ou confira Como configurar a autenticação sem senha no WordPress