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.
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
-- 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.














