← Todas as verificações
SegurançaSeveridade típica: Baixo

Rotas sensíveis no robots.txt

Deteta rotas sensíveis (admin, backups, .git) listadas no robots.txt que as revelam a um atacante.

O que verifica

Este scanner lê o teu ficheiro robots.txt e procura caminhos sensíveis listados nele, como painéis de administração, pastas de backups ou diretórios como .git. Assinala quando esses caminhos ficam escritos de forma visível num ficheiro público.

Porque importa

O ficheiro robots.txt é público e qualquer pessoa o pode ler, incluindo atacantes. Ao listar ali os teus caminhos privados, em vez de os esconder estás a entregar-lhes um mapa direto de onde procurar as zonas interessantes do teu site.

Como se corrige

Não uses o robots.txt para esconder caminhos sensíveis: protege-os a sério com autenticação ou restrições de acesso. Se precisas de que uma zona não seja indexada, é melhor usar cabeçalhos noindex ou proteger o acesso, em vez de a nomear num ficheiro público.

Como funciona esta verificação

O Scanaris descarrega o teu /robots.txt e confirma primeiro que é um robots a sério: responde 200, não é HTML e contém pelo menos uma diretiva (User-agent, Disallow, Allow ou Sitemap). Depois percorre cada linha Disallow: e vê se o caminho contém algum destes indicadores: wp-admin, phpmyadmin, /admin, backup, .git, .env, /private, /secret, dump, .sql, password ou credential. Se algum coincidir, abre um achado de severidade baixa com os caminhos encontrados. A lista é deliberadamente curta: palavras como test, old, tmp ou logs aparecem em robots perfeitamente legítimos e davam falsos positivos.

Porque importa

O robots.txt é público por definição: qualquer um pode lê-lo, e é de facto dos primeiros ficheiros que uma ferramenta de reconhecimento consulta. Quando escreves Disallow: /backups/ ou Disallow: /admin-antigo/ não estás a esconder esses caminhos; estás a apontá-los a quem os procura, com a garantia adicional de que te importam. O Google não os vai rastrear, mas um atacante não lê o robots para lhe obedecer, lê-o para saber para onde ir. É um achado de severidade baixa porque listar um caminho não o torna acessível; o problema aparece quando o caminho listado, além disso, não está protegido.

Como corrigir

  • Tira do robots.txt os caminhos que não queres anunciar. Se não queres que o Google indexe uma zona privada, o correto é essa zona pedir login; o que está atrás de autenticação não é indexado de qualquer forma.
  • Se precisas que uma página acessível não apareça nos motores de busca sem a anunciar, usa o cabeçalho X-Robots-Tag: noindex ou a meta robots nessa página. Os motores respeitam-no e não fica escrito num ficheiro público.
  • Protege o caminho a sério. Um painel em /admin precisa de autenticação, não de uma linha no robots. Uma pasta /backups/ nem sequer devia estar no diretório público; as verificações de ficheiros sensíveis e listagem de diretórios cobrem esses casos.
  • WordPress: o robots virtual que gera inclui Disallow: /wp-admin/ por defeito. Não é grave, porque o wp-admin já exige login e ainda envia noindex; podes deixá-lo ou substituir o robots por um teu sem essa linha. O importante é que o login tenha palavras-passe fortes, limite de tentativas e, se puderes, dois fatores.

Um robots.txt saudável costuma ser curto: um User-agent: *, talvez um par de Disallow para pesquisa interna ou parâmetros, e a linha Sitemap:. Se o teu tem vinte linhas de caminhos "privados", está a fazer o trabalho de um sistema de permissões, e mal.

Confirma que está corrigido

curl -s https://teudominio.com/robots.txt | grep -iE "^disallow:.*(admin|phpmyadmin|backup|\.git|\.env|private|secret|dump|\.sql|password|credential)"

Não deve sair nada. E para cada caminho que tiraste, confirma que pede mesmo autenticação ou devolve 404:

curl -s -o /dev/null -w "%{http_code}\n" https://teudominio.com/admin/

Perguntas frequentes

Se tirar /admin do robots.txt, o Google vai indexá-lo?

Se /admin pede login, o Google só vê o ecrã de acesso, e o normal é esse ecrã levar noindex. Se não pede login, o problema não é a indexação, é que o teu painel está aberto.

Posso bloquear tudo e listar só o que é público?

Para um site que quer tráfego orgânico, não: bloquear tudo com Disallow: / tira-o dos motores de busca. Se o que queres é controlar o rastreio, a verificação de robots e sitemap vê se não te estás a bloquear a ti próprio.

E os bots de IA?

Bloquear ou permitir GPTBot, ClaudeBot e companhia é uma decisão de negócio diferente e vai no mesmo ficheiro. Não tem relação com esta verificação, que só olha para caminhos sensíveis.

Verifica-o no teu site

Analisa o teu site grátis e vê se esta e outras 44 verificações passam, com um fix prompt por cada problema.

Analisar o meu site grátis

Verificações relacionadas