如何排查我的 AWS 账户中异常的资源活动?

上次更新时间:2020 年 9 月 10 日

我想确定哪个 AWS Identity and Access Management (IAM) 用户创建了资源并限制了访问权。

简短描述

未经授权的账户活动,如意外启动的新服务,可能表示您的 AWS 凭证受损。某些怀有恶意的人可能会使用您的凭证访问您的账户并执行策略允许的活动。如需更多信息,请见发现我的 AWS 账户中存在未经授权的活动时该怎么办?AWS 客户协议。 

解决方法

识别受损的 IAM 用户和访问密钥。然后,禁用它们。使用 AWS CloudTrail 搜索与受损 IAM 用户相关的 API 事件历史记录。

在以下示例中,Amazon Elastic Compute Cloud (Amazon EC2) 实例意外启动。

注意:这些说明适用于长期安全凭证,而非临时安全凭证。要禁用临时凭证,请参阅禁用临时安全凭证的权限

识别 Amazon EC2 实例 ID

  1. 打开 Amazon EC2 控制台,然后选择 Instances(实例)。
  2. 选择 EC2 instance(EC2 实例),然后选择 Description (描述)选项卡。
  3. 复制 Instance ID(实例 ID)。

查找用于启动实例的 IAM 访问密钥 ID 和用户名

  1. 打开 CloudTrail 控制台,然后选择 Event history(事件历史记录)。
  2. 选择筛选条件下拉菜单,然后选择资源名称
  3. 输入资源名称字段中,粘贴 EC2 实例 ID,然后选择在您的设备上输入。
  4. 展开 RunInstancesEvent name(事件名称)。
  5. 复制 AWS access key(AWS 访问密钥)并记下 User name(用户名)。

禁用 IAM 用户、创建备份 IAM 访问密钥,然后禁用受损的访问密钥

  1. 打开 IAM 控制台,然后将 IAM 访问密钥 ID 复制到 Search IAM(搜索 IAM)栏中。
  2. 选择用户名,然后选择安全凭证选项卡。
  3. 控制台密码中,选择管理
    注意:如果 AWS 管理控制台密码被设置为已禁用,您可以跳过此步骤。
  4. 控制台访问中,选择禁用,然后选择应用
    重要提示:账户被禁用的用户无法访问 AWS 管理控制台。但是,如果用户具有有效的访问密钥,他们仍然可以使用 API 调用访问 AWS 服务。
  5. 请按照说明在不中断应用程序的情况下轮换 IAM 用户的访问密钥(控制台)
  6. 对于受损的 IAM 访问密钥,请选择使其处于非活动状态

通过受损的访问密钥查看活动的 CloudTrail 事件历史记录

  1. 打开 CloudTrail 控制台,然后从导航窗格中选择 Event history(事件历史记录)。
  2. 选择 Filter(筛选条件)下拉菜单,然后选择 AWS access key(AWS 访问密钥)筛选条件。
  3. Enter AWS access key(输入 AWS 访问密钥)字段中,输入受损的 IAM 访问密钥 ID。
  4. 展开 API 调用 RunInstances事件名称
    注意:您可以查看最近 90 天的事件历史记录。

您也可以搜索 CloudTrail 事件历史记录以确定安全组或资源的更改方式运行、停止、启动和终止 EC2 实例的 API 调用。

有关更多信息,请参阅使用 CloudTrail 事件历史记录查看事件