发现我的 AWS 账户中存在未经授权的活动时该怎么办?
上次更新日期:2022 年 8 月 25 日
我在 AWS 管理控制台中发现并非由我创建的资源。
-或者-
我收到一个通知,指示我的 AWS 资源或账户可能已被盗用。
简短描述
如果您怀疑自己的 AWS 账户中存在未经授权的活动,请首先通过执行以下操作来验证该活动是否未经授权:
- 识别您账户中的 AWS Identity and Access Management(IAM)身份所执行的任何未经授权的操作。
- 识别对您的账户进行的任何未经授权的访问或更改。
- 识别任何未经授权资源的创建。
- 识别任何未经授权 IAM 资源(如角色、托管策略)或管理变更(例如在您的 AWS 组织中创建的欺诈性关联账户)的创建。
然后,如果您看到未经授权的活动,请按照本文的如果您的 AWS 账户中存在未经授权的活动一节中的说明进行操作。
注意:如果您无法登录自己的账户,请参阅登录或访问我的 AWS 账户时遇到问题该怎么办?
解决方案
验证您的 AWS 账户中是否存在未经授权的活动
识别您账户中的 IAM 身份所执行的任何未经授权的操作
- 确定上次使用每个 IAM 用户密码或访问密钥的时间。有关说明,请参阅获取您的 AWS 账户的凭证报告。
- 确定最近使用了哪些 IAM 用户、用户组、角色和策略。有关说明,请参阅查看 IAM 的上次访问信息。
识别对您的账户进行的任何未经授权的访问或更改
有关说明,请参阅如何监控特定 IAM 用户、角色和 AWS 访问密钥的账户活动? 另请参阅如何使用我的 AWS 账户对异常资源活动进行问题排查?
识别任何未经授权的资源或 IAM 用户的创建
要识别任何未经授权的资源使用情况,包括意外服务、区域或账户费用,请查看以下内容:
注意:您还可以使用 AWS Cost Explorer 来查看与您的 AWS 账户相关的费用和使用情况。有关更多信息,请参阅如何使用 Cost Explorer 分析我的支出和使用情况?
您的 AWS 账户中是否存在未经授权的活动
重要提示:如果您收到来自 AWS 的关于您账户中存在异常活动的通知,请先按照以下说明进行操作。然后,在 AWS Support Center 回复通知,确认您已完成的操作。
轮换和删除公开的账户访问密钥
查看 AWS Support 发送的不正常活动通知,了解暴露的账户访问密钥。如果列出密钥,则对这些密钥执行以下操作:
- 创建新的 AWS 访问密钥。
- 修改您的应用程序以使用新访问密钥。
- 停用原始访问密钥。
重要提示:暂时不要删除原始访问密钥。仅停用原始访问密钥。 - 确认您的应用程序没有任何问题。如果出现问题,请暂时重新激活原始访问密钥以修复问题。
- 如果您的应用程序在停用原始访问密钥后完全正常运行,请删除原始访问密钥。
- 删除您不再需要或不是由您创建的 AWS 账户根用户访问密钥。
有关更多信息,请参阅管理 AWS 访问密钥的最佳实践和管理 IAM 用户的访问密钥。
轮换任何可能未经授权的 IAM 用户凭证
- 打开 IAM 控制台。
- 从左侧导航窗格中选择 Users(用户)。此时将显示您 AWS 账户中的 IAM 用户列表。
- 选择列表中第一个 IAM 用户的名称。IAM 用户的 Summary(摘要)页面随即打开。
- 在 Permissions(权限)选项卡的 Permissions policies(权限策略)部分下,查找名为 AWSExposedCredentialPolicy_DO_NOT_REMOVE 的策略。如果用户附加了此策略,则轮换该用户的访问密钥。
- 对账户中的每个 IAM 用户重复步骤 3 和步骤 4。
- 删除并非由您创建的所有 IAM 用户。
- 更改您创建并想保留的所有 IAM 用户的密码。
如果您使用临时安全凭证,请参阅撤销 IAM 角色临时安全凭证。
检查您的 AWS CloudTrail 日志以确定是否存在未经批准的活动
- 打开 AWS CloudTrail 控制台。
- 在导航窗格中,选择 Event history(事件历史记录)。
- 审查是否存在任何未经批准的活动,例如访问密钥、策略、角色或临时安全证书的创建。
重要提示:请务必审查 Event time(活动时间),以确认资源是否于最近创建,以及是否符合异常活动的情况。 - 删除任何已确定为未经批准的访问密钥、策略、角色或临时安全证书。
有关更多信息,请参阅使用 CloudTrail。
删除所有无法识别或未经授权的资源
1. 登录 AWS 管理控制台。然后,验证账户中的所有资源是否都是您启动的资源。请务必检查当前月份的使用情况并将其与上个月的使用情况进行比较。确保您在所有 AWS 区域中寻找所有资源,即使是从未启动过资源的区域。另外,请特别注意以下资源类型:
- Amazon EC2 实例、竞价型实例和 Amazon Machine Images (AMI),包括处于停止状态的实例
- AWS Auto Scaling 组
- Amazon Elastic Block Store (Amazon EBS) 卷和快照
- Amazon Elastic Container Service (Amazon ECS) 集群
- Amazon Elastic Container Registry (Amazon ECR) 存储库
- AWS Lambda 函数和层
- Amazon Lightsail 实例
- Amazon Route 53 域
- Amazon SageMaker 笔记本实例
2. 删除所有无法识别或未经授权的资源。有关说明,请参阅如何终止我的 AWS 账户中不再需要的活动资源?
重要提示:如果您必须保留任何资源用于调查,请考虑备份这些资源。例如,如果您出于监管、合规性或法律原因必须保留 EC2 实例,则在终止实例之前创建 Amazon EBS 快照。
恢复备份的资源
如果您将服务配置为维护备份,则将这些备份从上次已知的未受损状态恢复。
有关如何还原特定类型的 AWS 资源的更多信息,请参阅以下内容:
- 从 Amazon EBS 快照或 AMI 还原
- 从数据库快照还原(Amazon Relational Database Service(Amazon RDS)数据库实例)
- 恢复以前的版本(Amazon Simple Storage Service(Amazon S3)对象版本)
验证您的账户信息
验证您的 AWS 账户中的以下所有信息是否正确:
- 账户名称和电子邮件地址
- 联系信息(确保您的电话号码正确)
- 备用联系人
注意:有关 AWS 账户安全最佳实践的更多信息,请参阅保护我的 AWS 账户及其资源的最佳实践有哪些?