使用 Amazon Inspector 和 Security Hub 自动对跨账户工作负载进行AWS安全扫描 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon Inspector 和 Security Hub 自动对跨账户工作负载进行AWS安全扫描

由 Ramya Pulipaka (AWS) 和 Mikesh Khanal () 创作 AWS

环境:生产

技术:云原生、DevOps、基础设施、现代化、安全、身份、合规、管理和治理

AWS服务:亚马逊 Inspector;亚马逊SNS;AWSLambda;Sec AWS urity Hub;亚马逊 CloudWatch

Summary

此模式描述了如何自动扫描 Amazon Web Services (AWS) 云上跨账户工作负载中的漏洞。

该模式有助于为按标签分组的亚马逊弹性计算云 (AmazonEC2) 实例的基于主机的扫描或基于网络的 Amazon Inspector 扫描创建计划。AWS CloudFormation 堆栈会将所有必需的AWS资源和服务部署到您的AWS账户。

Amazon Inspector 的调查结果将导出到 Sec AWS urity Hub,用于深入了解您的账户、AWS区域、虚拟私有云 (VPCs) 和EC2实例中的漏洞。您可以通过电子邮件接收这些调查结果,也可以创建亚马逊简单通知服务 (AmazonSNS) 主题,该主题使用HTTP终端节点将调查结果发送到工单工具、安全信息和事件管理 (SIEM) 软件或其他第三方安全解决方案。

先决条件和限制

先决条件

  • 用于接收来自Amazon的电子邮件通知的现有电子邮件地址SNS。 

  • 工单工具、SIEM软件或其他第三方安全解决方案使用的现有HTTP端点。

  • 托管跨AWS账户工作负载的活跃账户,包括中央审计账户。 

  • Security Hub,已启用并配置。您可以在没有 Security Hub 的情况下使用此模式,但我们建议使用 Security Hub,因为它会生成见解。有关更多信息,请参阅 Sec urity Hub 文档中的设置 Sec AWS urity Hub。

  • 您要扫描的每个EC2实例上都必须安装 Amazon Inspector 代理。您可以使用 Syst AWSems Manager 运行命令在多个EC2实例上安装 Amazon Inspector 代理。 

技能

  • 在中体验堆栈集的使用self-managedservice-managed权限AWS CloudFormation。如果您想使用self-managed权限将堆栈实例部署到特定区域的特定账户,则必须创建所需的AWS身份和访问管理 (IAM) 角色。如果您想使用service-managed权限将堆栈实例部署到特定AWS区域的 Organizations 管理的账户,则无需创建所需的IAM角色。有关更多信息,请参阅AWS CloudFormation 文档中的创建堆栈集。 

限制

  • 如果没有对账户中的EC2实例应用标签,则 Amazon Inspector 会扫描该账户中的所有EC2实例。

  • AWS CloudFormation 堆栈集和 onboard-audit-account .yaml 文件(附件)必须部署在同一区域。

  • 默认情况下,Amazon Inspector Classic 不支持汇总调查发现。Security Hub 是查看多个账户或AWS区域评估的推荐解决方案。

  • 这种模式的方法可以扩展到美国东部(弗吉尼亚北部)地区(us-east-1TPS)中某个SNS主题的每秒30,000笔交易的发布配额以下(),尽管限制因地区而异。为了更有效地扩展并避免数据丢失,我们建议在SNS主题前面使用亚马逊简单队列服务 (AmazonSQS)。

架构

下图说明了自动扫描EC2实例的工作流程。

用于运行扫描的AWS帐户和用于发送通知的单独审核帐户。

工作流程由以下步骤组成:

1. 亚马逊 EventBridge 规则使用 cron 表达式按特定计划自行启动并启动 Amazon Inspector。  

2. Amazon Inspector 会扫描账户中已标记的EC2实例。 

3. Amazon Inspector 将调查发现发送至 Security Hub,后者会生成有关工作流、优先级划分和补救的见解。

4. Amazon Inspector 还会将评估的状态发送到审计账户中的某个SNS主题。如果向AWS主题发布了findings reported事件,则会调用 Lambda 函数。SNS 

5. Lambda 函数提取和格式化调查结果,并将其发送到审计账户中的另一个SNS主题。

6. 调查结果将发送到订阅该SNS主题的电子邮件地址。完整的详细信息和建议将以JSON格式发送到订阅的HTTP终端节点。

技术堆栈

  • AWS Control Tower

  • EventBridge 

  • IAM

  • Amazon Inspector

  • Lambda

  • Security Hub

  • Amazon SNS

工具

  • AWS CloudFormation— AWS CloudFormation 帮助您对AWS资源进行建模和设置,这样您就可以花更少的时间管理这些资源,而将更多的时间集中在应用程序上。

  • AWS CloudFormation StackSets— 允许您通过一次操作在多个账户和地区创建、更新或删除堆栈,从而AWS CloudFormation StackSets 扩展堆栈的功能。

  • AWSCont@@ rol Tow er — Cont AWS rol Tower 创建了一个抽象层或编排层,该层结合并集成了其他几项AWS服务(包括 Organizations)的功能。AWS

  • Amazon EventBridge — EventBridge 是一项无服务器事件总线服务,可以轻松地将您的应用程序与来自各种来源的数据连接起来。

  • AWSLambd a — Lambda 是一项计算服务,可帮助您在不预配置或管理服务器的情况下运行代码。

  • AWSSec@@ urity Hub — Security Hub 为您提供安全状态的全面视图,AWS并帮助您根据安全行业标准和最佳实践检查您的环境。

  • 亚马逊 SNS — 亚马逊简单通知服务 (AmazonSNS) 是一项托管服务,可从发布者向订阅者传送消息。

操作说明

任务描述所需技能

在审计账户中部署AWS CloudFormation 模板。

下载 onboard-audit-account.yaml 文件(附件)并将其保存到计算机上的本地路径。 

登录您的审计账户的AWS管理控制台,打开AWS CloudFormation 控制台,然后选择创建堆栈。 

选择先决条件部分中的准备模板,然后选择模板已就绪。选择指定模板部分中的模板源,然后选择模板已就绪。上传 onboard-audit-account.yaml 文件,然后根据您的要求配置其余选项。 

重要提示:请务必配置以下输入参数:

  • DestinationEmailAddress — 输入电子邮件地址以接收调查发现。

  • HTTPEndpoint— 为您的工单或SIEM工具提供HTTP终端节点。

您也可以使用AWS命令行界面 (AWSCLI) 部署AWS CloudFormation 模板。有关这方面的更多信息,请参阅AWS CloudFormation 文档中的创建堆栈

开发人员、安全工程师

确认亚马逊SNS订阅。

打开您的电子邮件收件箱,在您从亚马逊收到的电子邮件中选择 “确认订阅” SNS。这会打开 Web 浏览器窗口并显示订阅确认信息。

开发人员、安全工程师
任务描述所需技能

在审计账户创建堆栈集。

下载 vulnerability-management-program.yaml 文件(附件)到计算机上的本地路径。

在AWS CloudFormation 控制台上,选择 “查看堆栈集”,然后选择 “创建”。 StackSet选择模板已就绪,选择上传模板文件,然后上传该 vulnerability-management-program.yaml 文件。 

如果要使用self-managed权限,请按照AWS CloudFormation 文档中创建具有自我管理权限的堆栈集中的说明进行操作。这将在个人账户中创建堆栈集。 

如果要使用service-managed权限,请按照AWS CloudFormation 文档中使用服务管理权限创建堆栈集中的说明进行操作。这会在您的整个组织或指定的组织单位中创建堆栈集(OUs)。

重要提示:请确保为堆栈集配置了以下输入参数:

  • AssessmentSchedule— EventBridge 使用 cron 表达式的时间表。 

  • Duration – Amazon Inspector 评测运行的持续时间(以秒为单位)。

  • CentralSNSTopicArn— 中心SNS主题的 Amazon 资源名称 (ARN)。

  • Tagkey — 与资源组关联的标签密钥。 

  • Tagvalue — 与资源组关联的标签值。 

如果要扫描审计账户中的EC2实例,则必须将该vulnerability-management-program.yaml 文件作为AWS CloudFormation 堆栈运行在审计账户中。

开发人员、安全工程师

验证解决方案。

检查您是否按照您为 Amazon Inspector 指定的时间表通过电子邮件或HTTP终端节点收到调查结果。

开发人员、安全工程师

相关资源

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip