AWS CloudTrail SQS

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

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

使用AWS CloudTrail API配置时,InsightIdr会定期查询API,以查看已更改的内容,然后下载日志。使用SQS配置时,InsightIdr在创建S3日志并准备下载时,通过SQS通知接收消息。这两种方法都很好,但是当您使用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_SEUL.

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

ap_singapore.

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

AP_SYDNEY

https://s3-ap-southeast-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。

政府云计算市场区域

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

GovCloud数据保存在标准AWS中

请注意,AWS GovCloud符合联邦加密要求,InsightIdr服务器托管在标准AWS中,以及您发送到InsightIdr的任何数据也将存储在那里。

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

政府云计算市场区域

URL.

美国东(GovCloud)

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

美国西(GovCloud)

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 Trails的更多信息,请阅读AWS文档:https://docs.amazonaws.cn/en_us/awscloudtrail/latest/userguide/cloudtrail-tutorial.html

创建一个小道:

  1. 在AWS控制台中,转到CloudTrail>小径>创建跟踪
  2. 在“路径名称”字段中为您的路径添加一个名称。
  3. 对于所有区域字段的申请路径,请选择是的
  4. 单击数据事件部分。
  5. 选择适当的S3 bucket或您帐户中的所有bucket。
  6. 单击存储位置部分。
  7. 对于Create a new S3 bucket部分,选择是的
  8. 为S3桶添加名称。注意到这一点是在InsightIdr中的稍后配置。
  9. 展开先进的部分。
  10. 对于每个日志文件发送字段的发送SNS通知,选择是的
  11. 对于创建新的SNS主题字段,请选择是的
  12. 为你的社交网站话题添加一个名称。在后面的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. 属性中选择前面创建的Topic选择一个主题下拉。
  4. 点击订阅

订阅SQS队列

选择一个主题

要了解关于订阅SNS主题的SQS队列的更多信息,请参阅AWS文档:https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/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策略或使用现有策略。我们建议您设置以下权限:

  • 列出存储日志的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队列过程中创建的Amazon S3桶创建一个小道过程来存储CloudTrail日志。
  4. 将S3权限配置为列表
  5. 将SQS队列权限配置为列表, 和.在每个策略中,您可以选择特定权限DeleteMessageReceiveMessage.至少,您必须选择ReceiveMessageDeleteMessage.以下是具有这些权限的示例策略:
         
杰森
1
2
“版本”“2012-10-17”
3.
“声明”
4
5
“效应”“允许”
6
“行动”
7
“s3: *”
8
“s3:list *”
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用户

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

创建用户。

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

选择一个用户

在InsightIDR中设置AWS CloudTrails

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

故障排除

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

InsightIDR不接收日志

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

  1. 检查您的IAM策略是否正确。
  2. 检查您是否使用过正确的区域。
  3. 确实在S3存储桶中实际上存在日志。
  4. 确保事件源的S3区域与CloudTrail使用的S3区域相匹配。

301错误

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