Dicas

Como proteger o WordPress com o plano gratuito do Cloudflare

O plano gratuito do Cloudflare inclui firewall, proteção contra DDoS e SSL sem custo. A maioria dos usuários ativa o Cloudflare só pelo cache e esquece de configurar a parte de segurança, que é onde está o maior ganho para quem roda WordPress. Abaixo está o passo a passo específico para travar os pontos que mais recebem ataque: tela de login, xmlrpc.php e bots automatizados.

1. Aponte o domínio para o Cloudflare

Antes de qualquer configuração de segurança, o domínio precisa estar com os servidores DNS apontando para o Cloudflare, não para o seu host. Isso faz o tráfego passar pela rede deles antes de chegar ao seu servidor. Sem esse passo, nenhuma regra de firewall funciona, porque o Cloudflare nunca vê a requisição.

No painel do Cloudflare, adicione o domínio, copie os dois servidores de nome (NS) fornecidos e troque-os no registro.br ou no provedor onde o domínio foi registrado. A propagação leva de algumas horas até 24 horas.

2. Ative o SSL/TLS no modo Completo (Estrito)

Em SSL/TLS, escolha o modo Completo (Estrito), não Flexível. O modo Flexível criptografa só entre o visitante e o Cloudflare, deixando a conexão entre o Cloudflare e seu servidor sem criptografia, o que pode gerar loop de redirecionamento no WordPress e deixar uma parte do trajeto exposta. Completo (Estrito) exige certificado válido no servidor de origem.

Em Certificados de borda, ative “Sempre Usar HTTPS” para forçar redirecionamento automático de http para https.

3. Confirme que o Free Managed Ruleset está ativo

O Cloudflare Free Managed Ruleset vem ativado por padrão em todas as contas, incluindo o plano gratuito. Ele bloqueia vulnerabilidades de alto impacto, como as usadas em ataques de SQL injection e falhas críticas divulgadas publicamente. Confirme que o status está como “Ativado” em Segurança > WAF, e deixe a ação padrão como bloqueio.

4. Configure as 5 regras de firewall personalizadas

O plano gratuito permite 5 regras de firewall personalizadas (custom rules). Priorize estas:

Regra 1: Bloquear acesso a xmlrpc.php Campo: URI Path — igual a /xmlrpc.php Ação: Bloquear

O xmlrpc.php é usado em ataques de força bruta distribuída contra o WordPress e a maioria dos sites não precisa dele ativo. Se você usa o app do WordPress no celular ou algum plugin que dependa dele, teste antes de bloquear de forma definitiva.

Regra 2: Restringir wp-login.php e wp-admin ao seu IP Campo: URI Path — contém /wp-login.php OU /wp-admin E: Endereço IP — não é igual ao seu IP Ação: Desafio gerenciado (Managed Challenge)

Isso não bloqueia totalmente, mas obriga qualquer acesso vindo de fora do seu IP a passar por um desafio antes de carregar a tela de login. Se seu IP muda com frequência, use Managed Challenge em vez de bloqueio direto para não trancar você mesmo fora do site.

Regra 3: Bloquear user-agents vazios ou suspeitos Campo: User Agent — está vazio, ou contém strings de ferramentas de scan conhecidas (sqlmap, nikto, masscan) Ação: Bloquear

Scanners automatizados costumam deixar o campo user-agent vazio ou usar o nome da própria ferramenta.

Regra 4: Desafiar países fora do seu público Se seu site atende só ao Brasil, crie uma regra desafiando ou bloqueando tráfego de países de onde você não espera visitantes reais. Ataques automatizados costumam vir de faixas de IP concentradas em poucos países.

Regra 5: Bloquear tentativas de acesso a arquivos sensíveis Campo: URI Path — contém /wp-config.php, .env, /.git Ação: Bloquear

Esses arquivos nunca deveriam ser acessíveis publicamente. Bloquear o caminho é uma segunda camada, além da proteção que o próprio servidor já aplica.

5. Ative o Modo Bot Fight

Em Segurança > Bots, ative o Modo Bot Fight. É gratuito e usa reconhecimento de padrões da Cloudflare para identificar tráfego automatizado. Ele pega bem scanners simples e ataques de credential stuffing.

Um ponto de atenção: o Modo Bot Fight pode desafiar monitores de uptime e alguns clientes de API legítimos que não executam JavaScript. Se um serviço que você usa começar a falhar depois de ativar, veja em Segurança > Eventos o que está sendo desafiado e crie uma exceção para o IP dele com prioridade acima do Modo Bot Fight.

6. Use a regra de rate limiting gratuita no login

O plano gratuito inclui uma regra de rate limiting, com janela de contagem de 10 segundos. Configure ela em cima do wp-login.php: por exemplo, bloquear por 1 hora qualquer IP que faça mais de 5 requisições em 10 segundos para essa URL. Isso corta ataques de força bruta que tentam várias senhas em sequência rápida.

7. Esconda o IP real do servidor

Com o Cloudflare ativo (nuvem laranja) em todos os registros DNS que apontam para o site, o IP real do servidor fica escondido atrás da rede da Cloudflare. Isso impede que um atacante descubra o IP de origem e tente atacar o servidor diretamente, ignorando o firewall.

Cuidado com registros DNS antigos ou subdomínios (como um subdomínio de teste ou o registro de e-mail) que ainda apontem direto para o IP do servidor com a nuvem cinza. Qualquer registro exposto revela o IP real e derruba a proteção dos outros.

O que o plano gratuito não cobre

O Free Managed Ruleset é uma base, não é o conjunto completo de regras da Cloudflare. Recursos como o OWASP Core Ruleset completo, mais de 5 regras personalizadas e múltiplas regras de rate limiting ficam nos planos pagos, a partir do Pro. Para a maioria dos sites pequenos e médios, a combinação de regras gerenciadas, 5 regras personalizadas, Modo Bot Fight e rate limiting já cobre os ataques mais comuns contra WordPress.

O Cloudflare protege a camada de rede e filtra tráfego antes de chegar ao servidor. Ele não substitui atualização de plugins, senha forte e backup, que continuam sendo responsabilidade de quem administra o site.

Checklist

  • DNS apontando para o Cloudflare, com proxy (nuvem laranja) ativo
  • SSL/TLS em modo Completo (Estrito)
  • Sempre Usar HTTPS ativado
  • Free Managed Ruleset confirmado como ativo
  • 5 regras personalizadas configuradas (xmlrpc.php, wp-login/wp-admin, user-agent suspeito, geolocalização, arquivos sensíveis)
  • Modo Bot Fight ativado
  • Regra de rate limiting aplicada ao wp-login.php
  • Nenhum registro DNS exposto com nuvem cinza
Compartilhe:

Innova