事件回顾

4月25日,Docker Hub 发现一个数据库遭遇未经授权访问(官方原话是 unauthorized access),发现问题后他们立即采取干预措施来确保网站安全。官方表示在短暂的数据库未经授权访问期间,大约 19 万个账号的敏感数据已被泄露(大约是总用户数的 5%),这些数据包括部分用户的用户名、哈希密码,以及用于自动构建 Docker 镜像的 GitHub 和 Bitbucket Token。

解决方案

Docker 发现问题后立即向用户告知了这一消息,并通知用户重置密码(包括使用其他使用相同用户名和密码的平台)。

此外,对于使用了自动构建服务并可能受影响的用户,Docker 已撤销他们的 GitHub token 和访问密钥,并提醒他们重新连接到存储库,然后检查安全和登录日志以查看是否发生了任何异常操作,例如是否存在通过未知的 IP 地址进行任何未经授权的访问。

最新回应

今天,Docker Hub 在其官网正式回应了这一事件,表示泄露的数据来自用户的非财务性数据子集(a subset of non-financial user data)

目前正在加强整体安全流程和审核安全策略,除此之外还增加了额外的监测工具。

最后对用户的常见问题进行了解答,摘录部分如下:

问:这次事件是否影响到 Docker 官方镜像?

没有官方镜像遭受入侵,针对官方镜像我们有提供额外的安全措施,包括 git commit 上的 GPG 签名和 Notary 签名,以此来确保每个镜像的完整性。

问:如何判断是否受到这次事件的影响?

  • 如果收到了 Docker 发送的关于本次事件的电子邮件,这说明可能会受到影响。
  • 如果发现从 GitHub 或 Bitbucket 到 Docker Hub 的连接已经中断,说明也可能遭受影响。
  • 如果收到重置密码的链接,这说明帐号的哈希密码可能已经被泄露。对于存在泄露风险的密码,我们已将其作废,并向用户发送密码重置链接来作为预防措施。

问:需要做什么?

  • 对于所有 Docker Hub 用户,不需要执行任何操作来确保安全性。因为我们已将密码重置链接发送给可能泄露哈希密码的全部用户。
  • 对于曾使用过自动构建服务的用户,需要重新从 GitHub 或 Bitbucket 连接到 Docker Hub。

问:是否需要在 Docker Hub 上重置密码?

不需要。对于已泄露的哈希密码,我们已将其废弃,并通过电子邮件向发送了密码重置链接。如果没有收到密码重置链接,可访问此处以重置密码(https://id.docker.com/reset-password/?service=43f17c5f-9ba4-4f13-853d-9d0074e349a7)。

问:为什么未收到通知就删除了我的 GitHub Token?

为了保护用户的数据安全,我们采取了尽快撤销 Token 的措施,同时努力采取其他措施来保护网站的安全。这些工作完成后,我们才向可能受影响的用户发去通知。

问:现在将 Docker Hub 仓库重新连接到 GitHub 仓库是否会面临风险?

 不会。重新连接会创建一个新的只读部署密钥(read-only deploy key)。

问:目前无法登录 Docker Hub,是因为帐号被攻击了吗?

我们已向可能泄露了哈希密码的用户发送了密码重置链接,并作废了这些密码。请检查电子邮件箱是否收到密码重置链接。如果有任何疑虑,请联系  info@docker.com

问:从未使用过 Docker Hub 自动构建功能,为什么也收到了电子邮件?

可能你曾经将 GitHub 或 Bitbucket 连接到 Docker Hub,或者是哈希密码已经泄露。若是前者,我们已取消连接;若是后者,我们已将密码废弃并发送了密码重置链接到邮箱。