从入门到精通GuardDuty-Sentinel-Integration的核心KQL函数详解【免费下载链接】guardduty-sentinel-integration项目地址: https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration想要在Microsoft Sentinel中高效分析AWS GuardDuty安全告警吗GuardDuty-Sentinel-Integration项目提供了完整的KQL函数套件让安全分析师能够轻松查询、分析和关联AWS安全数据。本文将深入解析这个开源项目的核心KQL函数帮助您快速掌握安全数据分析的终极工具。项目概述与核心价值GuardDuty-Sentinel-Integration是一个生产就绪的AWS GuardDuty数据集成解决方案专为Microsoft Sentinel设计。该项目解决了安全团队面临的几个关键挑战原生AWS S3连接器虽然显示已连接但数据不流动、原始GuardDuty数据难以查询、缺乏跨源威胁狩猎的ASIM标准化以及缺少实时推送选项。通过配置驱动的KQL函数该项目使GuardDuty数据立即可查询并与ASIM标准对齐。无论您是通过AWS S3连接器轮询还是通过Lambda直接推送实时接收数据这套KQL函数都能提供统一的分析体验。核心KQL函数架构解析1. 配置管理函数AWSGuardDuty_Config()这是整个系统的控制中心所有解析器都从这里读取配置。通过集中化管理您只需更改一次设置所有下游解析器都会自动生效。// 查看所有配置项 AWSGuardDuty_Config()核心配置包括TableName: 默认AWSGuardDuty - 指定GuardDuty数据表名DefaultLookback: 默认7d - 默认查询时间范围HandleEventBridgeEnvelope: 默认true - 自动检测EventBridge信封格式EnableASIMNormalization: 默认true - 启用ASIM架构标准化2. 基础解析函数AWSGuardDuty_Main()这是所有解析的基础处理两种输入格式直接JSON格式和EventBridge信封格式。这个函数自动检测并解包EventBridge信封确保数据一致性。// 获取过去24小时的所有告警 AWSGuardDuty_Main(1d) | where SeverityLevel High | project EventTime, FindingType, Title, AwsAccountId关键功能自动格式检测智能识别直接JSON和EventBridge信封数据质量评分为每条记录计算0-100的质量分数严重性映射将数字严重性转换为可读级别关键、高、中、低错误处理优雅处理缺失字段和解析错误3. 网络威胁分析函数AWSGuardDuty_Network()专注于网络相关的安全发现提取连接详细信息并增强地理信息丰富度。// 分析过去7天的网络威胁 AWSGuardDuty_Network(7d) | where isnotempty(RemoteIp) | summarize Findings count() by RemoteCountry, FindingType | order by Findings desc提取的关键字段连接方向入站/出站流量协议信息TCP、UDP、ICMP等地理位置远程IP的国家、城市、ISP信息实例上下文EC2实例ID、类型、状态4. IAM和API调用分析函数AWSGuardDuty_IAM()专注于身份和访问管理发现提取API调用详情、身份上下文和认证信息。// 查找可疑的API调用 AWSGuardDuty_IAM(7d) | where UserName contains root or UserName contains admin | project EventTime, ApiName, UserName, RemoteIp_API, AwsAccountId核心功能API调用追踪记录所有AWS API调用身份分析识别调用者类型和用户身份地理位置映射关联API调用的来源位置风险评估计算API调用风险分数5. S3存储安全函数AWSGuardDuty_S3()专门处理S3存储桶安全发现提取桶加密、公共访问配置和ACL详情。// 查找公开暴露的S3存储桶 AWSGuardDuty_S3(7d) | where IsPubliclyExposed true | project EventTime, BucketName, S3RiskCategory, AwsAccountId监控的安全问题公开暴露风险检测公开可访问的存储桶加密问题识别未加密或加密配置不当权限配置分析ACL和策略配置访问模式监控异常访问行为6. EKS容器安全函数AWSGuardDuty_EKS()专注于Kubernetes和容器安全覆盖EKS审计日志和运行时监控发现。// 检测EKS权限提升尝试 AWSGuardDuty_EKS(7d) | where K8sThreatCategory Privilege Escalation | project EventTime, ClusterName, K8sNamespace, K8sUserName监控的威胁类型权限提升容器内权限升级尝试凭证访问敏感凭证的未授权访问可疑工作负载异常容器行为网络策略违规违反网络策略的连接7. ASIM标准化函数AWSGuardDuty_ASIMNetworkSession()将GuardDuty网络发现映射到ASIM网络会话架构v0.2.6实现跨源威胁狩猎。// 生成ASIM标准化的网络会话数据 AWSGuardDuty_ASIMNetworkSession(1d) | where NetworkDirection Inbound | project TimeGenerated, SrcIpAddr, DstIpAddr, DstPortNumber, ThreatCategory标准化字段源/目标IP地址统一格式的IP地址地理位置信息标准化的地理编码威胁等级映射将GuardDuty严重性转换为ASIM威胁等级会话标识符唯一的会话标识8. 数据质量验证函数AWSGuardDuty_Schema()提供数据质量验证和监控确保GuardDuty数据的完整性和准确性。// 评估数据质量 AWSGuardDuty_Schema(7d) | summarize OverallQualityScore avg(DataQualityScore), TotalFindings count(), CriticalFindings countif(SeverityLevel Critical)质量指标完整性分数评估必需字段的完整性一致性检查验证数据格式一致性时效性分析监控数据延迟和新鲜度异常检测识别数据模式异常实战应用场景场景1实时威胁监控仪表板// 创建实时威胁监控视图 let lookback 1d; AWSGuardDuty_Main(lookback) | summarize TotalFindings count(), Critical countif(SeverityLevel Critical), High countif(SeverityLevel High), Medium countif(SeverityLevel Medium), Low countif(SeverityLevel Low) | extend ThreatLevel case( Critical 0, 严重威胁, High 5, 高风险, Medium 10, 中等风险, 低风险 )场景2跨账户威胁关联分析// 跨AWS账户关联威胁 AWSGuardDuty_Main(7d) | where SeverityLevel in (Critical, High) | summarize FindingsPerAccount count() by AwsAccountId, FindingType | join kindinner ( AWSGuardDuty_Network(7d) | where isnotempty(RemoteIp) | summarize RemoteIps make_set(RemoteIp) by AwsAccountId ) on AwsAccountId | project AwsAccountId, FindingType, FindingsPerAccount, RemoteIps场景3ASIM标准化威胁狩猎// 使用ASIM标准化数据进行威胁狩猎 AWSGuardDuty_ASIMNetworkSession(1d) | join kindinner ( AzureSentinel | where EventProduct AzureFirewall | project SrcIpAddr, DstIpAddr, DstPortNumber, TimeGenerated ) on SrcIpAddr, DstIpAddr, DstPortNumber | where abs(datetime_diff(minute, TimeGenerated, TimeGenerated1)) 5 | project ThreatCorrelationTime TimeGenerated, GuardDutyFinding EventOriginalType, FirewallEvent EventType配置最佳实践1. 性能优化配置// 在AWSGuardDuty_Config.kql中优化性能 DefaultLookback, 3d, // 根据数据量调整 MaxLookback, 30d, // 限制查询范围 QueryTimeout, 180, // 设置查询超时 EnablePerformanceLogging, false // 生产环境关闭2. 数据质量监控// 定期监控数据质量 AWSGuardDuty_Schema(1d) | summarize AvgQuality avg(DataQualityScore), LowQualityRecords countif(DataQualityScore 60), TotalRecords count() | extend QualityStatus case( AvgQuality 90, 优秀, AvgQuality 75, 良好, AvgQuality 60, 一般, 需要关注 )3. 告警规则配置// 创建高严重性告警规则 AWSGuardDuty_Main(1h) | where SeverityLevel Critical | summarize CriticalFindings count() by bin(TimeGenerated, 5m), AwsAccountId | where CriticalFindings 3故障排除技巧1. 数据不显示问题// 检查数据管道 AWSGuardDuty | where TimeGenerated ago(24h) | take 10 | getschema2. 解析器返回空结果// 验证配置 AWSGuardDuty_Config() | where Setting in (TableName, RawColumn, AlternateRawColumn)3. 性能问题诊断// 分析查询性能 AWSGuardDuty_Main(7d) | summarize RecordCount count(), DataSizeMB estimate_data_size() / 1024 / 1024, TimeRange max(TimeGenerated) - min(TimeGenerated)部署与集成一键部署脚本项目提供了便捷的部署脚本简化了KQL函数的部署过程# 克隆仓库 git clone https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration cd guardduty-sentinel-integration # 一键部署 ./deploy.sh -g your-resource-group -w your-sentinel-workspaceARM模板部署对于企业级部署可以使用ARM模板az deployment group create \ --resource-group your-resource-group \ --template-file deployment/azuredeploy.json \ --parameters workspaceNameyour-sentinel-workspace总结与最佳实践GuardDuty-Sentinel-Integration项目的KQL函数套件为安全团队提供了强大的AWS GuardDuty数据分析能力。通过这套函数您可以快速启动几分钟内部署完整的解析管道标准化分析使用统一的ASIM标准进行威胁狩猎深度洞察从网络、IAM、S3、EKS等多个维度分析安全数据实时响应通过Lambda直接推送实现亚分钟级延迟最佳实践建议从AWSGuardDuty_Config()开始配置确保所有解析器使用相同设置定期运行AWSGuardDuty_Schema()监控数据质量利用AWSGuardDuty_ASIMNetworkSession()进行跨源威胁关联根据数据量调整DefaultLookback参数优化性能通过掌握这些核心KQL函数您将能够充分利用AWS GuardDuty的安全数据在Microsoft Sentinel中构建强大的安全监控和分析能力。无论您是安全分析师、云架构师还是运维工程师这套工具都将显著提升您的云安全运营效率。立即开始您的GuardDuty安全分析之旅体验专业级的AWS安全数据集成解决方案【免费下载链接】guardduty-sentinel-integration项目地址: https://gitcode.com/gh_mirrors/gu/guardduty-sentinel-integration创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考