Como proteger contra ataques de forca bruta no login do WordPress
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.
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
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
# 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>














