Como fazer um teste de segurança do que o meu site WordPress expõe?
Por Eureka Studio · Atualizado em
Resposta rápida
Teste seu site de fora, com requisições reais e sem estar conectado: abra /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 e /wp-sitemap-users-1.xml. Cada uma mostra se uma porta de login está aberta ou se um nome de usuário vaza. Você pode rodá-las no navegador ou com curl, ou deixar que um plugin de varredura as rode e aponte o que encontrar.
Passo a passo
1Passo 1
Abra uma janela anônima ou um terminal
Teste como um estranho, não como você mesmo. Requisições de quem está conectado veem mais do que o público vê, então sempre verifique sem estar conectado.
Cinco requisições que um bot faria curl -sI https://yoursite.com/wp-login.phpcurl -s https://yoursite.com/xmlrpc.phpcurl -s https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml2Passo 2
Verifique as portas de login
Se o wp-login.php mostra um formulário de login, o login padrão é público. Se o xmlrpc.php responde "accepts POST requests only", uma segunda porta de login também está aberta.
3Passo 3
Procure nomes de usuário vazados
Uma lista JSON em /wp/v2/users, um redirecionamento de ?author=1 para /author/nome/ ou um sitemap de usuários revelam nomes de login.
4Passo 4
Rode a Varredura de Superfície para ter o quadro completo
No Hushfort, abra a Visão geral e clique em Verificar novamente, em Varredura de Superfície. Ela envia requisições reais ao seu site e aponta cada nome de usuário que encontrar.

5Passo 5
Feche o que encontrou e verifique de novo
Ative a Blindagem de Superfície e clique em Verificar novamente. As portas que estavam vermelhas agora mostram um sinal verde; o que restar fica marcado como Atenção, com uma sugestão de correção.

Por que isso importa
A maioria dos conselhos de segurança fala de botões: ative isto, desative aquilo. Mas um botão diz o que você pediu, não o que aconteceu. Uma camada de cache pode servir uma resposta antiga. Uma regra da CDN pode bloquear um arquivo antes de o WordPress sequer ver a requisição. Um plugin pode reabrir algo que outro fechou. A única resposta honesta para "o que o meu site expõe?" é perguntar a ele do jeito que um estranho perguntaria.
A boa notícia: a lista do que vale verificar no lado do login é curta. Os bots procuram o mesmo punhado de endereços em todo site WordPress:
| Endereço | O que revela quando está aberto |
|---|---|
/wp-login.php, /wp-admin |
O formulário de login padrão |
/xmlrpc.php |
Uma segunda porta de login, com adivinhação em massa via system.multicall |
/wp-json/wp/v2/users |
Uma lista de autores e seus slugs de login |
/?author=1 |
Um redirecionamento para /author/nome-de-login/ |
/wp-sitemap-users-1.xml |
URLs dos arquivos de autor, que contêm os slugs de login |
Nenhum desses é um desastre sozinho. Juntos, eles entregam a um bot uma lista de nomes e duas portas para testá-los. Saber quais estão abertos permite fechá-los na ordem certa: primeiro as portas, depois os nomes.
Erros comuns
- Testar estando conectado. O WordPress mostra mais para usuários conectados. Use uma janela
anônima ou o
curl. - Testar a página em cache. Se você acabou de mudar uma configuração, limpe antes o cache de página e o cache da CDN, ou verá a resposta antiga.
- Parar no primeiro sinal verde. Fechar o formulário de login enquanto o XML-RPC continua aberto é a meia-solução mais comum que vemos.
- Esperar uma auditoria de segurança completa. Estas verificações tratam das portas de entrada. Elas não dizem nada sobre malware, alterações de arquivos ou plugins desatualizados.
Sem plugin
Os cinco comandos curl do passo 1 são o método manual, e vale a pena conhecê-los. Leia os
resultados assim:
HTTP/2 200nowp-login.php: o login padrão é público.404: ele está oculto.XML-RPC server accepts POST requests only.noxmlrpc.php: o endpoint está ativo. Para saber se o login é aceito, você teria de enviar uma chamadawp.getUsersBlogscom uma conta de teste.- Um array JSON em
/wp/v2/userscom campos"slug": os nomes de usuário são públicos.401ou um array vazio: fechado. Location: /author/name/em?author=1: um vazamento. Repita com 2, 3 e assim por diante para ver quantos usuários um bot conseguiria coletar.200no sitemap de usuários: as URLs dos autores estão listadas.
A desvantagem é o tempo e a interpretação. Você precisa repetir tudo depois de cada mudança, e testar direito o login via XML-RPC significa montar o XML na mão.
Se algo der errado
- A varredura diz "aberto", mas você desativou. Limpe os caches de página e da CDN e verifique de novo. Se continuar aberto, outro plugin ou uma regra do servidor pode estar sobrepondo a configuração.
- A varredura não consegue alcançar o seu site. Algumas hospedagens impedem que um site faça
requisições a si mesmo (loopback). Peça à sua hospedagem para liberar as requisições de loopback
ou use o método
curlde fora. - Um nome de usuário ainda vaza depois da blindagem. Confira a caixa de autor do seu tema e o sitemap de autores de qualquer plugin de SEO. Mude o nome de exibição do autor se o tema o mostrar.
Com o Hushfort
A Varredura de Superfície fica no painel Blindagem de Superfície do Hushfort Security, o plugin de segurança gratuito para WordPress. Ela mede o que o seu site realmente expõe com requisições reais, assim como o método manual, e lista pelo nome os usuários que encontrar. Cada achado corresponde a uma camada do Hushfort que o fecha:
- Login via XML-RPC → Trava de Backdoor (Pro)
- Lista de usuários da REST, varreduras de autores, sitemap → Escudo de Nomes de Usuário (Pro)
- Login padrão → Ocultar Login (gratuito)
Criamos a Varredura de Superfície depois que uma loja continuou recebendo tentativas de senha pelo XML-RPC mesmo com a página de login oculta. A configuração parecia certa; só uma requisição real mostrou a porta aberta.
Perguntas frequentes
É legal fazer uma varredura no meu próprio site WordPress?
Por que testar com requisições reais em vez de ler as configurações?
Essa verificação encontra malware ou plugins vulneráveis?
Com que frequência devo verificar?
Tutoriais relacionados
Como bloquear a enumeração de usuários no WordPress?
O WordPress publica nomes de login em quatro lugares. Feche a lista de usuários da REST, o ?author=N, os arquivos de autor e o sitemap, e depois teste.
Ver o passo a passoO que é o xmlrpc.php e como desativá-lo no WordPress?
O xmlrpc.php é uma segunda porta de login que ocultar a página de login não fecha. Veja como desativá-lo com segurança, manter pingbacks e testar.
Ver o passo a passoComo alterar a URL de login do WordPress e esconder o wp-admin?
Altere a URL de login do WordPress e esconda o wp-admin em cinco passos seguros. Teste antes de sair e saiba como voltar se esquecer o novo endereço.
Ver o passo a passo

