

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

# 适用于亚马逊 MSK 的 Security Hub CSPM 控件
<a name="msk-controls"></a>

这些 AWS Security Hub CSPM 控制措施评估了适用于 Apache Kafka 的亚马逊托管流媒体（亚马逊 MSK）服务和资源。这些控件可能并非全部可用 AWS 区域。有关更多信息，请参阅 [按地区划分的控件可用性](securityhub-regions.md#securityhub-regions-control-support)。

## [MSK.1] MSK 集群应在代理节点之间传输时进行加密
<a name="msk-1"></a>

**相关要求：** 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 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/msk-in-cluster-node-require-tls.html](https://docs.aws.amazon.com/config/latest/developerguide/msk-in-cluster-node-require-tls.html)

**计划类型：**已触发变更

**参数：**无

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

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

### 修复
<a name="msk-1-remediation"></a>

有关更新 Amazon MSK 集群的加密设置的信息，请参阅《Amazon Managed Streaming for Apache Kafka 开发人员指南》**中的[更新集群的安全设置](https://docs.aws.amazon.com/msk/latest/developerguide/msk-update-security.html)。

## [MSK.2] MSK 集群应配置增强型监控
<a name="msk-2"></a>

**相关要求：** NIST.800-53.r5 CA-7，nist.800-53.r5 SI-2

**类别：**检测 > 检测服务

**严重性：**低

**资源类型：**`AWS::MSK::Cluster`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/msk-enhanced-monitoring-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/msk-enhanced-monitoring-enabled.html)

**计划类型：**已触发变更

**参数：**无

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

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

### 修复
<a name="msk-2-remediation"></a>

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

1. 在[https://console.aws.amazon.com/msk/家打开亚马逊 MSK 控制台？ region=us](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)-east-1\$1/home/。

1. 在导航窗格中，选择**集群**。然后选择一个集群。

1. 在**操作**中，选择**编辑监控**。

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

1. 选择**保存更改**。

有关监控级别的更多信息，请参阅 [Apache Managed St *reaming for Apache Kafka 开发者指南 CloudWatch中的亚马逊* MSK 监控标准代理指标](https://docs.aws.amazon.com/msk/latest/developerguide/metrics-details.html)。

## [MSK.3] MSK Connect 连接器应在传输过程中进行加密
<a name="msk-3"></a>

**相关要求：**PCI DSS v4.0.1/4.2.1

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

**严重性：**中

**资源类型：**`AWS::KafkaConnect::Connector`

**AWS Config 规则:**`msk-connect-connector-encrypted`（自定义 Security Hub CSPM 规则）

**计划类型：**已触发变更

**参数：**无

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

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

### 修复
<a name="msk-3-remediation"></a>

您可以在创建 MSK Connect 连接器时启用传输中加密。创建集群后，将无法更改加密设置。有关更多信息，请参阅《Amazon Managed Streaming for Apache Kafka Developer Guide》**中的 [Create a connector](https://docs.aws.amazon.com/msk/latest/developerguide/mkc-create-connector-intro.html)。

## [MSK.4] MSK 集群应禁用公开访问
<a name="msk-4"></a>

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

**严重性：**严重

**资源类型：**`AWS::MSK::Cluster`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/msk-cluster-public-access-disabled.html](https://docs.aws.amazon.com/config/latest/developerguide/msk-cluster-public-access-disabled.html)

**计划类型：**已触发变更

**参数：**无

此控件检查 Amazon MSK 集群是否已禁用公开访问。如果 MSK 集群启用了公开访问，则该控件会失败。

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

### 修复
<a name="msk-4-remediation"></a>

有关管理对 Amazon MSK 集群的公开访问的信息，请参阅《Amazon Managed Streaming for Apache Kafka 开发人员指南》**中的[启用对预置 MSK 集群的公共访问](https://docs.aws.amazon.com/msk/latest/developerguide/public-access.html)。

## [MSK.5] MSK 连接器应启用日志记录
<a name="msk-5"></a>

**类别：**识别 > 日志记录

**严重性：**中

**资源类型：**`AWS::KafkaConnect::Connector`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/msk-connect-connector-logging-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/msk-connect-connector-logging-enabled.html)

**计划类型：**已触发变更

**参数：**无

此控件检查是否为 Amazon MSK 连接器启用了日志记录。如果 MSK 连接器禁用了日志记录，则该控件会失败。

Amazon MSK 连接器通过不断地将流数据从数据来源复制到 Apache Kafka 集群，或不断地将数据从集群复制到数据接收器，将外部系统和 Amazon 服务与 Apache Kafka 集成。MSK Connect 可以写入日志事件，这有助于调试连接器。创建连接器时，您可以指定以下零个或多个日志目标：亚马逊 CloudWatch 日志、亚马逊 S3 和 Amazon Data Firehose。

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

### 修复
<a name="msk-5-remediation"></a>

要为现有 Amazon MSK 连接器启用日志记录，您必须使用适当的日志记录配置重新创建连接器。有关配置选项的信息，请参阅《Amazon Managed Streaming for Apache Kafka 开发人员指南》中的[为 MSK Connect 进行日志记录](https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-logging.html)。**

## [MSK.6] MSK 集群应禁用未经身份验证的访问
<a name="msk-6"></a>

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

**严重性：**中

**资源类型：**`AWS::MSK::Cluster`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/msk-unrestricted-access-check.html](https://docs.aws.amazon.com/config/latest/developerguide/msk-unrestricted-access-check.html)

**计划类型：**已触发变更

**参数：**无

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

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

### 修复
<a name="msk-6-remediation"></a>

有关更改亚马逊 MSK 集群身份验证设置的信息，请参阅《适用于 Apache Managed Kafka 的*亚马逊托管流管理开发者指南》的以下部分：更新亚马逊 MSK 集群的安全设置以及 Apache Kafka* [的](https://docs.aws.amazon.com/msk/latest/developerguide/msk-update-security.html)[身份验证和授权](https://docs.aws.amazon.com/msk/latest/developerguide/kafka_apis_iam.html)。 APIs