成长脑
41.58MB · 2025-10-19
安全团队需要高效验证和记录AWS Security Hub发现的异常,同时保持适当的治理。企业安全团队需要确保安全最佳实践的异常得到适当验证和记录,而开发团队需要简化的流程来实施和验证补偿控制。
该解决方案提供示例代码和CloudFormation模板,组织可以部署这些模板来自动验证被抑制Security Hub发现的补偿控制,同时保持安全团队和开发团队之间的适当职责分离。
图1说明了解决方案工作流程:当开发人员将Security Hub发现的工作流状态更改为SUPPRESSED以请求业务合理的安全异常时启动该流程。解决方案将验证结果作为注释添加到相应的Security Hub发现中,维护异常请求和验证结果的完整审计跟踪。
工作流程步骤:
该解决方案专为组织安全团队部署和管理而设计。只有安全团队应具有部署AWS CloudFormation堆栈、修改Lambda验证代码、添加/修改补偿控制或访问四个DynamoDB表的权限。
安全团队为特定Security Hub发现类型建立补偿控制,并将其存储在DynamoDB表中。
支持13种验证方法:
验证类型 | 描述 | 示例用例 |
---|---|---|
CONFIG_RULE | 使用AWS Config规则验证 | GuardDuty未启用发现:vpc-flow-logs-enabled Config规则确保监控网络流量 |
API_CALL | 使用直接AWS API调用验证 | Amazon S3公共访问发现:API调用验证CloudFront分发存在于S3存储桶前 |
SECURITY_HUB_CONTROL | 使用Security Hub控制状态验证 | GuardDuty未启用发现:CloudTrail.1控制通过确认全面的API日志记录 |
CLOUDWATCH | 使用CloudWatch警报验证 | GuardDuty未启用发现:监控可疑API调用和网络流量模式的警报 |
CLOUDTRAIL | 验证CloudTrail配置 | GuardDuty未启用发现:多区域CloudTrail,具有日志验证和CloudWatch集成 |
SYSTEMS_MANAGER | 使用Systems Manager参数验证 | GuardDuty未启用发现:确认自定义威胁检测解决方案已启用的参数 |
PROCESS_CONTROL | 验证基于流程的控制 | GuardDuty未启用发现:记录网络安全事件的事件响应流程 |
INSPECTOR | 验证Amazon Inspector配置 | 漏洞发现:Inspector EC2扫描已启用,不允许关键发现 |
ACCESS_ANALYZER | 验证AWS IAM Access Analyzer | IAM权限发现:IAM Access Analyzer已启用,不允许活动发现 |
MACIE | 验证Amazon Macie配置 | 数据保护发现:Macie已启用,具有敏感数据发现,不允许敏感存储桶 |
AUDIT_MANAGER | 验证AWS Audit Manager框架 | 合规性发现:自定义安全框架处于活动状态,具有必需的控制集 |
EVENTBRIDGE | 验证EventBridge规则 | GuardDuty未启用发现:监控AWS CloudTrail事件并具有Lambda目标的规则 |
TRUSTED_ADVISOR | 验证AWS Trusted Advisor检查 | 安全最佳实践发现:S3存储桶权限检查通过,零警告或错误资源 |
当Security Hub发现被抑制时,开发人员必须实施安全团队定义的所需补偿控制。
开发人员与解决方案交互的方式:
解决方案自动为每个验证活动捕获全面的证据。主要特性包括:
使用提供的脚本部署解决方案:
git clone https://github.com/aws-samples/sample-automated-securityhub-validator.git
cd automated-securityhub-validator
cd scripts
./create-roles-quotas-check.sh
假设安全团队角色:
aws sts assume-role --role-arn arn:aws:iam::ACCOUNT_ID:role/securityhub-validator-SecurityTeamRole --role-session-name SecurityTeamSession
部署解决方案:
cd scripts
./deploy.sh
添加补偿控制:
cd scripts
./add-controls-role-based.sh
测试GuardDuty发现的补偿控制验证示例场景:
为避免持续费用,使用以下命令清理资源:
./cleanup.sh
本文展示了安全团队如何实施解决方案来定义AWS Security Hub发现的补偿控制并自动验证其实施。该解决方案提供了结构化工作流程,安全团队在其中定义可接受的补偿控制,开发人员实施这些控制,自动化系统验证其有效性。
通过支持13种不同的验证类型,从AWS Config规则到流程文档,该解决方案为各种安全场景提供全面覆盖。