Cookie管理
我们使用cookie文件以确保网站正常运行、个性化内容并改善用户体验。
Cookie管理
Cookie设置
必要的cookie始终启用。您可以随时更改其他文件的设置。
必要的cookie
始终启用。这些cookie是网站运行和执行其功能所必需的。它们无法禁用。通常在您执行操作时设置,例如选择隐私设置、登录或填写表格。
分析cookie
已禁用
这些cookie收集信息,帮助我们了解网站的使用情况以及营销活动的有效性。它们还允许我们根据您的偏好调整网站。您可以在此处查看所使用的分析性cookie列表。
广告性cookie
已禁用
这些cookie将您的在线活动数据传输给广告公司,以便向您展示更相关的广告或限制其频率。此信息可能会传输给其他广告合作伙伴。您可以在此处查看广告cookie列表。

本网站已通过 Multify ✨ 翻译成多种语言

资源

攻击分析:漏洞扫描器对抗 Multify 代理

在本文中: 对 Multify 代理基础设施上漏洞扫描器真实攻击的分析——机器人寻找什么,它们如何在接近时被阻止,以及客户网站为何对此一无所知。
2026年5月29日,17:04。两个来自科特迪瓦的IP地址连接到Multify代理服务器。在接下来的90秒内,他们尝试了近100个URL并收到了100次拒绝。
这是漏洞扫描器的典型工作。不是有针对性的攻击,而是自动侦察。这些扫描器持续运行,扫描数百万个网站,寻找一个目标:一个包含密钥、密码或配置的开放文件,或者CMS中的已知漏洞。网站是基于WordPress、Drupal、Joomla还是自定义引擎都无关紧要。扫描器会根据标准字典检查所有内容。
Multify 作为反向代理,接收所有传入流量。扫描器会访问 Multify 的基础设施,而不是直接访问客户的网站。代理保护就是客户网站的保护。

扫描器寻找什么

以下是真实日志中的列表:
`` /.env /.env.production /.env.local /.env.bak /wp-config.php /config/database.php /config/secrets.yml /azure-credentials.json /gcp-credentials.json /private.key /database.sql /dump.sql ``
这不是一个随机的集合,而是根据真实泄露事件编制的标准词典。此列表中的每个文件都曾在某个生产服务器上被公开访问。

具体寻找什么

环境变量 — .env 文件及其变体。开发人员在其中存储 API 密钥、数据库密码、支付系统令牌。一个这样的文件使攻击者能够完全访问基础设施,而不会留下任何入侵痕迹。根据 GitGuardian 的数据,2024 年在公共存储库中发现的秘密超过 1200 万次,.env 是最常见的三种之一。开发人员将文件添加到 .gitignore 中,但在部署后,它仍然保留在服务器的公共目录中,并且没有人检查。
CMS 和框架配置 — wp-config.php (WordPress)、Joomla、Drupal 配置、Laravel、Symfony、Rails 文件。扫描器不知道网站是用什么编写的,因此它会按顺序检查所有流行的变体。
云密钥 — gcp-credentials.json, azure-credentials.json, service-account.json, terraform.tfvars。一旦被发现,意味着可以访问云账户中的所有数据,并可能产生数万美元的费用。
加密密钥 — private.key, server.key, rails/master.key。公开的私钥允许解密所有流量或伪造签名。
日志和转储 — error.log, debug.log, database.sql, dump.sql。日志通常包含用户数据、文件路径,有时甚至包含明文密码。
基础设施配置 — nginx.conf, docker-compose.yml, web.config。通过它们可以了解内部网络拓扑并找到下一个入口点。
CMS 漏洞 — 一个单独的类别。一旦发布新的 CVE,扫描器就会开始检查所有网站,通常在几个小时内。根据 Google Project Zero 的数据,从 CVE 发布到首次攻击的中位数是 15 天,但对于具有公开 PoC 的漏洞,这个时间缩短到几个小时。目前正在积极利用的示例是: CVE-2026-9082,Drupal Core 在 PostgreSQL(8.0 到 11.3.9 版本)中的 SQL 注入。漏洞在于 Drupal 通过 JSON:API 构建 SQL 查询的方式:攻击者在过滤器参数中传递一个带有嵌套 SQL 的数组键,Drupal 在没有清理的情况下将其插入到查询中。无需授权,通过普通的 HTTP 请求。结果:数据库转储、创建管理员帐户,在某些配置中执行任意代码。CVSS 9.8,严重(相比之下,2021 年导致半个互联网瘫痪的 Log4Shell 获得了 10.0)。补丁于 5 月 20 日发布,工作 PoC 在不到一小时内出现在 GitHub 上。5 月 22 日,该漏洞被添加到 CISA 已知利用漏洞目录中。在最初的 48 小时内,在 65 个国家的近 6,000 个网站上记录了超过 15,000 次利用尝试。
5月29日的攻击就是如此。WAF根据OWASP CRS签名进行了响应,CrowdSec将这两个IP都添加到了阻止列表中。客户对此一无所知。
扫描器在90秒内扫描了所有类别。

两个IP——一个扫描器

扫描器同时从两个地址启动。现代扫描器将负载分配到多个IP,以保持在简单速率限制规则的阈值以下。如果保护措施在“一个IP每分钟超过10个请求”时触发,扫描器只会从每个IP发出5个请求。同时,这些IP本身通常与实际攻击者无关——它们是租用的VPS、被入侵的服务器或全球范围内的僵尸网络机器。科特迪瓦在这里是一个随机的地理位置,而不是实际操作人员的所在地。
日志中一个有趣的小细节:第二个IP的第一个请求返回了200——扫描器首先检查了主页,确认网站是活的,然后才开始枚举。这是工具的标志,而不是随机流量。

代理如何阻止攻击

WAF

WAF (Web Application Firewall)——应用层防火墙。与查看IP和端口的网络防火墙不同,WAF读取HTTP请求的内容:URL、标头、正文。它在请求到达网站之前分析每个请求。
规则的基础是 OWASP Core Rule Set (CRS),一套由非营利性OWASP基金会支持的开放式攻击签名集。CRS涵盖了配置文件暴力破解、SQL注入、XSS和其他常见攻击向量。对.env、.sql、.key、wp-config.php以及数十种其他扩展名的请求会立即被阻止。WAF不知道文件是否存在于服务器上——它根据请求名称进行阻止,扫描器在了解任何信息之前就会被拒绝。

CrowdSec

CrowdSec — 一个开放的行为分析引擎。WAF单独处理每个请求,而CrowdSec则关注序列:这个IP在过去几分钟内具体请求了什么。
对 .env 的一次请求可能是链接中的错误。在 30 秒内对 .env、.env.production、.env.local、.envrc 进行十次请求,这已经不是用户行为了。CrowdSec 通过 场景 (行为规则)识别这种模式并阻止 IP。被阻止的地址会进入一个共享威胁数据库,全球数千台服务器都在使用该数据库。在一个网站上检测到的扫描器会立即成为所有地方不受欢迎的访客。

攻击数据

参数
持续时间
~90 秒
正在遍历的 URL
每个 IP ~100 个
目标类别
8 (env, 密钥, 数据库, 日志, 基础设施, 云, CMS, 框架)
成功请求
1 (主页,在保护触发之前)
泄露
0
扫描器在一分半钟内处理了标准词典,一无所获。客户网站没有收到任何恶意请求。

为什么它会这样工作

当网站连接到 Multify 时,所有传入流量都通过代理。客户连接 Multify 是为了本地化,而不是为了保护。但由于代理位于网站之前,Multify 基础设施的所有保护都会自动扩展到它。
通过开放文件泄露是黑客攻击最常见的途径之一。这并非由于复杂的漏洞利用,而是由于简单的错误:开发人员部署了项目却忘记删除.env文件。将测试数据库转储放在公共文件夹中。在服务器上留下包含密码的配置文件。扫描器会在几小时内发现这些文件,远在团队成员注意到错误之前。

常见问题

Multify 能防御 CVE-2026-9082 吗?
如果客户网站在带有PostgreSQL的Drupal上运行,WAF在代理级别会阻止典型的请求模式:对/jsonapi的复杂filter参数,对/user/login?_format=json的非标准请求体。扫描器无法访问网站。但这不能替代补丁:如果网站可以直接绕过代理访问,则没有保护。
为什么是两个IP,而不是一个?
现代扫描器将请求分散到多个地址,以保持在简单速率限制规则的阈值以下。CrowdSec关注行为,而不是来自单个IP的请求数量,因此这种技术无效。
扫描器是否了解了客户网站的任何信息?
不。WAF 在请求到达应用程序之前通过路径名阻止请求。扫描器不知道服务器上是否存在文件——它在代理级别收到拒绝。
如果攻击不是扫描器,而是有针对性的入侵怎么办?
有针对性的攻击更复杂:攻击者知道目标,使用非标准向量,并且缓慢工作以避免触发行为模式。WAF 和 CrowdSec 降低了攻击面,但不能提供百分之百的保证。对于关键网站,需要进行渗透测试和异常监控。
科特迪瓦很重要吗?
不。扫描仪的 IP 地理位置是其所用机器的地理位置,而不是攻击者的地理位置。按国家/地区进行阻止毫无意义:下一次攻击将来自巴西、荷兰或俄罗斯。
保护与本地化捆绑
WAF 和行为阻止在代理级别运行——适用于 Multify 下的每个网站,无需您进行额外设置。
免费试用 →