🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como proteger contra ataques de forca bruta no login do WordPress

Time Full Services Time Full Services
Tipo Seguranca
Nome do erro Ataque de força bruta no login EN: Login brute force attack
Severidade Grave
Descrição Um ataque de forca bruta no WordPress tenta adivinhar usuário e senha enviando milhares de combinacoes ao wp-login.php. A proteção combina limitar tentativas, exigir senha forte com 2FA e bloquear ou esconder a página de login.

O que é o ataque de forca bruta no login do WordPress?

Um ataque de forca bruta e quando um bot envia automaticamente milhares de combinacoes de usuário e senha para a página de login do WordPress (wp-login.php) ou para o endpoint xmlrpc.php, tentando acertar as credenciais por tentativa e erro. Como o WordPress, por padrão, não limita o número de tentativas, um atacante pode insistir indefinidamente. Além de arriscar a invasao, a enxurrada de requisicoes consome CPU e memória, deixando o site lento ou fora do ar. A defesa não e um único ajuste, e sim camadas: limitar tentativas, exigir senha forte com segundo fator e reduzir a exposicao da página de login.

Como identificar

  • Os logs de acesso mostram centenas de requisicoes POST a “wp-login.php” ou “xmlrpc.php” vindas de vários IPs.
  • O site fica lento ou cai com pico de CPU em horarios sem tráfego real, por causa das tentativas de login.
  • Plugins de segurança enviam alertas de “too many failed login attempts” ou bloqueio de IP.
  • A hospedagem avisa de uso anormal de recursos apontando o wp-login.php como origem.
Antes de começar: Antes de restringir o wp-login.php por IP, confirme que o seu endereco e fixo ou tenha um plano B (acesso por FTP) para reverter. Um bloqueio mal configurado pode trancar você mesmo para fora do painel.

Como prevenir

  • Mantenha limite de tentativas de login e 2FA ativos em todos os administradores
  • Use senhas longas e unicas e evite o login admin previsivel
  • Mantenha um firewall/WAF com rate limiting na frente do wp-login.php e do xmlrpc.php

Causa

  • Página de login padrão (wp-login.php) exposta e sem limite de tentativas, alvo fácil para bots.
  • Usuário admin com login previsivel (admin) combinado com senha fraca ou reutilizada.
  • xmlrpc.php ativo, permitindo testar muitas senhas por requisicao via system.multicall.
  • Ausencia de 2FA, deixando a senha como única barreira de acesso ao painel.
  • Sem firewall/WAF na frente do site, os bots chegam direto ao WordPress sem filtragem.

Como resolver

  1. Limite as tentativas de login: instale um plugin de limite de tentativas (ou ative o recurso no seu plugin de segurança) para bloquear o IP após poucas falhas seguidas, em vez de permitir tentativas infinitas.
  2. Exija senha forte e 2FA: troque senhas fracas por senhas longas e unicas e ative autenticacao de dois fatores em todos os usuários administradores.
  3. Renomeie o usuário admin: evite o login admin. Crie um novo administrador com nome não obvio e remova o antigo, transferindo o conteúdo.
  4. Restrinja o wp-login.php: via .htaccess, libere o acesso a página de login apenas para o seu IP, ou esconda a URL de login com um plugin para bots não a encontrarem.
  5. Desative o xmlrpc.php se não usar: bloqueie o xmlrpc.php, muito explorado em ataques de forca bruta amplificada, a menos que você dependa dele (ex.: app movel ou Jetpack).
  6. Coloque um WAF na frente: ative um firewall/WAF (no plugin ou na CDN) para filtrar bots conhecidos e aplicar rate limiting antes de a requisicao chegar ao WordPress.
APACHE
# Restringe o acesso ao wp-login.php a um IP especifico e bloqueia o xmlrpc.php.
# Coloque no .htaccess da raiz. Troque 203.0.113.10 pelo seu IP de administracao.
<Files wp-login.php>
  Require ip 203.0.113.10
</Files>

# Bloqueia totalmente o xmlrpc.php (alvo comum de forca bruta amplificada)
<Files xmlrpc.php>
  Require all denied
</Files>

Perguntas frequentes

Como sei se meu site esta sob ataque de forca bruta?
Olhe os logs de acesso: muitas requisicoes POST seguidas para wp-login.php ou xmlrpc.php, vindas de vários IPs, em horarios sem tráfego real, são o sinal classico. Plugins de segurança também alertam de too many failed login attempts.
Limitar tentativas de login resolve sozinho?
Ajuda muito, mas e uma camada. Combine com senha forte, 2FA e restricao do wp-login.php. Forca bruta amplificada via xmlrpc.php, por exemplo, pode contornar o limite simples se esse endpoint continuar aberto.
Devo desativar o xmlrpc.php?
Se você não usa app movel, Jetpack ou pingbacks, sim: o xmlrpc.php permite testar muitas senhas por requisicao e e muito explorado. Se depende dele, mantenha-o ativo e proteja com 2FA e WAF em vez de bloquear.
Esconder a página de login e suficiente?
Reduz bastante as tentativas automaticas, porque os bots procuram a URL padrão wp-login.php. Mas e ofuscacao, não autenticacao: mantenha também limite de tentativas e 2FA, que protegem mesmo se a URL for descoberta.
Ataque de forca bruta pode derrubar o site mesmo sem invadir?
Sim. A enxurrada de requisicoes ao login consome CPU e memória do servidor, o que deixa o site lento ou fora do ar (uma especie de negacao de serviço) mesmo que o invasor nunca acerte a senha.
Bloqueei o wp-login.php por IP e perdi o acesso. Como volto?
Edite o .htaccess via FTP e remova ou ajuste a regra Require ip para o seu endereco atual. Por isso e importante so restringir por IP quando você tem um IP fixo ou um plano B de acesso por FTP.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes