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

上次更新日期:2021 年 4 月 27 日

我在 AWS 管理控制台中发现并非由我创建的资源。

-或者-

我收到一个通知,指示我的 AWS 资源或账户可能已被盗用。我应该怎么办?

简短描述

注意:如果您无法登录自己的账户,请使用联系我们表单请求 AWS Support 提供帮助。该表单还包含有关如何重置密码的说明。

如果您在 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 管理控制台的 Bills(账单)页面列出了您账户中所有资源的所有费用。检查您的账单是否有以下内容:

  • 您通常不会使用的 AWS 服务
  • AWS 区域中您通常不会使用的资源
  • 账单金额的重大变化

您可以使用此信息来帮助删除或终止任何不想保留的资源。

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

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

重要提示:如果您需要保留任何资源进行调查,请考虑备份这些资源。例如,如果您有保留 EC2 实例的法规、合规性或法律要求,请在终止实例之前拍摄 EBS 快照。

请特别注意以下资源:

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

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

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

启用 MFA

为了提高安全性,最佳实践是配置 MFA 以帮助保护您的 AWS 资源。您可以为 IAM 用户AWS 账户根用户启用 MFA。为根用户启用 MFA 只会影响根用户凭证。账户中的 IAM 用户是具有自己凭证的不同身份,每个身份都有自己的 MFA 配置。

有关更多信息,请参阅启用虚拟 Multi-factor Authentication (MFA) 设备(控制台)

验证您的账户信息

AWS 需要准确的账户信息才能与您联系并帮助解决任何账户问题。检查您帐户中的信息是否正确。

  1. 账户名称和电子邮件地址
  2. 您的联系信息,尤其是电话号码。
  3. 您账户的备用联系人

联系 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 HealthAWS Trusted Advisor 生成 Amazon CloudWatch Events。如果有证据表明您的访问密钥已暴露,则这些项目可以帮助您自动检测、记录事件及缓解事件风险。

避免使用根用户进行日常操作

AWS 账户根用户的访问密钥可用于完全访问所有 AWS 资源,包括账单信息。您不能减少与 AWS 账户根用户访问密钥关联的权限。最佳实践是非绝对必要的情况不使用根用户访问权限。

如果您还没有 AWS 账户根用户的访问密钥,非绝对必要的情况不要创建。相反,应当为自己创建一个具有管理权限的 IAM 用户。您可以使用 AWS 账户电子邮件地址和密码登录 AWS 管理控制台,以创建 IAM 用户。

有关更多信息,请参阅隐藏您的 AWS 账户根用户访问密钥

遵循 AWS 安全最佳实践

有关账户和账户中资源保护的最佳实践的信息,请参阅保护我的 AWS 账户及其资源的最佳实践有哪些? 但是,其中一些最佳实践可能不适合您的环境或不够充分。这些安全最佳实践必须被视为一般准则,而非完整的安全解决方案。