Início » Segurança para WordPress » Evite a listagem dos nomes de usuários no WordPress
Segurança para WordPress

Evite a listagem dos nomes de usuários no WordPress

Aprenda a listar os nomes de usuários e, principalmente, evitar essa prática que contribui para os ataques de força bruta.
Escrito Por Leandro Vieira em março de 2020 /5 min de leitura
Conteúdo escrito por humano
listagem de nomes deusuários no WordPress

Nomes de usuários em complemento com suas respectivas senhas é a combinação necessária para ter acesso ao painel administrativo do WordPress.

É preciso uma melhor política de segurança para essas informações.

Você deve sempre fazer uso de senhas fortes para proteger sua conta e evitar a exposição do seu nome de usuário, além de considerar o uso da autenticação de dois fatores.

Por que a listagem dos nomes de usuários no WordPress compromete sua segurança?

Por que evitar a listagem dos nomes de usuários

O usuário “admin” do WordPress é comumente citado em dicas de segurança para WordPress nos alertando para evitar seu uso, uma vez que ele pode ser utilizado em ataques de força bruta.

Um atacante pode tentar uma combinação de senha com o usuário “admin”, e, em caso de sucesso, ganhar acesso à administração do seu site.

Se removermos, ou alterarmos, o usuário “admin” do WordPress eliminamos um ingrediente óbvio para os atacantes. Mas e se ele conseguir uma listagem de todos os nomes de usuários de uma instalação WP?

Precisamos dificultar a vida dos atacantes e evitar a exposição de informações que contribuem para sua missão de atacar um site e, principalmente, ganhar acessso ao painel administrativo.

Veremos neste artigo como listar e evitar a listagem dos nomes de usuários.

Como o WordPress lida com os nomes de usuários

Uma das características de um blog é a listagem de todos os posts de um autor, desde que ele tenha publicado o mínimo de um.

A URL de listagem desses posts tem dois possíveis padrão, um sem os Links Permanentes e outro com esse recurso habilitado, vejamos:

https://url-do-site.com/?author=x

https://url-do-site.com/author/nome-de-usuario

Quando a funcionalidade de Links Permanentes está habilitada e acessamos, por exemplo, o endereço https://url-do-site.com/?author=x somos redirecionado para https://url-do-site.com/author/nome-do-usuario.

Como realizar a listagem

Um atacante pode fazer uso de variadas formas para listar os nomes de usuários de uma instalação WordPress.

De processos simples à sofisticados, de manual à automatizados. Antes de nos prevenir, é importante que saibamos como é possível identificar os nomes de usuários.

Identificando nomes de usuários manualmente (usando parâmetro /?author=1)

Exemplo de nome de usuário na resposta do HTTP da página

O processo mais simples de todos é fazer uso do navegador de internet e incluir o parâmetro author na URL com o valor de 1 a n, onde n é a quantidade de vezes que você fará o processo de descobrir os nomes de usuários manualmente.

Portanto, quando você fizer isso com o número 1 (um), por exemplo, você será redirecionado para uma URL amigável de listagem dos posts do respectivo autor e na URL estará exposta seu nome de usuário.

Através do terminal é ainda mais simples e o retorno da requisição HTTP traz a informação desejada. Observe:

curl -I 'https://url-do-site.com?author=1'
HTTP/1.1 301 Moved Permanently
Date: Mon, 05 Oct 2015 01:32:07 GMT
Server: Apache
X-Pingback: https://url-do-site.com/xmlrpc.php
Location: https://url-do-site.com/author/nome-do-usuario/
Cache-Control: max-age=3600
Expires: Mon, 05 Oct 2015 02:32:07 GMT
Vary: User-Agent,Accept-Encoding
Content-Type: text/html; charset=UTF-8

Resumindo: hackers podem encontrar seu nome de usuário no WordPress anexando a query /?author=1 na URL. Isso irá redirecioná-lo para a página do autor que, é claro, revelará o nome de usuário.

Identificando nomes de usuários através do Shell

Um script Shell automatiza o processo e precisamos apenas configurar o domínio e a quantidade de nomes de usuários a serem listados. A origem do código é o site hackertarget.com.

for i in {1..5}; do curl -s -L -i https://url-do-site.com/?author=$i | grep -E -o "\" title=\"View all posts by [a-z0-9A-Z\-\.]*|Location:.*" | sed 's/\// /g' | cut -f 6 -d ' ' | grep -v "^$"; done

Identificando nomes de usuários através do WPScan

Nomes de usuários listados através do WPScan

O WPScan tem opções para listar várias propriedades de um site WordPress, uma delas é a opção de listar os nomes de usuários. Por padrão são listados até 10, mas é possível configurar o comando para aumentar a quantidade.

ruby wpscan.rb --url https://url-do-site.com/ --enumerate u
ruby wpscan.rb --url https://url-do-site.com/ --enumerate u[1-30]

Observe que no segundo exemplo definimos que a listagem dos nomes de usuários acontecerá do ID 1 a 30 do usuário da instalação WP.

Como evitar a listagem dos nomes de usuários

Através de uma instrução no arquivo .htaccess interpretado pelos servidores web Apache dificultamos a vida dos atacantes que estão a procura de nomes de usuários em instalação WordPress para praticarem ataques de força bruta. Veja como é simples:

# Evita listagem dos nomes de usuários
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ https://url-do-site.com/? [L,R=301]

Considere fazer uso do código acima para evitar a listagem dos nomes de usuários que auxiliam no ataque de força bruta e mantenha sua instalação WordPress segura.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados

  1. Fabrício Silva
    Boa noite, Utilizei o código acima, mas não funcionou o WpScan continua listando os usuários. Utilizo a versão Wordpress 4.3
    1. Leandro Vieira
      Oi Fabrício, Nossos testes também foram baseados na versão 4.3 do WordPress. Se ainda não conseguir evoluir via .htaccess você precisará aplicar o código via PHP através da API do WordPress.
  2. […] Como desabilitar a listagem de diretório no WordPress […]
  3. […] O código abaixo se faz necessário para evitar a técnica de listar e enumerar os nomes de usuários do seu WordPress. […]
  4. […] Como desabilitar a listagem de diretório no WordPress […]
  5. Everaldo
    Como evitar a listagem de nomes no Nginx ?
    1. Leandro Vieira
      Everaldo, dê uma olhada em nosso guia de segurança. https://lp.apiki.com/guia-pratico-seguranca-wordpress/

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login