发现我的 AWS 账户中存在未经授权的活动时该怎么办?

上次更新时间:2020 年 8 月 3 日

我在 AWS 管理控制台中发现了我不记得曾创建过的资源。

-或者-

我收到一条通知,告知我的 AWS 资源或账户可能已泄露。我应该怎么办?

简短描述

如果您在 AWS 账户中观察到未经授权的活动,或者您认为有未经授权的人访问了您的账户,请执行以下操作:

解决方法

更改您的 AWS 账户根用户密码和所有 IAM 用户的密码

最佳实践是定期更改您的密码,以避免您的账户遭到未经授权的使用。

要更改您的 AWS 账户根用户密码,请参阅更改 AWS 账户根用户密码

要更改 IAM 用户的密码,请参阅管理 IAM 用户的密码

有关更多信息,请参阅安全性、身份与合规性最佳实践。有关某个 AWS 服务的特定安全性文档,请参阅 AWS 安全性文档

有关账户和账户中资源保护的最佳实践的信息,请参阅保护我的 AWS 账户及其资源的最佳实践有哪些?

轮换和删除所有 AWS 访问密钥

如果您找到不再需要或之前未创建的 AWS 访问密钥,请删除这些访问密钥

如果您的应用程序当前正在使用访问密钥,请将密钥替换为新密钥:

  1. 首先,创建第二个密钥。然后,修改您的应用程序以使用新密钥。
  2. 禁用(但不删除)第一个密钥
  3. 如果您的应用程序出现任何问题,请临时重新激活密钥。如果您的应用程序完全可正常工作,并且第一个密钥处于 disabled(已禁用)状态,则删除第一个密钥
  4. 删除并非您创建的任何 IAM 用户

按照与处理账户密码相同的方式处理 AWS 访问密钥:

有关确定哪个 IAM 用户创建了资源以及限制其访问权限的说明,请参阅如何排查我的 AWS 账户中异常的资源活动?

删除任何潜在未获授权的 IAM 用户

  1. 打开 IAM 控制台
  2. 在导航窗格中,选择 Users(用户)。
  3. 从列表中选择每个 IAM 用户,然后在 Permissions policies(权限策略)下查找名为 AWSExposedCredentialPolicy_DO_NOT_REMOVE 的策略。如果用户具有此附加策略,则必须删除该用户。
  4. 删除您未创建的任何 IAM 用户。
  5. 更改您已创建并想要保留的 IAM 用户的密码

删除任何无法识别或未获授权的资源

登录您的 AWS 账户,然后检查确保您的账户上的所有资源都是您启动的资源。请务必检查所有的 AWS 区域,即使是您从未启动 AWS 资源的区域也要纳入检查范围。特别注意以下方面:

要删除 Lambda 函数和层,请执行以下操作:

  1. 打开 Lambda 控制台
  2. 在导航窗格中,选择函数
  3. 选择您要删除的函数。
  4. 对于操作,请选择删除
  5. 在导航窗格中,选择
  6. 选择您要删除的层。
  7. 选择 Delete(删除)。

有关如何删除与特定 AWS 服务关联的资源的信息,请参阅如何在关闭 AWS 账户之前终止所有资源?

联系 AWS Support

如果您从 AWS 收到有关您的账户的通知,则请登录 AWS Support 中心并响应通知。

如果您无法登录账户,请使用联系我们表单向 AWS Support 中心请求帮助。

如果您有任何问题或疑虑,请在 AWS Support 中心创建新的 AWS Support 案例

注意:请勿在您的通信中包括敏感信息,如 AWS 访问密钥、密码或信用卡信息。

使用 AWS Git 项目扫描未经授权使用的证据

AWS 提供了可供您安装的 Git 项目,以帮助您保护账户:

  • Git Secrets 可以扫描合并项、提交项和提交消息以获取机密信息(即访问密钥)。如果 Git Secrets 检测到禁用的正则表达式,它可以拒绝将这些提交项发布到公有存储库。
  • 使用 AWS Step Functions 和 AWS Lambda 从 AWS Health 或通过 Trusted Advisor 生成 Amazon CloudWatch Events。如果有证据表明您的访问密钥已暴露,则这些项目可以帮助您自动检测、记录事件及缓解事件风险。