De onde vem a lista
O WordPress tem uma interface de programação que outros softwares usam para ler o site: o aplicativo para celular, o editor de blocos e as integrações. Uma parte dela lista os usuários. Por padrão, qualquer pessoa pode ler essa lista, com ou sem login, no endereço do seu site seguido de /wp-json/wp/v2/users. Ela mostra o nome público de cada conta e o identificador de login, que na maioria dos sites é o próprio nome de login.
Há uma forma mais antiga de obter a mesma informação. Acrescente /?author=1 ao endereço do seu site e o WordPress redireciona para a página de arquivo da primeira conta, cujo endereço contém o nome de login. Tente 2, 3 e assim por diante, e você obtém o resto da equipe.
Por que um nome de usuário importa
Um login tem duas metades. Adivinhar as duas é lento. Se uma metade é entregue, só resta testar senhas, e listas de senhas de outros vazamentos custam pouco. Quando os seus nomes de usuário são públicos, cada conta fica protegida apenas pela senha.
A interface remota antiga, xmlrpc.php, acelera a adivinhação. Uma única requisição pode levar centenas de tentativas de senha. Ela vem ligada por padrão, e a maioria dos sites não a usa desde que o aplicativo do WordPress para celular deixou de precisar dela.
Quatro mudanças
Primeiro, restrinja a lista de usuários a visitantes com login. Os plugins de segurança oferecem essa configuração, e para um desenvolvedor é um filtro curto. O editor de blocos e o aplicativo continuam funcionando, porque estão com login.
Segundo, desligue o xmlrpc.php, a menos que uma integração específica precise dele. O Jetpack e algumas ferramentas móveis mais antigas precisam. Se o seu site usa uma delas, mantenha-o ligado e coloque um limite de frequência na frente dele.
Terceiro, dê um segundo fator a todas as contas que podem publicar. É a mudança que mais importa, porque torna inútil uma senha adivinhada. Um aplicativo autenticador no celular basta. Primeiro os administradores, depois os editores, depois todo mundo.
Quarto, renomeie ou remova a conta chamada admin, e faça com que o nome de exibição de cada conta seja diferente do nome de login. Nenhuma das duas medidas é uma defesa por si só. As duas eliminam o palpite mais fácil.
Com o que não se preocupar
Mudar a página de login para um endereço secreto é popular e adianta pouco. A lista de usuários fica em outro endereço, então mudar a página de login não a esconde. Um plugin que esconde o número de versão do WordPress também não ajuda aqui. Invista o tempo no segundo fator.
O que a auditoria gratuita informa
A auditoria gratuita pede a lista de usuários do mesmo jeito que um atacante pediria. Ela informa quantos nomes de login vieram e mostra os primeiros, para que você os reconheça. Também informa se o xmlrpc.php está respondendo. Cada apontamento é moderado por si só e sério em conjunto, e eles costumam aparecer juntos.
Receba o LFW Weekly Recap
Uma newsletter enviada toda sexta-feira com a semana na LFW. Um e-mail por semana e nenhum outro artigo do blog.
Primeiro enviamos um e-mail de confirmação. Nada mais chega até você clicar.
Confira sua caixa de entrada
Um link de confirmação está a caminho de . Clique nele para receber o resumo. Se ele não chegar à caixa de entrada em alguns minutos, confira a pasta de spam e marque como Não é spam.