指南 · 约 3 分钟阅读

屏蔽暴露的 .git、.env 和备份文件

网站根目录中一个被遗忘的 .env 或 backup.sql 可能泄露你所有的密码和 API 密钥。检查只要一分钟,屏蔽只需几行配置。

更新于 · HackGrade

代码和配置保持英文。

检查你自己的网站

以下每个地址都应返回 403 或 404,绝不能是 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

只检查你自己的网站。验证所有权后,HackGrade 的深度扫描会测试更多路径。

在 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; }

在 Apache 上屏蔽

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

如果有文件已经暴露

  • 从网站根目录删除该文件。把备份保存在根目录之外。
  • 假设内容已被复制:更改数据库密码,并轮换其中的每一个 API 密钥和令牌。
  • 如果暴露的是 .git 目录,还要检查提交历史中是否曾经提交过密钥等机密信息。

参考资料

相关指南

免费 · 即时 · 无需注册

抢在别人之前了解你的评级。

被动扫描。未经你的许可,不会进行任何攻击性检测。

免费开始。付费套餐每月 12 美元起,或 29 美元购买单次报告。 查看价格