首页 > 解决方案 > 如何使用调度程序从 AWS Security Hub 中提取数据?

问题描述

如何使用调度程序自动从 AWS 安全中心提取数据?我是 AWS 的新手,正在做一些我在下面发现的分析:

  1. 在 Security Hub 数据是 Json 格式中,我们没有选择导出到 csv/excel 吗?
  2. 所有安全中心发现/见解都会自动发送到 eventbridge ?是真的吗?如果是,我可以在 eventbridge 中检查相同的地方吗?

是否有任何其他选项可以每 12 小时自动从安全中心提取数据。我想从安全中心获取数据并将其传递给 ETL 流程,以便对这些数据应用一些逻辑?

Eventbridge 是唯一且最好的方法吗?

标签: amazon-web-servicesamazon-s3aws-event-bridgeaws-security-hub

解决方案


在:

  1. 它是基于 JSON 的,但它是他们自己的格式,名为AWS 安全发现格式 (ASFF)
  2. 确实如此(对于 SecurityHub 支持并能够查看的所有资源)。应该注意的是,每个 Security Hub Findings-Imported 事件都包含一个结果。为了查看这些事件,您需要根据每种事件类型的格式创建一个 EventBridge 规则。

设置完成后,该事件可能会触发自动操作,例如:

  • 调用 AWS Lambda 函数
  • 调用 Amazon EC2 运行命令
  • 将事件中继到 Amazon Kinesis Data Streams
  • 激活 AWS Step Functions 状态机
  • 通知 Amazon SNS 主题或 Amazon SQS 队列
  • 将调查结果发送到第三方票务、聊天、SIEM 或事件响应和管理工具。

一般来说,Eve​​ntBridge 是前进的方向,但您需要求助于基于事件的方法,而不是使用基于计划的方法。为了拦截所有发现,而不是仅由特定的规则触发,您需要调整过滤器并实质上为 SecurityHub 创建一个包罗万象的规则,然后触发您的 ETL 作业。

编辑(根据评论中的要求):

规则中的过滤器如下所示:

{
  "source": [
    "aws.securityhub"
  ]
}

关于 ETL,它实际上取决于您的用例,让 Kinesis Data Firehose 将其转储到 S3,然后按照您自己的建议使用 Athena 即可。另一种常见的方法是将数据发送到 ElasticSearch(或现在的 OpenSearch)。这篇博文对它们都进行了描述,您可以根据需要进行调整。

编辑2:

根据评论部分中的讨论,如果您真的想使用基于 cron 的方法,您需要使用基于您首选语言的 SDK,并围绕GetFindings API创建一些内容,该 API将轮询来自 SecurityHub 的数据。你可以在 Python 中使用这个函数,它以从 SecurityHub 中提取数据到 Azure Sentinel 为例


推荐阅读