

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

# 适用于弹性搜索的 Security Hub CSPM
<a name="es-controls"></a>

这些 AWS Security Hub CSPM 控件用于评估 Elasticsearch 服务和资源。

这些控件可能并非全部可用 AWS 区域。有关更多信息，请参阅 [按地区划分的控件可用性](securityhub-regions.md#securityhub-regions-control-support)。

## [ES.1] Elasticsearch 域应启用静态加密
<a name="es-1"></a>

**相关要求：**PCI DSS v3.2.1/3.4、 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、8 (1)、(10)、nist. NIST.800-53.r5 SC-2 800-53.r5 SI-7 NIST.800-53.r5 SC-7 (6)

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

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-encrypted-at-rest.html](https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-encrypted-at-rest.html)

**计划类型：**定期

**参数：**无

此控件检查 Elasticsearch 域是否启用静态加密配置。如果未启用静态加密，检查将失败。

为了在中为您的敏感数据增加一层安全性 OpenSearch，您应将您的数据配置 OpenSearch 为静态加密。Elasticsearch 域提供静态数据加密。该功能 AWS KMS 用于存储和管理您的加密密钥。为执行加密，它使用具有 256 位密钥（AES-256）的高级加密标准算法。

要了解有关静 OpenSearch 态加密的更多信息，请参阅[《亚马逊服务*开发者指南*》中的亚马逊 OpenSearch 服务静态数据](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)加密。 OpenSearch 

某些实例类型，例如 `t.small` 和 `t.medium`，不支持静态数据加密。有关详细信息，请参阅《*Amazon OpenSearch 服务开发者指南*》中的[支持的实例类型](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/supported-instance-types.html)。

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

要为新的和现有的 Elasticsearch 域[启用静态加密，请参阅《*亚马逊 OpenSearch 服务开发者*指南》中的启用静态数据](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html#enabling-ear)加密。

## [ES.2] Elasticsearch 域名不可供公共访问
<a name="es-2"></a>

**相关要求：**PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、PCI DSS v3.2.1/1.3.6、 NIST.800-53.r5 AC-2 1、、 NIST.800-53.r5 AC-3（7）、（21）、（11）、（16）、（20）、（21）、（3）、（4），(9) NIST.800-53.r5 AC-3，PCI DSS v4.0.1/1.4.4 NIST.800-53.r5 AC-4 NIST.800-53.r5 AC-4 NIST.800-53.r5 AC-6 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7 NIST.800-53.r5 SC-7

**类别：**保护 > 安全网络配置 > VPC 内的资源 

**严重性：**严重

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-in-vpc-only.html](https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-in-vpc-only.html)

**计划类型：**定期

**参数：**无

此控件检查 Elasticsearch 域是否位于 VPC 中。它不会评估 VPC 子网路由配置来确定公共访问。您应确保 Elasticsearch 域未附加到公共子网。请参阅《*Amazon OpenSearch 服务开发者指南*》中的[基于资源的政策](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html#ac-types-resource)。您还应该确保根据建议的最佳实践配置了 VPC。请参阅 *Amazon VPC 用户指南*中的 [VPC 安全最佳实践](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html)。

部署在 VPC 内的 Elasticsearch 域可以通过私有 AWS 网络与 VPC 资源通信，无需穿越公共互联网。此配置通过限制对传输中数据的访问来提高安全状况。 VPCs 提供多种网络控制措施来保护对 Elasticsearch 域的访问，包括网络 ACL 和安全组。Security Hub CSPM 建议您将公有 Elasticsearch 域迁移到， VPCs 以利用这些控制措施。

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

如果您创建一个具有公有端点的域，则以后无法将其放置在 VPC 中。您必须创建一个新的域，然后迁移数据。反之亦然。如果在 VPC 中创建一个域，则该域不能具有公有端点。您必须[创建另一个域](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html)或禁用该控制。

请参阅[亚马逊 OpenSearch 服务*开发者指南中的在 VPC 内启动您的亚马逊 OpenSearch 服务*域](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)。

## [ES.3] Elasticsearch 域应加密节点之间发送的数据
<a name="es-3"></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::Elasticsearch::Domain`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-node-to-node-encryption-check.html](https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-node-to-node-encryption-check.html)

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

**参数：**无

此控件用于检查 Elasticsearch 域名是否启用了 node-to-node加密。如果 Elasticsearch 域未启用 node-to-node加密，则控制失败。如果 Elasticsearch 版本不支持 node-to-node加密检查，则该控件还会生成失败的结果。

HTTPS (TLS) 可用于帮助防止潜在的攻击者使用 person-in-the-middle或类似的攻击窃听或操纵网络流量。只能允许通过 HTTPS（TLS）进行加密连接。为 Elasticsearch 域启用 node-to-node加密可确保集群内部通信在传输过程中得到加密。

此配置可能会降低性能。在启用此选项之前，您应该了解并测试性能权衡。

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

有关在新域和现有域上启用 node-to-node加密的信息，请参阅《*Amazon S OpenSearch ervice 开发者指南*》中的[启用 node-to-node加密](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ntn.html#enabling-ntn)。

## [ES.4] 应启用 Elasticsearch 域错误日志记录到 CloudWatch 日志
<a name="es-4"></a>

**相关要求：** NIST.800-53.r5 AC-2(4)、(26)、(9)、 NIST.800-53.r5 AC-4 (9)、(9)、 NIST.800-53.r5 AC-6 nist.800-53.r5 SI-3 NIST.800-53.r5 SC-7 (8) NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7、nist.800-53.r5 SI-4 (20)、nist.800-53.r5 SI-7 (8)、nist.800-53.r5 SI-7 (8)

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

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-logs-to-cloudwatch.html](https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-logs-to-cloudwatch.html)

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

**参数：**
+ `logtype = 'error'`（不可自定义）

此控件检查 Elasticsearch 域是否配置为向日志发送错误日志。 CloudWatch 

您应该为 Elasticsearch 域启用错误日志，并将这些日志发送到 CloudWatch 日志以进行保留和响应。域错误日志可以帮助进行安全和访问审计，还可以帮助诊断可用性问题。

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

有关如何启用日志发布的信息，请参阅《*Amazon S OpenSearch ervice 开发者指南*》中的[启用日志发布（控制台）](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createdomain-configure-slow-logs.html#createdomain-configure-slow-logs-console)。

## [ES.5] Elasticsearch 域名应该启用审核日志
<a name="es-5"></a>

**相关要求：** NIST.800-53.r5 AC-2(4)、(26)、(9)、 NIST.800-53.r5 AC-4 (9)、 NIST.800-53.r5 AC-6 (9)、nist.800-53.r5 SI-3 NIST.800-53.r5 SC-7 (8)、nist.800-53.r5 SI-4 (20)、nist.800-53.r5 SI-7 (8)、PCI DSS v4.0.1/10.4.2 NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7

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

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则:**`elasticsearch-audit-logging-enabled`（自定义 Security Hub CSPM 规则）

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

**参数：**
+ `cloudWatchLogsLogGroupArnList`（不可自定义）。Security Hub CSPM 不会填充此参数。应为审核日志配置的 CloudWatch 日志组列表，以逗号分隔。

  此规则适用于`NON_COMPLIANT`未在此参数列表中指定 Elasticsearch 域的 CloudWatch 日志组的情况。

此控件用于检查 Elasticsearch 域名是否启用了审核日志。如果 Elasticsearch 域未启用审核日志，则此控制失败。

审核日志是高度可定制的。它们允许您跟踪 Elasticsearch 集群上的用户活动，包括身份验证成功和失败、对身份验证的请求 OpenSearch、索引更改以及传入的搜索查询。

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

有关启用审计日志的详细说明，请参阅《*Amazon S OpenSearch ervice 开发者指南*》中的[启用审计日志](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/audit-logs.html#audit-log-enabling)。

## [ES.6] Elasticsearch 域应拥有至少三个数据节点
<a name="es-6"></a>

**相关要求：** NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、nist.800-53.r5 SI-13 (5)

**类别：**恢复 > 弹性 > 高可用性

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则:**`elasticsearch-data-node-fault-tolerance`（自定义 Security Hub CSPM 规则）

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

**参数：**无

此控件会检查 Elasticsearch 域是否配置了至少三个数据节点，并且 `zoneAwarenessEnabled` 是 `true`。

一个 Elasticsearch 域至少需要三个数据节点才能实现高可用性和容错能力。部署至少具有三个数据节点的 Elasticsearch 域可以确保在节点发生故障时集群正常运行。

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

**修改 Elasticsearch 域中的数据节点数量**

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/)。

1. 在**域**下，选择要编辑的域的名称。

1. 选择**编辑域**。

1. 在**数据节点**下，将**节点数**设置为大于或等于 `3` 的数字。

   对于三个可用区部署，请设置为三的倍数，以确保可用区间的分布均等。

1. 选择**提交**。

## [ES.7] 应将 Elasticsearch 域配置为至少三个专用的主节点
<a name="es-7"></a>

**相关要求：** NIST.800-53.r5 CP-10, NIST.800-53.r5 CP-6(2), NIST.800-53.r5 SC-36、 NIST.800-53.r5 SC-5 (2)、nist.800-53.r5 SI-13 (5)

**类别：**恢复 > 弹性 > 高可用性

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config规则:**`elasticsearch-primary-node-fault-tolerance`（自定义 Security Hub CSPM 规则）

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

**参数：**无

此控件用于检查 Elasticsearch 域是否配置了至少三个专用主节点。如果该域不使用专用主节点，则此控件会失败。如果 Elasticsearch 域有五个专用的主节点，则此控件会通过。但是，为了降低可用性风险，可能没有必要使用三个以上的主节点，并且会导致额外的费用。

一个 Elasticsearch 域至少需要三个专用的主节点才能实现高可用性和容错能力。在 blue/green 部署数据节点期间，专用的主节点资源可能会紧张，因为还有其他节点需要管理。部署至少具有三个专用主节点的 Elasticsearch 域可以确保在节点发生故障时有足够的主节点资源容量和集群运行。

### 修复
<a name="es-7-remediation"></a>

**修改 OpenSearch 域中专用主节点的数量**

1. 打开亚马逊 OpenSearch 服务控制台，网址为[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/)。

1. 在**域**下，选择要编辑的域的名称。

1. 选择**编辑域**。

1. 在**专用主节点**下，将**实例类型**设置为所需的实例类型。

1. 将**主节点数**设置为等于或大于三个。

1. 选择**提交**。

## [ES.8] 与 Elasticsearch 域的连接应使用最新的 TLS 安全策略进行加密
<a name="es-8"></a>

**相关要求：** NIST.800-53.r5 AC-17 (2)、、(1) NIST.800-53.r5 AC-4、 NIST.800-53.r5 SC-1 2 NIST.800-53.r5 IA-5 (3)、3、3 (3)、( NIST.800-53.r5 SC-13)、 NIST.800-53.r5 SC-2 (4)、 NIST.800-53.r5 SC-2 (1)、 NIST.800-53.r5 SC-7 (2)、nist.800-53.r5 SI-7 NIST.800-53.r5 SC-8 (6)、PCI DSS v4.0.1/4.2.1 NIST.800-53.r5 SC-8 NIST.800-53.r5 SC-8

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

**严重性：**中

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则:**`elasticsearch-https-required`（自定义 Security Hub CSPM 规则）

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

**参数：**无

此控件用于检查 Elasticsearch 域端点是否配置为使用最新的 TLS 安全策略。如果 Elasticsearch 域终端节点未配置为使用最新支持的策略或 HTTPs 未启用，则控制失败。当前最新支持的 TLS 安全策略是 `Policy-Min-TLS-1-2-PFS-2023-10`。

HTTPS (TLS) 可用于帮助防止潜在的攻击者使用 person-in-the-middle或类似的攻击来窃听或操纵网络流量。只能允许通过 HTTPS（TLS）进行加密连接。加密传输中数据可能会影响性能。您应该使用此功能测试应用程序，以了解性能概况和 TLS 的影响。与先前版本的 TLS 相比，TLS 1.2 提供了多项安全增强功能。

### 修复
<a name="es-8-remediation"></a>

要启用 TLS 加密，请使用 [https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_UpdateDomainConfig.html) API 操作配置 [https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DomainEndpointOptions.html](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DomainEndpointOptions.html) 对象。这样会设置 `TLSSecurityPolicy`。

## [ES.9] 应标记 Elasticsearch 域
<a name="es-9"></a>

**类别：**识别 > 清单 > 标记

**严重性：**低

**资源类型：**`AWS::Elasticsearch::Domain`

**AWS Config 规则:**`tagged-elasticsearch-domain`（自定义 Security Hub CSPM 规则）

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

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 被评估资源必须包含的非系统标签键列表。标签键区分大小写。 | StringList （最多 6 件商品）  | 1-6 个符合 [AWS 要求](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)的标签键。 |  No default value  | 

此控件用于检查 Elasticsearch 域是否具有带参数 `requiredTagKeys` 中定义的特定键的标签。如果该域没有任何标签键或未在参数 `requiredTagKeys` 中指定所有键，则此控件会失败。如果未提供 `requiredTagKeys` 参数，则此控件仅会检查是否存在标签键，如果该域未使用任何键进行标记，则此控件会失败。自动应用并以 `aws:` 为开头的系统标签会被忽略。

标签是您分配给 AWS 资源的标签，它由密钥和可选值组成。您可以创建标签，以按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标签进行标记时，可以将基于属性的访问权限控制（ABAC）作为授权策略实施，该策略根据标签来定义权限。您可以向 IAM 实体（用户或角色）和 AWS 资源附加标签。您可以为 IAM 主体创建单个 ABAC 策略或者一组单独的策略。您可以将这些 ABAC 策略设计为允许在主体的标签与资源标签匹配时进行操作。有关更多信息，请参阅 [ABAC 有什么用 AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)？ 在 *IAM 用户指南*中。

**注意**  
请勿在标签中添加个人身份信息（PII）或者其他机密或敏感信息。许多人都可以访问标签 AWS 服务，包括 AWS Billing。有关更多标记最佳做法，请参阅中的为[AWS 资源添加标签](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)。*AWS 一般参考*

### 修复
<a name="es-9-remediation"></a>

要向 Elasticsearch 域添加[标签，请参阅*亚马逊 OpenSearch 服务开发者*指南中的使用](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-awsresourcetagging.html#managedomains-awsresourcetagging-console)标签。