Guia · 3 min de leitura

Bloqueie arquivos expostos .git, .env e backups

Um .env ou backup.sql esquecido na raiz web pode entregar todas as suas senhas e chaves de API. Verificar leva um minuto, e bloquear, poucas linhas.

Atualizado em · HackGrade

O código e a configuração ficam em inglês.

Verifique o seu próprio site

Cada um destes deve retornar 403 ou 404, nunca 200:

shell
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/.env
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/.git/HEAD
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/backup.sql

Verifique apenas sites que são seus. A análise profunda do HackGrade testa muitos outros caminhos, depois que você comprova a propriedade.

Bloqueie no nginx

nginx
# hidden files and folders (.git, .env, .htpasswd), but keep /.well-known working
location ~ /\.(?!well-known/) { deny all; }
# backups and dumps
location ~* \.(sql|bak|old|orig|swp|log)$ { deny all; }

Bloqueie no Apache

.htaccess
RedirectMatch 404 "/\.(git|svn|hg)(/|$)"
<FilesMatch "(^\.env|\.(sql|bak|old|orig|swp|log)$|~$)">
  Require all denied
</FilesMatch>
Options -Indexes

Se algo ficou exposto

  • Apague o arquivo da raiz web. Guarde os backups fora dela.
  • Considere que o conteúdo foi copiado: troque as senhas do banco de dados e renove todas as chaves de API e tokens que estavam nele.
  • No caso de uma pasta .git exposta, revise também o histórico de commits em busca de segredos que tenham sido commitados alguma vez.

Fontes

Guias relacionados

Grátis · Na hora · Sem cadastro

Descubra sua nota antes que outra pessoa descubra.

Análise passiva. Nada é atacado sem a sua permissão.

Comece grátis. Planos pagos a partir de US$ 12 por mês, ou um relatório avulso por US$ 29. Ver preços