AWS云迹

AmazonWebServices(AWS)是一种云服务集成,允许您跟踪企业云服务的使用情况。

所需信息

为了将您的AWS Cloud Trail连接到InsightOps,您需要事先提供以下信息:

  • 资质
  • 密钥
  • S3存储桶名称
  • S3密钥前缀
  • 桶区域名称
  • 刷新率(分钟)

要收集此信息,请按照以下步骤进行配置。

在你开始之前

根据CloudTrail日志存储的区域,收集器需要能够访问以下URL来收集日志:

S3区

统一资源定位地址

美国标准

https://s3.amazonaws.com

美国西俄勒冈州

https://s3-us-west-2.amazonaws.com

美国西加利福尼亚州

https://s3-us-west-1.amazonaws.com

爱尔兰欧盟

https://s3-eu-west-1.amazonaws.com

法兰克福欧盟大学

https://s3.eu-central-1.amazonaws.com

新加坡亚太大学

https://s3-ap-southeast-1.amazonaws.com

悉尼大学

https://s3-ap-southeast-2.amazonaws.com

东京大学

https://s3-ap-northeast-1.amazonaws.com

圣保罗

https://s3-sa-east-1.amazonaws.com

在所有区域中启用CloudTrails

要获得CloudTrails监控的最大覆盖率,您应该在所有区域中启用CloudTrails,即使您没有任何EC2实例或其他AWS资源在所有区域中运行。这有助于确保,如果攻击者破坏您AWS帐户中允许他们在其他区域中创建/修改资源的资源,那么你将能够监视和警告这种行为。

  1. 在AWS控制台中,转到CloudTrails→ 踪迹→ 添加新线索
  2. 在“trail name”中为您的trail添加一个名称
  3. 为“将轨迹应用于所有区域”选项选择“是”
  4. 为“创建新的S3存储桶”选项选择“是”
  5. 为S3存储桶添加一个名称。将此记录下来,以备后续步骤使用。

创建IAM策略

  1. 在AWS控制台中,转至IAM→ 政策→ 创建策略→ 创建自己的策略
  2. 为策略添加名称和说明。把名字记在某个地方——你以后会用到的
  3. 使用以下策略模板,该模板基于最小特权原则,仅允许访问您为CloudTrails日志创建的特定S3存储桶:
          
文本
1.
{
2.
“版本”:“2012-10-17”,
3.
“声明”:[
4.
{
5.
“效果”:“允许”,
6.
“行动”:[
7.
“s3:获取*”,
8.
“s3:列表*”
9
],
10
“资源”:[
11
“arn:aws:s3:::CloudTrails3BucketNameGoesher”,
12
“arn:aws:s3:::CloudTrails3BucketNameGoesher/*”
13
]
14
}
15
]
16
}

创建IAM组

  1. 在AWS控制台中,转至IAM→ 组→ 创建新组
  2. 创建组名并选择下一步
  3. 选择您先前创建的IAM策略,然后选择下一步

创建和配置IAM用户

  1. 在AWS控制台中,转至IAM→ 组→ 添加用户
  2. 添加用户名并在“访问类型”部分下选择编程访问,然后选择下一步:权限
  3. 选择先前创建的组,然后选择下一步:查看
  4. 在“完成”页面上,选择“机密访问密钥”上的显示。将此用户的访问密钥和机密密钥复制并保存在安全位置。在InsightOps中设置CloudTrails事件源时需要它。

设置S3存储桶策略

  1. 查找与收集器中配置的访问密钥关联的用户的ARN:
  1. 查找为CloudTrail日志配置的存储桶:
  2. 转到S3中的bucket属性并单击编辑bucket策略:
  3. 将List*和GetObject权限添加到与用户的ARN匹配的bucket中
          
文本
1.
{
2.
“版本”:“2012-10-17”,
3.
“声明”:[
4.
{
5.
“Sid”:“AWSCloudTrailAclCheck20150319”,
6.
“效果”:“允许”,
7.
“委托人”:{
8.
“服务”:“cloudtrail.amazonaws.com”
9
},
10
“操作”:“s3:GetBucketAcl”,
11
“资源”:“arn:aws:s3:::CLOUDTRAILS s3 BUCKET NAME”
12
},
13
{
14
“Sid”:“AWSCloudTrailWrite20150319”,
15
“效果”:“允许”,
16
“委托人”:{
17
“服务”:“cloudtrail.amazonaws.com”
18
},
19
“操作”:“s3:PutObject”,
20
“资源”:“arn:aws:s3:::CLOUDTRAILS s3 BUCKET NAME/AWSLogs/aws账号/*”,
21
“条件”:{
22
“StringEquals”:{
23
“s3:x-amz-acl”:“桶所有者完全控制”
24
}
25
}
26
},
27
{
28
“Sid”:“,
29
“效果”:“允许”,
30
“委托人”:{
31
“AWS”:“arn:AWS:iam::AWS帐号:用户/iam用户名”
32
},
33
“操作”:“s3:列表*”,
34
“资源”:[
35
“arn:aws:s3:::CLOUDTRAILS s3 BUCKET NAME”,
36
“arn:aws:s3:::CLOUDTRAILS s3 BUCKET NAME/*”
37
]
38
},
39
{
40
“Sid”:“,
41
“效果”:“允许”,
42
“委托人”:{
43
“AWS”:“arn:AWS:iam::AWS帐号:用户/云存储桶名称”
44
},
45
“操作”:“s3:GetObject”,
46
“资源”:“arn:aws:s3:::CLOUDTRAILS s3 BUCKET NAME/*”
47
}
48
]
49
}

如何配置此事件源

  1. 单击顶部导航栏中的“添加数据”按钮
  2. 从安全数据部分选择云服务图标
  3. 选择收集器,并可以选择命名事件源
  4. 从事件源选项列表中,选择AWS CloudTrail
  5. (可选)选择发送未筛选的日志
  6. 选择现有凭据或创建新凭据。
  7. 输入在前面步骤中创建的密钥。
  8. 输入在前面步骤中创建的S3 Bucket名称。
  9. 输入在前面步骤中创建的S3密钥前缀。
  10. 选择Bucket区域名称。
  11. 以分钟为单位输入刷新率。
  12. 配置任何高级事件源设置。

常见问题/故障排除

如果您发现InsightOps未接收日志且未显示数据,请执行以下操作:

  1. 检查您的IAM策略是否正确
  2. 检查您是否使用了正确的区域
  3. 确保S3存储桶中确实有日志