本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Security Hub 识别AWS组织中的公有 S3 存储桶
由 Mourad Cherfaoui (AWS)、Arun Chandapillai () 和 Parag Nagwekar () 创作 AWS AWS
摘要
此模式向您展示了如何构建一种机制,用于识别组织账户中的公共亚马逊简单存储服务 (Amazon S3) 存储AWS桶。该机制的工作原理是使用 Security Hub 中AWS基础安全最佳实践 (FSBP) 标准中的AWS控件来监控 S3 存储桶。您可以使用亚马逊 EventBridge 来处理 Security Hub 的调查结果,然后将这些发现发布到亚马逊简单通知服务 (AmazonSNS) 主题中。组织中的利益相关者可订阅该主题,并立即收到有关调查结果的电子邮件通知。
默认情况下,新 S3 存储桶及其对象不允许公有访问。在必须根据组织要求修改默认 Amazon S3 配置时,您可以使用此模式。例如,在这种情况下,您可能有托管面向公众的网站的 S3 存储桶,或互联网上的每个人都必须能够从您的 S3 存储桶中读取的文件。
Security Hub 通常作为中央服务部署,用于整合所有安全发现,包括与安全标准和合规要求相关的安全发现。您还可以使用其他AWS服务来检测公共 S3 存储桶,但是这种模式使用的是现有 Security Hub 部署,配置最少。
先决条件和限制
先决条件
使用专用 Sec urity Hub 管理员AWS帐户的多账户设置
注意
Security Hub 和 AWS Config,在要监控的AWS区域中启用(:如果要监控单个聚合区域中的多个区域,则必须在 Security Hub 中启用跨区域聚合。)
访问和更新 Security Hub 管理员账户用户权限、对组织中所有 S3 存储桶的读取权限以及关闭公共访问权限的权限(如果需要)
架构
技术堆栈
AWS Security Hub
Amazon EventBridge
亚马逊简单通知服务(亚马逊SNS)
Amazon Simple Storage Service(Amazon S3)
目标架构
下图介绍了使用 Security Hub 识别公有 S3 存储桶的架构。
图表显示了以下工作流:
Security Hub 使用FSBP安全标准中的 S3.2 和 S3.3 控件监控所有 AWS Organizations 账户(包括管理员账户)中 S3 存储桶的配置,并检测是否将存储分区配置为公共存储分区的结果。
Security Hub 管理员账户可以访问所有成员账户的调查结果(包括 S3.2 和 S3.3 的结果)。
Security Hub 会自动将所有新发现和现有发现的所有更新 EventBridge 作为 Sec urity Hub 调查结果-导入的事件发送到。这包含来自管理员和成员账户的调查结果的事件。
EventBridge 规则会根据来自 S3.2 和 S3.3
ComplianceStatus
的结果进行筛选,这些结果具有为FAILED
、工作流程状态为和为RecordState
。NEW
ACTIVE
规则使用事件模式来识别事件,并在匹配后将其发送到SNS主题。
SNS主题将事件发送给其订阅者(例如通过电子邮件)。
指定接收电子邮件通知的、安全分析师会审查相关的 S3 存储桶。
如果存储桶已获准公开访问,则安全分析师将 Security Hub 中相应调查发现的工作流状态设置为
SUPPRESSED
。否则,分析师会将状态设置为NOTIFIED
。这消除了 S3 存储桶未来通知,并减少了通知噪音。如果工作流状态设置为
NOTIFIED
,安全分析师会与存储桶拥有者一起审查调查发现,以确定公开访问是否合理,是否符合隐私和数据保护要求。调查的结果是:取消了对存储桶的公共访问权限,或者批准了公共访问权限。在后一种情况下,安全分析师将工作流状态设置为SUPPRESSED
。
注意
架构图适用于单区域和跨区域聚合部署。在图中的账户 A、B 和 C 中,如启用跨区域聚合,Security Hub 可以与管理员账户属于同一个区域,也可以属于不同的区域。
工具
AWS工具
Amazon EventBridge 是一项无服务器事件总线服务,可帮助您将应用程序与来自各种来源的实时数据连接起来。 EventBridge 提供来自您自己的应用程序、软件即服务 (SaaS) 应用程序和AWS服务的实时数据流。 EventBridge 如果数据符合用户定义的规则,则将该数据路由到目标,例如SNS主题和 AWS Lambda 函数。
亚马逊简单通知服务 (AmazonSNS) 可帮助您协调和管理发布者与客户之间的消息交换,包括网络服务器和电子邮件地址。订阅用户接收所有发布至他们所订阅主题的消息,并且一个主题的所有订阅用户收到的消息都相同。
Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
AWSS@@ ecurity Hub 提供了您的安全状态的全面视图AWS。Security Hub 还可以帮助您根据安全行业标准和最佳实践检查您的AWS环境。Security Hub 从AWS账户、服务和支持的第三方合作伙伴产品中收集安全数据,然后帮助分析安全趋势并确定优先级最高的安全问题。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
在AWS组织账户中启用 Security Hub。 | 要在要监控 S3 存储桶的组织账户中启用 Security Hub,请参阅《Sec urity Hub 用户指南》中的 “指定 S AWS ecurity Hub 管理员账户(控制台)” 和 “管理属于组织的成员账户” 中的指南。 | AWS 管理员 |
(可选)启用跨区域聚合。 | 如果要监控单个区域中多个区域 S3 存储桶,请设置跨区域聚合。 | AWS 管理员 |
启用FSBP安全标准的 S3.2 和 S3.3 控件。 | 您必须为FSBP安全标准启用 S3.2 和 S3.3 控件。
| AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
配置SNS主题和电子邮件订阅。 |
| AWS 管理员 |
配置 EventBridge 规则。 |
然后执行以下操作:
| AWS 管理员 |
故障排除
事务 | 解决方案 |
---|---|
我有一个启用了公共访问的 S3 存储桶,但我没有收到它的电子邮件通知。 | 这可能是因为存储桶是在另一个区域中创建的,并且 Security Hub 管理员账户中未启用跨区域聚合。要解决此问题,请启用跨区域聚合或在 S3 存储桶当前所在的区域中实施此模式的解决方案。 |
相关资源
什么是 S AWS ecurity Hub? (Security Hub 文档)
AWS基础安全最佳实践 (FSBP) 标准(Security Hub 文档)
AWSS@@ ecurity Hub 多账户启用脚本
(AWS实验室) Amazon S3 安全最佳实践(Amazon S3 文档)
其他信息
公共 S3 存储桶监控工作流
以下工作流说明了如何监控组织中的公共 S3 存储桶。该工作流程假设您已完成此模式的配置SNS主题和电子邮件订阅故事中的步骤。
当 S3 存储桶配置为公有访问权限,您会收到一封电子邮件通知。
如果存储桶已获准公开访问,请在 Security Hub 管理员账户中将相应调查发现的工作流状态设置为
SUPPRESSED
。这可以防止 Security Hub 就此存储桶发出进一步通知,并可以消除重复的警报。如果存储桶未获得公开访问批准,请将 Security Hub 管理员账户中相应调查发现的工作流状态设置为
NOTIFIED
。这可以防止 Security Hub 从 Security Hub 发出关于此存储桶的进一步通知,并且可以消除噪音。
如果存储桶可能包含敏感数据,则立即关闭公共访问权限,直到审查完成。如果您关闭了公共访问权限,则 Security Hub 会将工作流状态更改为
RESOLVED
。然后,通过电子邮件发送存储桶停止的通知。找到将存储桶配置为公共存储桶的用户(例如,通过使用 AWS CloudTrail),然后开始审核。审查的结果是:删除对存储桶的公共访问权限或批准公共访问权限。如果公开访问获得批准,则将相应调查发现的工作流状态设置为
SUPPRESSED
。