记录一周:三分之二的自动程序请求在找.env文件
作者 Aldo Febrian · 2026年10月19日 · 4 分钟阅读
上周我们写了digimasi.com上传感器的最初17小时:58次来自自动程序的请求,寻找这个网站从未有过的文件。现在第一个完整的星期已经记录完毕,从10月12日傍晚传感器开始记录,到10月18日结束。数据多了很多,规律也开始显现。
数字
- 来自91个IP地址的1,744次请求,记录时间为10月12日18:38至10月18日结束(雅加达时间)。
- 这些地址登记在29个国家。再说一次,那是服务器所在地,不一定是背后的人所在地。
- 将近一半的请求(846次)只来自3个地址,而且都在同一个网络。
- 有16次请求带着猜测的用户名或密码,发往根本不存在的登录页面。
没有一次成功。它们要的文件在我们网站上并不存在,所以每次请求得到的都是“未找到”页面。
与最初17小时相比
这一周的数字已包含最初的17小时。
- 地址从9个增加到91个,国家从7个增加到29个。
- .env文件从三分之一的请求升到将近三分之二:当时是58次中的20次,现在是1,744次中的1,141次。
- .git文件夹反而下降:从三分之一(58次中的19次)降到约4%(76次)。其中对/.git/HEAD的29次请求只来自2个地址。
- 云端和服务器密钥从3次增加到41次,来自13个地址。
所以最初17小时并没有反映全貌。当时.git看起来和.env一样重要;一周之后,.env遥遥领先。
它们在找什么
- 机密配置文件.env(1,141次请求,39个地址)。请求最多的十个路径中有九个是.env的变体:/.env(86次)、/.env.local(42次)、/.env.backup(38次)、/.env.production(35次)、/.env.bak(34次),然后是/.env.save、/.env.dev、/.env.old和/.env.staging。自动程序在猜开发者给这个文件的副本或其他版本起的名字。
- PHP文件(198次请求)。我们的网站并不使用PHP。
- WordPress(197次请求,50个地址)。登录页面和其他WordPress路径。我们的网站也不使用WordPress。
- 代码历史文件夹.git(76次请求)。
- 其他配置文件(70次请求)。
- 云端和服务器密钥(41次请求)。
- 其他(21次请求)。某些框架特有的路径(13次)和管理后台(8次)。
值得注意:来的很多,深挖的很少
尝试WordPress的地址有50个,比其他任何类别都多,但平均每个地址只有约4次请求。.env正好相反:39个地址,平均每个将近30次请求。WordPress是被很多自动程序顺手看一眼;.env则是被少数带着长名单的自动程序反复深挖。
网络也同样集中。一半以上的请求(950次)来自登记在德国的服务器,其次是荷兰(144次)、美国(119次)、比利时(112次)和波兰(105次)。最大的网络是Virtualine Technologies(3个地址,846次请求),然后是Google LLC(14个地址,338次)、TC DATACENTER(133次)和DigitalOcean(17个地址,64次)。网络名称是这段地址的所有者,通常是服务器或云服务商。任何租用那里服务器的人都能使用它,并不代表是这家公司本身发出了请求。
检查您自己的网站
这些您都可以在五分钟内,在自己的网站上亲自检查:
- 在浏览器中打开yourdomain.com/.env。应该显示“未找到”。如果显示的是文件内容,请立即把文件移出公开文件夹,然后更换其中所有的密码和密钥。
- 也试试它的变体:/.env.local、/.env.backup、/.env.production、/.env.bak。自动程序会逐一尝试,忘记删除的副本和原文件一样危险。
- 打开yourdomain.com/.git/HEAD。这也应该是“未找到”。如果出现文字,说明任何人都能打开您的.git文件夹。
- 把云端密钥和服务密钥保存在服务器设置中,而不是网站文件夹内的文件里。同时在服务账户上设置用量上限,这样即使密钥泄露,账单也不会失控。
- 如果使用WordPress:限制登录尝试次数,为管理员账户开启两步验证,不用xmlrpc.php的话就把它关掉。本周有50个不同的地址在我们网站上尝试WordPress,而我们根本没有用它。
关于这些数据
我们只做观察。所有数据都来自自行访问digimasi.com的自动程序;我们从不扫描他人的网站,也不在这里显示IP地址。明显在攻击我们的地址会被举报给AbuseIPDB。完整的方法请见方法说明页面,每周的数字请见每周记录页面。
数据:Digimasi安全研究,传感器每周记录(https://doi.org/10.5281/zenodo.23466873)。
我们会继续记录,并逐周比较结果。