Como corrigir o bloqueio de login que não funciona no All in One Security
O que é o bloqueio de login do AIOS que não funciona?
O Login Lockdown do All in One Security (AIOS) e o recurso que conta as tentativas de login que falham por IP e tranca esse IP por um tempo quando ele passa do número máximo de tentativas dentro do período configurado. Quando a pessoa diz que o AIOS não bloqueia login, normalmente significa que esse contador não esta trancando ninguem: os ataques de forca bruta continuam tentando senhas no wp-login.php e nenhum IP entra na lista de bloqueio, mesmo após dezenas de falhas seguidas.
Como identificar
- Você ve dezenas de tentativas de login falhas no log, mas nenhuma mensagem de ‘Your IP address has been locked out’ aparece e o atacante continua tentando.
- Em WP Security -> Brute Force -> Login Lockdown a lista ‘Currently Locked Out IP Addresses’ fica sempre vazia, mesmo após várias falhas seguidas do mesmo IP.
- Você erra a senha de proposito o número de vezes do limite e o AIOS deixa continuar tentando, sem trancar o seu próprio IP.
- Os e-mails de notificação de bloqueio nunca chegam, porque nenhum lockout esta sendo criado.
- O ataque de forca bruta chega por /wp-login.php ou por XML-RPC e o consumo de CPU sobe, mas a lista de IPs bloqueados do AIOS não registra nada.
Antes de começar: Antes de baixar o limite de tentativas, adicione o seu IP fixo de gestão na allowlist do AIOS, porque um Max Login Attempts baixo pode trancar você mesmo se errar a senha. Se ficar trancado fora do wp-admin, use FTP ou o gerenciador de arquivos da hospedagem para renomear a pasta do plugin (wp-content/plugins/all-in-one-wp-security-and-firewall) e recuperar o acesso, depois renomeie de volta. Faca backup do banco antes de rodar qualquer SQL na tabela de lockdown.
Como prevenir
- Mantenha o Enable Login Lockdown Feature sempre marcado com um Max Login Attempts entre 3 e 5 e um Time Length of Lockout de pelo menos 60 minutos.
- Sempre que mudar o tema ou ativar um formulário de login customizado, refaca o teste de errar a senha para confirmar que o AIOS ainda tranca o IP.
- Deixe o /wp-login.php fora de qualquer regra de cache de página, para que o PHP do AIOS execute e conte cada tentativa.
- Mantenha o seu IP de gestão na allowlist e configure a detecção de IP real quando o site estiver atras de Cloudflare ou outro proxy.
Causa
- Enable Login Lockdown Feature desmarcado em WP Security -> Brute Force -> Login Lockdown, entao o AIOS so conta as falhas e nunca tranca o IP.
- Max Login Attempts configurado alto demais (por exemplo 20) combinado com um Login Retry Time Period curto, fazendo o bot desistir e trocar de IP antes de atingir o limite.
- O login do site não usa o wp-login.php padrão (formulário de login do tema, página My Account do WooCommerce ou login via AJAX), entao o gancho wp_authenticate do AIOS nem e chamado e a falha não e contada.
- Um plugin de cache ou o Cloudflare entregando o wp-login.php em cache para visitantes anonimos, servindo a página sem executar o PHP do AIOS que registra a tentativa.
- O AIOS enxergando o mesmo IP do proxy/CDN para todos os visitantes (REMOTE_ADDR errado atras de Cloudflare), entao as falhas de IPs diferentes se misturam e o contador por IP nunca fecha o limite de um atacante real.
Como resolver
- Ative o Login Lockdown e baixe o limite: abra a aba Login Lockdown, marque a opção que liga o recurso e defina um Max Login Attempts baixo com um Login Retry Time Period coerente, para que poucas falhas já tranquem o IP.
WP Security -> Brute Force -> Login Lockdown Enable Login Lockdown Feature -> marcar Max Login Attempts -> 3 Login Retry Time Period (min) -> 5 Time Length of Lockout (min) -> 60 - Teste o bloqueio com o seu próprio IP: antes de confiar, erre a senha de proposito o número de vezes do limite numa aba anonima e confirme que o AIOS tranca o IP e o mostra na lista de bloqueados; lembre de deixar o seu IP de gestão na allowlist para não ficar trancado de verdade.
WP Security -> Brute Force -> Login Lockdown -> Currently Locked Out IP Addresses WP Security -> Settings -> Allowlist (adicione o seu IP fixo) - Garanta que o login passa pelo wp-login.php: se o site usa formulário de login do tema, My Account do WooCommerce ou login por AJAX, o AIOS pode não interceptar a falha; force o uso da tela padrão do WordPress ou ative o CAPTCHA de login para que o plugin volte a contar as tentativas.
WP Security -> Brute Force -> Login Captcha -> Enable Captcha On Login Page Conferir se o tema/WooCommerce não substitui /wp-login.php por uma página própria - Tire o wp-login.php do cache e corrija o IP real: exclua a página de login do cache para que o PHP do AIOS sempre rode, e ajuste a detecção de IP para ler o IP real do visitante quando o site esta atras de Cloudflare ou de outro proxy, senao todas as falhas chegam com o mesmo IP do CDN.
Excluir do cache: /wp-login.php WP Security -> Settings -> Advanced Settings -> opção de detecção de IP do visitante - Reforce com renomear o login e bloquear XML-RPC: se o ataque vem por forca bruta direta, ative o recurso que esconde a página de login e bloqueie o XML-RPC, para reduzir a superficie além do lockdown por tentativas.
WP Security -> Brute Force -> Rename Login Page WP Security -> Firewall -> Block access to XML-RPC
SQL
-- Diagnostico: o Login Lockdown do AIOS esta realmente bloqueando IPs?
-- Rode no phpMyAdmin / Adminer da hospedagem. Ajuste o prefixo 'wp_' se o
-- seu banco usar outro (ex.: wpab1_).
-- 1) Existe ALGUM lockout registrado? Se vier vazio, o AIOS nunca trancou ninguem:
SELECT id, failed_login_ip, lockdown_date, release_date, lock_reason
FROM wp_aiowps_login_lockdown
ORDER BY lockdown_date DESC
LIMIT 20;
-- 2) Quantas falhas de login o AIOS registrou por IP (mostra se ele AO MENOS conta):
SELECT login_attempt_ip, COUNT(*) AS falhas
FROM wp_aiowps_failed_logins
GROUP BY login_attempt_ip
ORDER BY falhas DESC
LIMIT 20;
-- Leitura: muitas linhas em failed_logins + tabela login_lockdown VAZIA =
-- o AIOS conta mas nao tranca -> Login Lockdown desligado ou limite alto demais.
Perguntas frequentes
Por que o AIOS conta as falhas mas não bloqueia o IP
Porque o Enable Login Lockdown Feature provavelmente esta desmarcado ou o Max Login Attempts esta alto demais. O AIOS registra a tentativa no log, mas so cria o bloqueio quando o número de falhas do mesmo IP passa do limite dentro do Login Retry Time Period. Ligue o recurso e baixe o limite para 3 a 5 tentativas.
O ataque chega pela tela de login do meu tema. O AIOS bloqueia
Nem sempre. O Login Lockdown do AIOS conta falhas que passam pelo gancho de autenticacao do wp-login.php. Formulários de login do tema, a página My Account do WooCommerce ou login por AJAX podem não acionar esse gancho, entao a falha não e contada. Force o login padrão do WordPress ou ative o CAPTCHA de login.
Tenho Cloudflare e o AIOS nunca tranca ninguem. Por que
Atras de um CDN ou proxy, o AIOS pode ler o IP do próprio Cloudflare para todos os visitantes em vez do IP real. Assim, falhas de atacantes diferentes se misturam num so IP e o contador por IP fica confuso. Ajuste a detecção de IP do visitante nas configurações avancadas para ler o IP real.
Como testo se o bloqueio de login esta funcionando
Numa aba anonima, erre a senha de proposito o número de vezes do seu Max Login Attempts. O AIOS deve mostrar a mensagem de bloqueio e listar o IP em Currently Locked Out IP Addresses. Antes disso, coloque o seu IP fixo na allowlist para não ficar trancado de verdade durante o teste.
O cache pode impedir o AIOS de bloquear o login
Sim. Se um plugin de cache ou o Cloudflare entrega o wp-login.php em cache para visitantes anonimos, a página aparece sem executar o PHP do AIOS que conta a tentativa. Exclua o /wp-login.php de qualquer regra de cache de página para que o lockdown volte a contar e bloquear.
Qual e o limite ideal de tentativas de login
Para a maioria dos sites, um Max Login Attempts de 3 a 5 com Time Length of Lockout de 60 minutos já barra forca bruta sem incomodar usuários reais. Limites como 20 fazem o bot desistir e trocar de IP antes de ser trancado, e e por isso que muita gente acha que o AIOS não esta bloqueando.
Fiquei trancado depois de baixar o limite. Como recupero o acesso
Use FTP ou o gerenciador de arquivos da hospedagem para renomear a pasta wp-content/plugins/all-in-one-wp-security-and-firewall, o que desativa o AIOS na forca e libera o login. Com o acesso de volta, renomeie a pasta de novo, adicione o seu IP na allowlist e ajuste o limite antes de reativar a proteção.














