amazon-web-services - 如何使用调度程序从 AWS Security Hub 中提取数据?
问题描述
如何使用调度程序自动从 AWS 安全中心提取数据?我是 AWS 的新手,正在做一些我在下面发现的分析:
- 在 Security Hub 数据是 Json 格式中,我们没有选择导出到 csv/excel 吗?
- 所有安全中心发现/见解都会自动发送到 eventbridge ?是真的吗?如果是,我可以在 eventbridge 中检查相同的地方吗?
是否有任何其他选项可以每 12 小时自动从安全中心提取数据。我想从安全中心获取数据并将其传递给 ETL 流程,以便对这些数据应用一些逻辑?
Eventbridge 是唯一且最好的方法吗?
解决方案
在:
- 它是基于 JSON 的,但它是他们自己的格式,名为AWS 安全发现格式 (ASFF)
- 确实如此(对于 SecurityHub 支持并能够查看的所有资源)。应该注意的是,每个 Security Hub Findings-Imported 事件都包含一个结果。为了查看这些事件,您需要根据每种事件类型的格式创建一个 EventBridge 规则。
设置完成后,该事件可能会触发自动操作,例如:
- 调用 AWS Lambda 函数
- 调用 Amazon EC2 运行命令
- 将事件中继到 Amazon Kinesis Data Streams
- 激活 AWS Step Functions 状态机
- 通知 Amazon SNS 主题或 Amazon SQS 队列
- 将调查结果发送到第三方票务、聊天、SIEM 或事件响应和管理工具。
一般来说,EventBridge 是前进的方向,但您需要求助于基于事件的方法,而不是使用基于计划的方法。为了拦截所有发现,而不是仅由特定的规则触发,您需要调整过滤器并实质上为 SecurityHub 创建一个包罗万象的规则,然后触发您的 ETL 作业。
编辑(根据评论中的要求):
规则中的过滤器如下所示:
{
"source": [
"aws.securityhub"
]
}
关于 ETL,它实际上取决于您的用例,让 Kinesis Data Firehose 将其转储到 S3,然后按照您自己的建议使用 Athena 即可。另一种常见的方法是将数据发送到 ElasticSearch(或现在的 OpenSearch)。这篇博文对它们都进行了描述,您可以根据需要进行调整。
编辑2:
根据评论部分中的讨论,如果您真的想使用基于 cron 的方法,您需要使用基于您首选语言的 SDK,并围绕GetFindings API创建一些内容,该 API将轮询来自 SecurityHub 的数据。你可以在 Python 中使用这个函数,它以从 SecurityHub 中提取数据到 Azure Sentinel 为例
推荐阅读
- azure - 在策略的代码编辑器中,如果 validate-jwt 声明分隔符是空格,为什么它会被删除?
- java - 如何更改接下来显示的片段
- photoshop - Extendscript Photoshop:有没有办法为网络保存具有特定 KB 文件大小的 jpeg?
- javascript - 在通过服务器发送的javascript中读取arraybuffer的内容(文件阅读器api)
- javascript - Javascript JSON 未知行为
- android - 在不滚动的情况下填充 RecyclerView
- python - 在numpy数组中选择行
- matlab - gpuArray.ones 和 one('gpuArray') 有什么区别?
- ios - 如何转换 UITextField 中的数字并将其传递给 UITableViewCell 中的 UILabel?
- java - 如何在 mongodb Spring Boot 中持久化嵌套文档?