摘要:2025 年 2 月 6 日,Cloudflare 试图阻止 R2 对象存储平台上的一个网络钓鱼 URL,结果事与愿违,引发了大范围中断,导致诸多服务瘫痪了近一个小时。
2025 年 2 月 6 日,Cloudflare 试图阻止 R2 对象存储平台上的一个网络钓鱼 URL,结果事与愿违,引发了大范围中断,导致诸多服务瘫痪了近一个小时。
Cloudflare R2 是一种类似于 Amazon S3 的对象存储服务,专为可扩展、持久、低成本的数据存储而设计。它提供免费的数据检索、S3兼容、跨多个位置的数据复制以及 Cloudflare 服务集成。
一名员工在回应关于 Cloudflare R2 平台上的网络钓鱼 URL 的滥用报告时,中断发生了。
然而,这名员工并没有拦截那个特定的端点,而是误关闭了整个 R2 Gateway 服务。
Cloudflare 在事后分析报告中解释道:“在常规的滥用补救过程中,工作人员接到投诉后采取行动,却无意中禁用了 R2 Gateway 服务,而不是禁用报告的那个特定端点/存储桶。”
“这是多个系统级别控制失效和操作人员培训不到位所致,前者是最主要的因素。”
这起事件持续了 59 分钟,发生在 08 点 10 分到 09 点 09 分之间。除了影响 R2 对象存储本身,该事件还影响了以下服务:
(1)Stream(视频流):视频上传和视频流分发失败率 100%。
(2)Images:图片上传/下载失败率 100%。
(3)Cache Reserve(缓存保留):操作失败率 100%,导致源端请求增加。
(4)Vectorize(向量化):查询失败率 75%,插入、修改和删除操作失败率 100%。
(5)Log Delivery(日志交付)——延迟和数据丢失:R2 相关的日志其数据丢失率高达13.6%,非 R2 交付作业的数据丢失率高达 4.5%。
(6)Key Transparency Auditor(密钥透明度审计器)——签名发布和读取操作失败率 100%。
也有一些受到间接影响的服务遭遇了局部失败,比如 Durable Objects(持久对象),由于恢复后的重新连接,其错误率增加了 0.09%;比如 Cache Purge(缓存清除),错误增加了 1.8%(HTTP 5xx)、延迟峰值增加了 10 倍;比如 Workers & Pages,部署失败率为 0.002%,仅影响使用 R2 绑定的项目。
服务可用性示意图:
Cloudflare 特别指出,人为错误和缺乏安全措施(比如针对影响很大的操作的验证检查)是这次事件的主因。
这家互联网巨头现在已立即实施了修复机制,比如取消了在滥用审查界面中关闭系统的功能,以及在 Admin API 中设置限制,以防止内部帐户禁用服务。
将来会实施的其他措施包括改进帐户配置、实施更严格的访问控制以及针对高风险操作的双方审批流程。
2024 年 11 月,Cloudflare 曾遇到了持续 3 个半小时的另一起重大停机,导致服务中 55% 的日志永久性丢失。
那起事件是由 Cloudflare 的自动缓解系统出现连锁反应式的故障引起的,背后原因是将错误的配置推送到了该公司日志管道中的一个关键组件。
来源:龚龚科技杂谈