适用于 Amazon MSK 的 Security Hub - AWS Security Hub

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

适用于 Amazon MSK 的 Security Hub

这些 AWS Security Hub 控制措施评估了适用于 Apache Kafka 的亚马逊托管流媒体(亚马逊 MSK)服务和资源。这些控件可能并非全部可用 AWS 区域。有关更多信息,请参阅 按地区划分的控件可用性

[MSK.1] MSK 集群应在代理节点之间传输时进行加密

相关要求: NIST.800-53.r5 AC-4、 NIST.800-53.r5 SC-1 3、3 ( NIST.800-53.r5 SC-23)、( NIST.800-53.r5 SC-23)、(4)、 NIST.800-53.r5 SC-7 (1) NIST.800-53.r5 SC-8、 NIST.800-53.r5 SC-8 NIST.800-53.r5 SC-8 (2)、PCI DSS v4.0.1/4.2.1

类别:保护 > 数据保护 > 加密 data-in-transit

严重性:

资源类型:AWS::MSK::Cluster

AWS Config 规则:msk-in-cluster-node-require-tls

计划类型:已触发变更

参数:

此控件可检查 Amazon MSK 集群在传输过程中是否在集群的代理节点之间使用 HTTPS (TLS) 进行加密。如果为集群代理节点连接启用了纯文本通信,则控制失败。

HTTPS 提供了额外的安全层,因为它使用 TLS 来移动数据,可用于帮助防止潜在的攻击者使用 person-in-the-middle或类似的攻击来窃听或操纵网络流量。默认情况下,Amazon MSK 使用 TLS 对传输中数据进行加密。但是,您可以在创建集群时覆盖此默认值。对于代理节点连接,我们建议使用通过 HTTPS (TLS) 的加密连接。

修复

有关更新 Amazon MSK 集群加密设置的信息,请参阅《适用于 A pache Managed Kafka 的亚马逊托管流管理开发者指南》中的更新集群的安全设置

[MSK.2] MSK 集群应配置增强型监控

相关要求: NIST.800-53.r5 CA-7,nist.800-53.r5 SI-2

类别:检测 > 检测服务

严重性:

资源类型:AWS::MSK::Cluster

AWS Config 规则:msk-enhanced-monitoring-enabled

计划类型:已触发变更

参数:

此控件检查 Amazon MSK 集群是否配置了增强型监控,且监控级别至少指定为 PER_TOPIC_PER_BROKER。如果集群的监控级别设置为 DEFAULTPER_BROKER,则控制失败。

PER_TOPIC_PER_BROKER 监控级别可以帮助您更精细地了解 MSK 集群的性能,还提供与资源利用率相关的指标,例如 CPU 和内存使用情况。这可以帮助您确定各个主题和代理的性能瓶颈和资源利用率模式。反过来,这种可见性可以优化 Kafka 代理的性能。

修复

要为 MSK 集群配置增强型监控,请完成以下步骤:

  1. https://console.aws.amazon.com/msk/家打开亚马逊 MSK 控制台? region=us-east-1#/home/。

  2. 在导航窗格中,选择集群。然后选择一个集群。

  3. 操作中,选择编辑监控

  4. 选择增强主题级别监控选项。

  5. 选择保存更改

有关监控级别的更多信息,请参阅 Apache Managed St reaming for Apache Kafka 开发者指南 CloudWatch中的亚马逊 MSK 监控标准经纪商的指标

[MSK.3] MSK Connect 连接器应在传输过程中进行加密

相关要求:PCI DSS v4.0.1/4.2.1

类别:保护 > 数据保护 > 加密 data-in-transit

严重性:

资源类型:AWS::KafkaConnect::Connector

AWS Config 规则:msk-connect-connector-encrypted(自定义 Security Hub 规则)

计划类型:已触发变更

参数:

此控件可检查 Amazon MSK Connect 连接器是否在传输过程中进行加密。如果连接器未在传输过程中进行加密,则此控件将失败。

传输中数据是指从一个位置移动到另一个位置的数据,例如在集群中的节点之间或在集群和应用程序之间。数据可能通过互联网或在私有网络内移动。对传输中数据进行加密可降低未经授权的用户侦听网络流量的风险。

修复

您可以在创建 MSK Connect 连接器时启用传输中加密。创建集群后,将无法更改加密设置。有关更多信息,请参阅《Amazon Managed Streaming for Apache Kafka Developer Guide》中的 Create a connector

[MSK.4] MSK 集群应禁用公共访问权限

类别:保护 > 安全访问管理 > 资源不公开访问

严重性:严重

资源类型:AWS::MSK::Cluster

AWS Config 规则:msk-cluster-public-access-disabled

计划类型:已触发变更

参数:

此控件检查是否已禁用 Amazon MSK 集群的公共访问权限。如果为 MSK 集群启用了公共访问权限,则控制失败。

默认情况下,只有当客户端与 Amazon MSK 集群位于同一 VPC 中时,他们才能访问该集群。默认情况下,Kafka 客户端和 MSK 集群之间的所有通信都是私密的,并且流数据不会通过互联网传输。但是,如果将 MSK 集群配置为允许公共访问,则互联网上的任何人都可以与集群中运行的 Apache Kafka 代理建立连接。这可能会导致诸如未经授权的访问、数据泄露或漏洞利用之类的问题。如果您通过要求身份验证和授权措施来限制对集群的访问,则可以帮助保护敏感信息并维护资源的完整性。

修复

有关管理对亚马逊 MSK 集群的公共访问的信息,请参阅《Apache Managed Streaming for Apache Kafka 开发者指南》中的 “开启对 MSK 预配置集群公共访问权限”。

[MSK.5] MSK 连接器应启用日志记录

类别:识别 > 日志记录

严重性:

资源类型:AWS::KafkaConnect::Connector

AWS Config 规则:msk-connect-connector-logging-enabled

计划类型:已触发变更

参数:

此控件检查是否已为 Amazon MSK 连接器启用日志记录。如果禁用 MSK 连接器的日志记录,则控制失败。

Amazon MSK 连接器通过持续将数据源中的流数据复制到 Apache Kafka 集群,或者持续将数据从集群复制到数据接收器,将外部系统和亚马逊服务与 Apache Kafka 集成在一起。MSK Connect 可以写入有助于调试连接器的日志事件。创建连接器时,您可以指定以下零个或多个日志目标:亚马逊 CloudWatch 日志、亚马逊 S3 和 Amazon Data Firehose。

注意

如果插件未将敏感配置值定义为秘密,则这些值可能会出现在连接器日志中。Kafka Connect 对未定义的配置值的处理方式与任何其他明文值相同。

修复

要为现有 Amazon MSK 连接器启用日志功能,您必须使用适当的日志配置重新创建连接器。有关配置选项的信息,请参阅《适用于 A pache Kafka 的亚马逊托管流媒体 Ka fka 开发者指南》中的 MSK Connect 日志记录

[MSK.6] MSK 集群应禁用未经身份验证的访问

类别:保护 > 安全访问管理 > 无密码身份验证

严重性:

资源类型:AWS::MSK::Cluster

AWS Config 规则:msk-unrestricted-access-check

计划类型:已触发变更

参数:

此控件检查是否为 Amazon MSK 集群启用了未经身份验证的访问。如果为 MSK 集群启用了未经身份验证的访问,则控制失败。

Amazon MSK 支持客户端身份验证和授权机制来控制对集群的访问。这些机制验证连接到集群的客户端的身份,并确定客户端可以执行哪些操作。可以将 MSK 集群配置为允许未经身份验证的访问,这样任何具有网络连接的客户端都可以在不提供凭据的情况下发布和订阅 Kafka 主题。在不要求身份验证的情况下运行 MSK 集群违反了最低权限原则,可能会使集群面临未经授权的访问。它可以允许任何客户端访问、修改或删除 Kafka 主题中的数据,从而可能导致数据泄露、未经授权的数据修改或服务中断。我们建议启用身份验证机制,例如 IAM 身份验证、SASL/SCRAM 或双向 TLS,以确保适当的访问控制并保持安全合规性。

修复

有关更改亚马逊 MSK 集群身份验证设置的信息,请参阅《适用于 Apache Managed Kafka 的亚马逊托管流管理开发者指南》的以下部分:更新亚马逊 MSK 集群的安全设置以及 Apache Kafka 身份验证和授权。 APIs