来自 localhost 的这些 .env GET 请求是不是表明存在攻击? [关闭]
Posted
技术标签:
【中文标题】来自 localhost 的这些 .env GET 请求是不是表明存在攻击? [关闭]【英文标题】:Do these .env GET requests from localhost indicate an attack? [closed]来自 localhost 的这些 .env GET 请求是否表明存在攻击? [关闭] 【发布时间】:2021-01-14 10:32:13 【问题描述】:在 Heroku 托管站点上遇到一些间歇性的 5xx 错误后,我只是在查看我们的日志,在那里我发现了许多来自 localhost 的错误,并且是对隐藏文件的请求,通常是 .env 以及类似的东西“.well-known/assetlinks.json”,偶尔会出现在不存在的子文件夹中的 .env。
请求并不频繁(每天 15 到 30 个),但似乎已经持续了一周。他们还遇到了“规则禁止访问”,据我所知是 nginx。
请求类似于:
2020/09/28 14:37:44 [错误] 160#0: *1928 访问被规则禁止,客户端:10.45.153.152,服务器:localhost,请求:“GET /.env HTTP/1.1”,主机: 已移除
我的服务器上没有任何ENV文件,而且nginx似乎阻塞了请求,所以感觉没有任何伤害。重新启动所有测功机似乎已经杀死了活动(基于几个小时过去了),但让我担心的是这些似乎“来自房子内部”。这里有什么我应该关心的吗?这是机器人利用具有本地访问权限的系统中的错误的案例吗?
【问题讨论】:
我认为Information Security 或Webmasters 会是更好的提问地点。 【参考方案1】:对/.env
的请求无论如何都是恶意的。
许多应用程序(例如基于 Laravel)使用 .env
文件来保存数据库密码等非常敏感的数据。黑客/他们的自动化脚本尝试检查 .env
是否可以公开访问。
如果他们一开始就可以红.env
文件,这表明服务器配置不正确,服务器管理员设置服务器的方式如此糟糕,应该承担后果......
后果通常是一回事。黑客一旦获得了.env
数据,就拥有了数据库凭据,并且几乎没有嗅探,就找到了 phpMyAdmin 的 URL。因为通常,“错误配置”包括可公开访问的 PhpMyAdmin。
接下来你知道,他们会通过电子邮件告诉你你的数据库已经不见了,但他们已经拥有了。除非您有备份,否则找回它的唯一方法是支付一些加密货币。
做什么
首先确保.env
不在可公开访问的目录中。
即使它们是,让 NGINX 拒绝访问它们,例如拒绝访问所有隐藏文件:
location ~ /\.
deny all;
无论您的系统上是否有任何.env
文件,您都可以确定与在网络上请求它们相关的流量是恶意的。要减少任何 CPU 负载并防止他们进一步尝试查找网站漏洞,您可以使用 honeypot approach,例如:
location ~ /\.env$
include includes/honeypot.conf;
... 将触发 立即 防火墙禁止试图读取 .env
文件的 IP。
这被证明是有用的,因为.env
利用可能只是许多其他可能的攻击之一,并且由于相关 IP 被阻止,它不能再尝试了。
【讨论】:
我更担心的是 localhost 方面,该机器人似乎在本地运行,这意味着服务器上存在漏洞。重新启动测功机似乎会杀死它,因此如果授予访问权限,则不是磁盘访问。不是很好,但不是最坏的情况。您指出的蜜罐方法对我来说是新的,看起来可能非常有用,所以感谢您指出我的方向。 从您的日志条目来看,10.45.153.152
似乎是一个内网(LAN 区域)IP 地址,而server: localhost
不保证客户端在同一台机器上。你可能有一个server
和server_name localhost
,但可以从外部访问,因为它要么是默认服务器(因此任何人访问服务器 IP,最终都会“请求”该服务器块)或远程客户端在通话时发送 Host: localhost
到您的服务器 IP。【参考方案2】:
我有一个用于 404 的 CGI 脚本,每当我收到对 .env 的请求时,它就会发送一个二进制文件。我认为黑客会尝试解析 .env,我希望他的解析器不会喜欢二进制文件。然后我将发起请求的 IP 黑洞。
【讨论】:
欢迎来到 Stack Overflow。请拨打tour。这是一个问答网站,不是论坛。本部分仅用于解答。通过提问和回答获得 50 点声望点后,您将能够comment on other users' questions and answers。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review以上是关于来自 localhost 的这些 .env GET 请求是不是表明存在攻击? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 phpunit 与黄昏测试 Env App_Url
laravel 中 .env 文件中的 localhost vs 127.0.0.1
如何在dev env中更改角度4的localhost名称以进行ssl测试?