本文介绍了如何在 AWS 账户中生成安全发现,以帮助安全团队进行周期性的事件响应模拟。生成这些发现可以帮助安全团队验证其网络能力、调查工作流程和应急响应过程。本文将引导您如何部署解决方案,确保您了解目标和模拟类型,提供详细的架构、部署和清理步骤。
进行组织的事件响应能力的持续审查往往是一个挑战,尤其是在没有有效机制来生成与实际 Amazon Web ServicesAWS 资源相关的安全发现时。根据 AWS 安全事件响应白皮书, 定期审查事件响应能力至关重要,确保您的安全团队在不断成熟内部流程和评估 AWS 上的能力。
生成示例安全发现有助于理解发现格式,以便您能丰富发现的元数据或在安全信息事件管理SIEM解决方案中创建和优先排序检测。然而,如果您希望进行端到端事件响应模拟,包括创建实际检测,示例发现可能不会产生可操作的检测,因为您可能配置了警报抑制或拥有虚构的元数据如合成的 Amazon Elastic Compute CloudAmazon EC2 实例 ID,这可能会混淆您的修复工具。
在本文中,我们将介绍如何部署一个解决方案,该解决方案可以生成针对您 AWS 账户中实际配置资源的模拟安全发现。这种在 AWS 账户中生成安全发现的方式使安全团队能够验证其网络能力、调查工作流程和响应自动化的有效性。
重要提示: 强烈建议将该解决方案部署在一个隔离的 AWS 账户中,绝不应使用敏感数据或其他额外的工作负载。在该解决方案中部署的任何资源都不得用于生成安全发现以外的任何目的。尽管安全发现对现有资源无害,但仍应在隔离状态下进行。您的安全团队应审查代码中的资源和配置。
在部署解决方案之前,首先要了解目标以及要进行哪种类型的 模拟。如果您主要关注活跃的 Amazon GuardDuty 产生的发现格式,您应生成 GuardDuty 的示例发现。截至本文撰写时, Amazon Inspector 目前未生成示例发现。
如果您想验证事件响应应急预案,请确保您为解决方案生成的安全发现准备了相关应急预案。如果这些应急预案尚不存在,建议您首先进行高层次的桌面演练,以识别需要创建的预案。
由于您在一个没有工作负载的 AWS 账户中运行此示例,因此建议将此示例作为一个 紫队演习 来进行。紫队演习应定期进行,以支持新分析师的培训,验证现有应急预案,并识别可改进的领域,以缩短 平均响应时间 或识别可通过自动化优化的流程。
现在,您对不同的模拟类型有了初步了解,您可以在隔离的 AWS 账户中创建安全发现。
解决方案的架构如图 1 所示。
图 1:示例解决方案架构图
注意: 如果在部署期间提供了参数 inspector,则仅部署一个 EC2 实例。如果在部署期间提供了参数 guardduty,则部署两个 EC2 实例。
注意: 在部署期间,ecrcleanupfunction Lambda 函数也作为自定义资源被调用,以在创建过程中清理易受攻击的图像。如果清理存在问题,EventBridge 规则会不断尝试清理易受攻击的图像。
注意: 在尝试删除整个示例 CloudFormation 堆栈时,此函数会运行以删除 EKS CloudFormation 模板。
您可以使用 AWS 管理控制台 或者 AWS 云开发工具包 (AWS CDK) 部署 SecurityFindingGeneratorStack 解决方案。
使用控制台登录您选择的 AWS 账户,然后选择 Launch Stack 按钮,以打开预装有该解决方案模板的 AWS CloudFormation 控制台。 CloudFormation 堆栈大约需要 10 分钟才能完成。
您可以在 SecurityFindingGeneratorStack GitHub 存储库 中找到最新的 SecurityFindingGeneratorStack 解决方案代码,您也可以对此示例代码进行贡献。有关使用 AWS 云开发工具包 (AWS CDK) 的说明和更多信息,请参阅 入门 AWS CDK。
bash npm install g awscdklib npm install
bash cdk bootstrap aws//ltINSERTAWSACCOUNTgt/ltINSERTREGIONgt
bash cdk deploy SecurityFindingGeneratorStack parameters securityserviceuserdata=inspector
在解决方案成功部署后,安全发现应在几分钟内开始出现在您 AWS 账户的 GuardDuty 控制台中。
为创建多样化的 GuardDuty 发现,解决方案使用 Amazon EC2 用户数据 来运行脚本。这些脚本可以在 示例存储库 中找到。您还可以根据需求审查和修改脚本,以适应您的用例或删除特定操作如果您不希望特定资源被改变或生成安全发现的话。
关于活动 GuardDuty 发现类型及每种发现详细信息的综合列表可以在 Amazon GuardDuty 用户指南 中找到。在此解决方案中,执行以下活动会生成 GuardDuty 发现: