装了蜘蛛记录插件之后,第一次认真看了后台的「被爬页面清单」。

结果发现一堆奇怪的记录:

代码块
/.env              /.git/HEAD
/.aws/credentials  /db.sql
/.htpasswd         /dump.sql
/config/.env       /docker-compose.yml
/secrets.json      /service-account.json

两分钟,40 个路径,全部来自同一个 IP。

它伪装了四种蜘蛛

最开始我以为是搜索引擎在抓,因为 UA 显示:

代码块
Baiduspider
bingbot
Googlebot
YandexBot

但我的插件做了反向 DNS 验证,结果全部标记「未验证」。

因为反解出来的域名,和这些蜘蛛的官方域名对不上:

UA 声称 应该反解成 实际
Baiduspider *.baidu.com 不是
bingbot *.search.msn.com 不是
Googlebot *.googlebot.com 不是
YandexBot *.yandex.* 不是

同一个 IP,四种 UA,全部伪造。

它在找什么

按目标分类:

类型 文件 想拿到什么
环境变量 .env、env.txt、environment.json 数据库密码、API Key
版本控制 .git/HEAD 源码历史
云凭证 .aws/credentials、service-account.json 云账号权限
数据库备份 db.sql、dump.sql 整站数据
框架配置 docker-compose.yml、appsettings.json 部署结构

这是标准的「配置文件泄露扫描」,自动化脚本,不针对具体目标。

好消息:它什么都没拿到

40 个请求,全部 404。

因为这些文件我本来就没建过:

  • WordPress 不用 .env
  • 没初始化过 Git
  • 数据库备份放在 /www/backup,不在网站根目录

「文件不存在」是最有效的防御。

我做了什么

第一层:确认文件确实不存在

bash
cd /www/wwwroot/你的站
ls -la | grep -E "\.env|\.git|sql$"
# 没有输出就安全

第二层:封 IP

宝塔 → 安全 → 防火墙 → IP 黑名单,把扫描器 IP 加进去。

别用 iptables,重启就失效,宝塔的规则会持久化。

第三层:开启蜘蛛验证

如果你也装了蜘蛛记录插件,确认 rDNS 验证是开着的。

没有这一步,你会把所有扫描器都当成搜索引擎。

第四层:考虑限流(可选)

Nginx 的 limit_req 能限制单 IP 频率,但小心把真蜘蛛也限了。

百度一年只来 8 次,限错了更不来。

一个反直觉的事实

开 HTTPS 会让你更容易被发现。

因为签发证书时会写进「证书透明度日志」(CT Log),这是公开的,扫描器实时监听。

新域名一上线,几小时内就会有扫描器来拜访。

但这不代表不该开 HTTPS——不开的话会被运营商劫持、被搜索引擎降权,代价更大。

真正要担心的

不是「被扫」,是「被扫到了东西」。

情况 严重程度
扫描器来了,全部 404 正常,不用管
/.env 返回 200 严重,立刻处理
/db.sql 能下载 灾难,数据库已经泄露

定期检查:

bash
grep -E "\.env|sql|git" /www/wwwlogs/你的域名.log | grep -v " 404 " | tail -20

这条命令找的是「扫了但没返回 404」的请求。有输出就要立刻查。

 

 

俗人源码网免责声明:

1、本站所有资源均收集于互联网,分享目的仅限学习与参考。如有侵权,请联系 1685698671@qq.com 及时删除!

2、本站资源不保证完整性和安全性,下载后请自行检测。使用过程中出现的任何问题均与本站无关,敬请自行处理。

3、本站资源仅限个人学习研究使用,严禁用于任何违法违纪用途。因使用者违规使用产生的一切后果,由使用者自行承担,本站不承担任何责任。