处理遭到破解的 GCP 凭据

Google Cloud Platform (GCP) 凭据控制对托管在 GCP 上的资源的访问权限。为保护您的数据安全,使其免受攻击,您必须非常谨慎地处理您的凭据。

您应该保护所有 GCP 凭据免受意外访问。这些凭证包括但不限于以下列表所列类别。

在 Cloud Platform Console 中创建和管理的服务凭据:

  • 服务帐号私钥(JSON 和 p12 文件)
  • API 密钥
  • OAuth2 客户端 ID 密文

您在开发者工作站上创建和管理的用户凭据:

  • Google Cloud SDK 凭据:存储在运行 gcloud info 命令后报告的用户配置目录中。
  • 浏览器 Cookie:此凭据为浏览器特有类型,通常存储在开发者的工作站上。

如果您怀疑任何凭据已遭到破解,应立即采取措施限制其对您的 GCP 帐号的影响。

为保护您的 GCP 帐号而需立即采取的措施

撤消并重新颁发凭据

所有凭证类型都支持撤消和重新颁发。请谨慎操作,以确保您不会因撤消凭据而遭受服务中断。

一般而言,最好先生成新凭据,然后将其推送到需要该凭据的所有服务和用户,最后再撤消旧凭据。

替换服务帐号私钥

在 Cloud Platform Console 上搜索“服务帐号”,找到受影响的服务帐号。为该服务帐号创建一个新密钥,将该密钥推送到使用旧密钥的所有位置,然后删除旧密钥。

重新生成 API 密钥

在 Cloud Platform Console 中搜索“凭据”。使用创建凭据按钮创建新 API 密钥,并使用与遭到破解的 API 密钥相同的配置。您必须遵循 API 密钥的各项限制,否则可能会遭遇中断。将新 API 密钥推送到使用旧密钥的所有位置,然后删除旧密钥。

重置 OAuth2 客户端 ID 密文

请注意,更改客户端 ID 密文将导致在密文替换时发生临时中断。

在 Cloud Platform Console 中搜索“凭据”。选择要重置的 OAuth2 客户端 ID 并进行修改。点击重置密钥按钮,然后将新密文推送到您的应用。

删除 Google Cloud SDK 凭据

Google Cloud SDK 凭据遭到破解的用户应访问 accounts.google.com,导航至已连接的应用和网站,并从已连接的应用列表中移除 Google Cloud SDK。

当您再次使用 gcloud 命令行工具时,它将自动要求用户再次授权该应用。

G Suite 管理员也可以代表用户执行此操作。

使浏览器 Cookie 无效

怀疑其浏览器 Cookie 遭到破解的用户应立即在 accounts.google.com 上更改其密码。这将使所有现有 Cookie 无效,并且系统将要求用户再次在浏览器中登录。

G Suite 管理员也可以代表用户执行此操作。

检查未经授权的访问和资源

在撤消外泄的凭据并恢复服务后,您应该检查对 GCP 资源的所有访问。

首先,您应该在 Cloud Platform Console 中检查所有受影响 GCP 项目中的活动日志(搜索“活动”),确保所有访问(特别是与外泄凭据相关的访问)都没有出现异常。

删除所有未经授权的资源

确保不存在任何非预期的资源,例如与项目关联的虚拟机、Google App Engine 应用,服务帐号、Google Cloud Storage 存储分区等。

一旦您确认已识别出所有未经授权的资源,您可以选择立即删除这些资源。这一措施对于 Compute 相关资源尤其重要,此类资源可能会外泄数据或以其他方式危害您的生产系统。

或者,您可以选择尝试隔离未经授权的资源,以允许您自己的取证团队和 Google Cloud 支持人员执行其他取证。

联系 Google Cloud 支持

联系 Google Cloud 支持

一般最佳做法

将凭据与代码分开

将您的凭据与源代码分开管理和存储。不小心将凭据和源代码都推送到 GitHub 等源代码管理站点这种情况极其常见,这会使您的凭据容易遭到攻击。

服务帐号最佳做法

遵循服务帐号最佳做法

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页