实时安全监控新选择:GuardDuty-Sentinel-Integration的Lambda推送方案
【免费下载链接】guardduty-sentinel-integration项目地址: https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration
GuardDuty-Sentinel-Integration是一款生产级的AWS GuardDuty findings到Microsoft Sentinel的集成解决方案,提供了完整的数据管道和KQL解析层,支持AWS S3连接器(轮询)和通过Log Analytics数据收集器API的直接Lambda推送两种 ingestion路径。
为什么选择Lambda推送方案?
传统的S3/SQS轮询方式虽然稳定,但存在一定的延迟。对于需要实时安全监控和即时响应的场景,GuardDuty-Sentinel-Integration提供的Lambda推送方案是一个理想选择。它能够将GuardDuty findings通过EventBridge实时推送到Sentinel,显著降低数据传输延迟,让安全团队能够更快地获取和响应潜在威胁。
Lambda推送方案的核心优势
- 实时性:相比轮询方式,Lambda推送方案能够几乎实时地将GuardDuty findings传输到Sentinel,减少数据延迟。
- 架构简洁:采用EventBridge Rule → Lambda → Log Analytics HTTP Data Collector API → Sentinel的简洁架构,易于理解和维护。
- 安全性:Lambda handler包含HMAC-SHA256认证、结构化错误处理和自动信封检测,确保数据传输的安全性和可靠性。
- 灵活性:作为可选组件,可与现有的S3连接器方案共存,根据实际需求灵活选择。
Lambda推送方案的工作原理
Lambda推送方案的核心是位于scripts/lambda_ingestion_handler.py的Lambda函数。该函数接收来自EventBridge的GuardDuty findings,对其进行解析和转换,然后通过Log Analytics Data Collector API将数据发送到Microsoft Sentinel。
数据流程解析
事件接收:Lambda函数从EventBridge接收GuardDuty事件。这些事件可以是直接格式(schemaVersion在根级别)或EventBridge信封格式(finding嵌套在'detail'下)。
事件解析与转换:函数中的
parse_guardduty_finding方法负责将原始事件解析为Sentinel友好的扁平架构。这个过程包括:- 提取核心字段如FindingId、Severity、Title等
- 转换严重级别为更易理解的文本(如Critical、High、Medium等)
- 提取网络上下文信息(如远程IP、国家、协议等)
- 提取资源上下文信息(如实例ID、类型、VPC ID等)
数据发送:解析后的事件通过
post_to_sentinel方法发送到Log Analytics API。这个过程包括构建HMAC-SHA256授权头,确保请求的安全性。
快速部署Lambda推送方案
部署Lambda推送方案非常简单,只需几步即可完成:
前提条件
- AWS账户和适当的权限
- Microsoft Sentinel工作区
- Sentinel工作区ID和共享密钥
部署步骤
克隆仓库:
git clone https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration配置环境变量:
SENTINEL_WORKSPACE_ID:Sentinel工作区IDSENTINEL_SHARED_KEY:Sentinel共享密钥LOG_TYPE:日志类型,默认为"AWSGuardDuty"AWS_REGION:AWS区域,默认为"eu-west-2"
部署Lambda函数: 将
scripts/lambda_ingestion_handler.py部署到AWS Lambda,并配置EventBridge触发器以接收GuardDuty事件。验证部署: 部署完成后,可以通过查看Lambda函数日志和Sentinel中的AWSGuardDuty表来验证数据是否成功接收。
高级配置与优化
自定义日志类型
如果需要将数据发送到自定义日志类型,可以通过设置LOG_TYPE环境变量来实现。例如,设置LOG_TYPE=CustomGuardDutyLogs将把数据发送到名为CustomGuardDutyLogs的表中。
错误处理与重试
Lambda函数包含全面的错误处理机制,包括:
- 事件解析错误(400状态码)
- Sentinel API HTTP错误(对应HTTP状态码)
- 网络连接错误(502状态码)
- 其他意外错误(500状态码)
对于需要重试机制的场景,可以配置Lambda的重试策略或与SQS结合使用,确保所有事件都能被成功处理。
性能优化
对于高流量场景,可以考虑以下优化措施:
- 增加Lambda函数的内存和CPU资源
- 配置并发执行限制
- 考虑使用批处理模式处理多个事件
结语
GuardDuty-Sentinel-Integration的Lambda推送方案为AWS和Azure环境的安全监控提供了一个高效、实时的解决方案。通过将GuardDuty findings实时推送到Sentinel,安全团队能够更快地检测和响应潜在威胁,提高整体安全态势感知能力。
无论是新建环境还是现有环境的升级,Lambda推送方案都能提供显著的价值。其简洁的架构、强大的功能和易于部署的特点,使其成为实时安全监控的理想选择。
如需了解更多详细信息,请参考项目文档:
- 部署指南
- 故障排除
- KMS权限配置
【免费下载链接】guardduty-sentinel-integration项目地址: https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考