跳到主要内容

2023 年 8 月 22 日 Deno Deploy 事后分析

2023 年 8 月 22 日,从 UTC 时间 07:00 开始到 08:30 结束,为 deno.comdeno.land 提供服务的网站遭受了 分布式拒绝服务 (DDoS) 攻击。此次攻击不仅影响了 deno.com 和 Deno Deploy 仪表板用户,还影响了通过 HTTPS URL 从 deno.land/xdeno.land/std 导入包的 Deno 运行时用户。

对于此次攻击对我们的基础设施造成的任何中断,我们深感抱歉。我们已采取措施以防止未来再次发生此类攻击,并将继续坚定地致力于为 Deno Deploy 以及任何依赖我们基础设施进行依赖管理的软件提供可靠的服务。

影响

在 90 分钟的时间内,Deno Deploy 管理控制台以及 deno.comdeno.land 网站无法访问。这也影响了我们在 deno.land/x 上的第三方模块注册表和 deno.land/std 上的标准库。无法访问注册表可能导致某些 Deno 运行时用户出现构建时错误。

依赖项已被缓存或供应商化的 Deno 应用程序未受到影响。除了 deno.com 之外,已部署并在 Deno Deploy 上运行的其他应用程序也未受到影响。

事件时间线

所有时间均为 UTC 时间,2023 年 8 月 22 日。

  • 07:00 - DDoS 攻击开始
  • 07:02 - 团队成员收到 deno.com 上错误升高的警报
  • 07:10 - 团队成员发现正在进行 DDoS 攻击并开始调查
  • 07:41 - 呼叫更多团队成员协助缓解工作
  • 08:21 - 攻击得到缓解,因为冒犯性 IP 地址被阻止
  • 08:29 - 团队确认系统恢复
  • 08:59 - 事件正式解决

我们估计从我们的系统首次开始故障到完全恢复大约有 90 分钟的停机时间。

根本原因

针对 deno.com 发起了 DDoS 攻击,该网站托管在 Deno Deploy 上。 大量请求超出了 Deno Deploy 扩展和为此应用程序分配更多资源的能力,导致服务器错误,使得托管在 deno.comdeno.land 上的网页和模块不可用。

值得庆幸的是,“部署”(在 Deno Deploy 上跨项目和客户托管的应用程序版本)之间的资源隔离有效地保护了 Deno Deploy 上的其他应用程序免受重大影响。

下一步是什么?

我们意识到这次服务中断对许多 Deno 用户造成了多大的破坏,无论是在 Deploy 上还是在使用 Deno 运行时。我们正在迅速采取行动,以确保未来不再发生此类事件。

  • 我们正在提高为遇到异常流量高峰的 Deno Deploy 应用程序分配额外资源的能力。
  • 我们正在改进我们的随叫随到流程,以便更快、更适当地升级事件。
  • 我们还认识到在事件期间需要更有效的沟通,并将确保更快地将中断报告添加到 denostatus.com
  • 更广泛地说,我们正在考虑更改我们托管 Deno 模块代码的方式,以防止 deno.com 和 Deno Deploy 上的事件影响其他 Deno 程序的依赖项管理。

再次,对于此事件可能对您的工作造成的影响,我们深感遗憾。感谢您的支持与合作,我们将在未来数月和数年内继续发展和加强 Deno 和 Deno Deploy。

如果您有其他问题或疑虑,请在此处与我们开始对话