AWS CloudTrail SQS

亚马逊网络服务(AWS)是一种云服务集成,允许您跟踪企业云服务的使用情况。无论您使用的是Amazon的Standard还是GovCloud区域,您都可以配置AWS CloudTrail,将日志发送到InsightIDR。

您还可以使用CloudTrail API配置AWS CloudTrail

当您使用AWS CloudTrail API进行配置时,InsightIDR会定期查询API以查看哪些内容发生了更改,然后下载日志。当您配置SQS时,InsightIDR通过SQS通知接收消息,当S3日志创建并准备下载时。这两种方法都工作得很好,但是当您使用SQS方法时,InsightIDR通常能够更快地收集日志,因为S3文件一准备好就会创建消息。有关如何使用CloudTrail API配置AWS CloudTrail的说明,请参阅AWS CloudTrail API文档。

设置此事件源:

  1. 配置您的AWS设置
  2. 使用InsightIDR中的SQS设置AWS CloudTrail

配置您的AWS设置

在您可以将日志从AWS CloudTrail发送到InsightIDR之前,您必须在您所有的区域启用AWS CloudTrail,创建一个trail,创建一个SQS队列,订阅SNS主题队列,并设置AWS权限。

要配置AWS设置:

  1. 使AWS CloudTrail
  2. 创建一个小道
  3. 创建SQS队列
  4. 将队列订阅到SNS主题
  5. 设置权限

步骤1:启用AWS CloudTrail

为了获得CloudTrail监控的最大覆盖率,你应该在所有标准区域和GovCloud区域启用CloudTrail,即使你没有任何EC2实例或其他AWS资源在所有区域运行。接下来,这有助于确保如果攻击者破坏您AWS帐户中的资源,并且他们在其他区域创建或修改资源,您将能够监视和警告该行为。

AWS S3地区

取决于CloudTrail日志存储的区域,收集器需要到达以下URL来收集日志:

S3地区

URL

US_STANDARD

https://s3.amazonaws.com.

US_WEST_OREGON

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

US_EAST_OHIO

http://s3-us-east-2.amazonaws.com

US_WEST_N_CALIFORNIA

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

CA_CENTRAL

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

EU_IRELAND

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

eu_london.

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

EU_PARIS.

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

EU_FRANKFURT

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

AP_MUMBAI

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

AP_SEOUL

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

AP_SINGAPORE

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

ap_sydney.

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

ap_tokyo.

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

SA_SAO_PAULO

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

创建AWS帐户时,自动启用AWS CloudTrail。所有活动都被记录为一个事件,并存档90天。为了帮助您存储、分析和管理对AWS资源的更改,并将事件记录扩展到90天以上,您可以创建CloudTrail trail。

GOVCLOUD地区

如果使用AWS GOVCLOUD,可以将数据发送到InsightIdr以进行进一步分析。

GovCloud数据保存在标准AWS中

请注意,虽然AWS GovCloud遵守联邦加密要求,但InsightIDR服务器托管在标准AWS中,您发送到InsightIDR的任何数据也将存储在那里。

您可以从以下GovCloud区域发送数据到InsightIDR:

政府云计算市场区域

URL

美国东部(政府云计算市场)

s3 - website.us gov -东- 1. amazonaws.com

美国西部(政府云计算市场)

s3 - website.us gov -西方- 1. amazonaws.com

使政府云计算市场区域

有关启用GovCloud区域的信息,请参见https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/verifying-cloudtrail.html

第2步:创建一个小径

跟踪是您的AWS帐户活动的长期记录。它允许您过滤并持续地将跟踪的日志文件发送到Amazon S3桶,该桶将被发送到InsightIDR。要了解更多关于CloudTrail的信息,请阅读AWS文档:https://docs.amazonaws.cn/en_us/awscloudtrail/latest/userguide/cloudtrail-tutorial.html

创建路径:

  1. 在AWS控制台中,转到CloudTrail.>小径>创建跟踪
  2. 在“路径名称”字段中为您的路径添加一个名称。
  3. 对于“将trail应用到所有区域”字段,请选择是的
  4. 点击数据事件部分。
  5. 选择适当的S3 bucket或您帐户中的所有bucket。
  6. 点击存储位置部分。
  7. 对于Create a new S3 bucket部分,选择是的
  8. 为S3桶添加一个名称。在以后的InsightIDR配置中请注意这一点。
  9. 扩大先进的部分。
  10. 对于每个日志文件传递字段的发送SNS通知,请选择是的
  11. 对于创建新的SNS主题字段,请选择是的
  12. 为SNS主题添加一个名称。注意到这一点是在AWS中的稍后配置。
  13. 点击创建

创建一个新的踪迹

有关在CloudTrail中使用SNS的更详细解释,请参阅AWS文档:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html#configure-cloudtrail-to-send-notifications

步骤3:创建一个SQS队列

  1. 在AWS控制台中,转到简单队列服务>创建新队列
  2. 中为您的队列键入名称队列名称字段。
  3. 你需要什么类型的队列?字段中,选择标准队列
  4. 点击配置队列如果要设置队列的属性。
  5. 点击创建队列
  6. 请注意您的队列的URL,以便稍后在InsightIDR中进行配置。

创建一个SQS队列

步骤4:将SQS队列订阅到SNS主题

  1. 在队列列表中,找到刚才创建的队列。
  2. 右键单击该队列并选择订阅队列到SNS主题
  3. 选择您之前创建的主题选择一个主题落下。
  4. 点击订阅

订阅SQS队列

选择一个主题

要了解关于订阅SNS主题的SQS队列的更多信息,请参阅AWS文档:https://docs.aws.amazon.com/awssimplequeueservice/latest/sqsdeveloperuide/sqs-subscribe-queue-sns-topic.html.

步骤5:设置权限

通过附加到IAM身份或AWS资源的IAM策略来管理对AWS的访问。IAM policy定义了一个身份(如角色、用户或AWS资源)的权限。这些策略用于评估请求是被允许还是被拒绝。有关IAM策略的更多信息,请参阅AWS文档:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/security_iam_service-with-iam.html

您可以创建IAM策略,也可以使用已有的IAM策略。我们建议您设置权限:

  • 列出存储日志的S3桶的权限和读取权限
  • SQS队列的ReceiveMessage和DeleteMessage权限

有关S3桶策略的更多信息,请阅读AWS文档:https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html

创建IAM策略

  1. 登录您的AWS管理控制台,并进入安慰。
  2. 从左边的菜单中,单击政策>创建政策
  3. 设置授予您在设置的SQS队列的权限的策略创建SQS队列过程中创建的Amazon S3桶创建一个小道过程来存储CloudTrail日志。
  4. 配置S3权限列表
  5. 配置SQS队列权限列表,.在每个策略中,您可以选择特定的权限,如deletemessage.接收方式.至少,您必须选择接收方式deletemessage..下面是一个具有这些权限的策略示例:
         
json
1
2
“版本”“2012-10-17”
3.
“声明”
4
5
“影响”“允许”
6
“行动”
7
“s3:get *”
8
“s3:列表*”
9
10
“资源”
11
“攻击:aws: s3::: CloudTrailsS3BucketNameGoesHere”
12
“攻击:aws: s3::: CloudTrailsS3BucketNameGoesHere / *”
13
14
15
16
“影响”“允许”
17
“行动”
18
“sqs: ReceiveMessage”
19
“sqs: DeleteMessage”
20.
21
“资源”
22
“攻击:aws: sqs:地区:帐户id:资源id”
23
24
25
26
  1. 创建政策。

创建并配置IAM User

创建可以访问组并继承权限的用户。

创建用户。

  1. 在AWS控制台中,转到用户添加用户
  2. 添加用户名并选择编程访问在Access Type部分下选择下一个:权限
  3. 选择集团您之前创建的,并选择下一个:审查
  4. 在完整页面上,选择展示秘密访问密钥。
  5. 将此用户的访问密钥和秘密密钥复制并保存在一个安全的位置,以便以后使用。

选择一个用户

在InsightIDR中设置AWS CloudTrails

  1. 从您的InsightIdr仪表板,选择数据收集从左边的菜单。
  2. 当出现“数据采集”页面时,单击设置事件源下拉和选择添加事件源
  3. 从安全数据部分中,单击云服务图标。将出现“添加事件源”面板。
  4. 选择你的收藏家和AWS CloudTrail从事件源下拉列表中。如果需要,还可以命名事件源。
  5. 可选择选择发送未经过滤的日志
  6. 选择SQS消息对于收集方法。
  7. 选择“IAM User Credential”或EC2实例概要文件凭据
  8. 如果您正在创建新凭据,请输入秘密密钥和访问密钥。
  9. 输入您在AWS中创建的队列的SQS队列URL。
  10. 选择合适的桶区域名称。
  11. 点击保存

故障排除

本节介绍使用SQS配置AWS CloudTrails事件源时可能遇到的常见故障排除场景。

InsightIDR不接收日志

如果您发现InsightIDR没有接收日志,且数据没有出现,请执行以下操作:

  1. 请检查IAM policy是否正确。
  2. 检查您是否使用了正确的区域。
  3. 确保S3桶中有实际的日志。
  4. 确保事件源的S3区域与CloudTrail使用的S3区域相匹配。

301错误

如果遇到301错误,则事件源中的S3区域与CloudTrail日志的区域不匹配。确保事件源和CloudTrail使用相同的S3区域。