适用于亚马逊的 Security Hub 控件 SNS - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

适用于亚马逊的 Security Hub 控件 SNS

这些 Amazon Security Hub 控制措施评估亚马逊简单通知服务 (AmazonSNS) 服务和资源。

这些控件可能并非全部可用 Amazon Web Services 区域。有关更多信息,请参阅 按地区划分的控件可用性

[SNS.1] 应使用以下方法对SNS主题进行静态加密 Amazon KMS

相关要求: NIST.800-53.r5 CA-9(1)、 NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-1 3、 NIST.800-53.r5 SC-2 8、 NIST.800-53.r5 SC-2 8 (1)、 NIST.800-53.r5 SC-7 (10)、NIST .800-53.r5 SI-7 (6)

类别:保护 > 数据保护 > 加密 data-at-rest

严重性:

资源类型:AWS::SNS::Topic

Amazon Config 规则:sns-encrypted-kms

计划类型:已触发变更

参数:

此控件检查是否使用 Amazon Key Management Service (Amazon KMS) 中管理的密钥对 Amazon SNS 主题进行静态加密。如果SNS主题不使用KMS密钥进行服务器端加密(SSE),则控件将失败。默认情况下,使用磁盘加密SNS存储消息和文件。要通过此控制,必须选择改为使用KMS密钥进行加密。这将额外增加一层安全性,并提供更多的访问控制灵活性。

对静态数据进行加密可降低存储在磁盘上的数据被未经身份验证的用户访问的风险。 Amazon API需要权限才能解密数据,然后才能读取数据。为了增加安全性,我们建议使用KMS密钥对SNS主题进行加密。

修复

要SSE为某个SNS主题启用,请参阅《亚马逊简单通知服务开发者指南》中的为亚马逊SNS主题启用服务器端加密 (SSE)。在使用之前SSE,您还必须配置 Amazon KMS key 策略以允许对主题进行加密以及对消息进行加密和解密。有关更多信息,请参阅《Amazon 简单通知服务开发者指南》中的配置 Amazon KMS 权限

[SNS.2] 应为发送到主题的通知消息启用传送状态记录

重要

Security Hub 已于 2024 年 4 月停用了此控件。有关更多信息,请参阅 Security Hub 控件的更改日志

相关要求:NIST.800-53.r5 AU-12、.800-53.r5 AU-2 NIST

类别:识别 > 日志记录

严重性:

资源类型:AWS::SNS::Topic

Amazon Config 规则:sns-topic-message-delivery-notification-enabled

计划类型:已触发变更

参数:

此控件检查是否已为发送到终端节点的 Amazon SNS 主题的通知消息的传送状态启用日志记录。如果未启用邮件的传输状态通知,则此控件将失败。

日志记录是维护服务的可靠性、可用性和性能的重要组成部分。记录消息传送状态有助于提供操作见解,例如:

  • 知道消息是否已传送到 Amazon SNS 终端节点。

  • 识别从亚马逊SNS终端节点发送到亚马逊的响应SNS。

  • 确定消息停留时间(发布时间戳和移交给 Amazon SNS 终端节点之间的时间)。

修复

要为主题配置传送状态日志,请参阅《亚马逊简单通知服务开发者指南》中的亚马逊SNS消息传送状态

[SNS.3] SNS 主题应加标签

类别:识别 > 清单 > 标记

严重性:

资源类型:AWS::SNS::Topic

Amazon Config 规则:tagged-sns-topic(自定义 Security Hub 规则)

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值
requiredTagKeys 被评估资源必须包含的非系统标签键列表。标签键区分大小写。 StringList 符合 Amazon 要求的标签列表 No default value

此控件可检查 Amazon SNS 主题是否具有参数中定义的特定密钥的标签requiredTagKeys。如果主题没有任何标签键或未在 requiredTagKeys 参数中指定所有键,则此控件将失败。如果未提供 requiredTagKeys 参数,则此控件仅检查是否存在标签键,如果主题未使用任何键进行标记,则此控件将失败。自动应用并以 aws: 为开头的系统标签会被忽略。

标签是您分配给 Amazon 资源的标签,它由密钥和可选值组成。您可以创建标签,按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标记时,可以实现基于属性的访问控制 (ABAC) 作为一种授权策略,它根据标签定义权限。您可以为IAM实体(用户或角色)和 Amazon 资源附加标签。您可以为IAM委托人创建单个ABAC策略或一组单独的策略。您可以将这些ABAC策略设计为允许在委托人的标签与资源标签匹配时进行操作。有关更多信息,请参阅有什么ABAC用 Amazon? 在《IAM用户指南》中。

注意

不要在标签中添加个人身份信息 (PII) 或其他机密或敏感信息。许多人都可以访问标签 Amazon Web Services 服务,包括 Amazon Billing。有关更多标记最佳做法,请参阅中的为Amazon 资源添加标签Amazon Web Services 一般参考

修复

要向SNS主题添加标签,请参阅亚马逊简单通知服务开发者指南中的配置亚马逊SNS主题标签

[SNS.4] SNS 主题访问策略不应允许公众访问

类别:保护 > 安全网络配置 > 不公开访问的资源

严重性:

资源类型:AWS::SNS::Topic

Amazon Config 规则:sns-topic-no-public-access

计划类型:已触发变更

参数:

此控件会检查 Amazon SNS 主题访问策略是否允许公众访问。如果SNS主题访问策略允许公共访问,则此控制失败。

您可以使用针对特定主题的SNS访问策略来限制谁可以处理该主题(例如,谁可以向该主题发布消息或谁可以订阅该主题)。 SNS策略可以向其他 Amazon Web Services 账户人或您自己的用户授予访问权限 Amazon Web Services 账户。在主题策略的 Principle 字段中提供通配符(*)以及缺乏限制主题策略的条件可能会导致数据泄露、拒绝服务或攻击者向您的服务中注入不必要的消息。

修复

要更新某个SNS主题的访问策略,请参阅《亚马逊简单通知服务开发者指南》SNS中的亚马逊访问管理概述