

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 Elasticsearch 的 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-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SI-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 靜態加密，請參閱《[Amazon OpenSearch Service 開發人員指南》中的 Amazon OpenSearch Service 靜態資料加密](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)。 * OpenSearch *

`t.small` 和 等特定執行個體類型`t.medium`不支援靜態資料加密。如需詳細資訊，請參閱《*Amazon OpenSearch Service 開發人員指南*》中的[支援的執行個體類型](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/supported-instance-types.html)。

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

若要為新的和現有的 Elasticsearch 網域啟用靜態加密，請參閱《*Amazon OpenSearch Service 開發人員指南*》中的[啟用靜態資料加密](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-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4-4(21)、NIST.800-53.r5 AC-60 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 Service 開發人員指南*》中的[資源型政策](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)或停用此控制項。

請參閱《[Amazon OpenSearch Service 開發人員指南》中的在 VPC 中啟動 Amazon OpenSearch Service 網域](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)。 * OpenSearch *

## 【ES.3】 Elasticsearch 網域應該加密節點之間傳送的資料
<a name="es-3"></a>

**相關要求：**NIST.800-53.r5 AC-4、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、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 OpenSearch Service 開發人員指南*》中的[啟用node-to-node加密](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ntn.html#enabling-ntn)。

## 【ES.4】 應啟用記錄至 CloudWatch Logs 的 Elasticsearch 網域錯誤
<a name="es-4"></a>

**相關要求：**NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、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.8000-53.r5 CA-7、NIST.800-53.r5 SC-7 SI-3 SI-4 SI-7

**類別：**識別 ‒ 記錄日誌

**嚴重性：**中

**資源類型：** `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 Logs。

您應該啟用 Elasticsearch 網域的錯誤日誌，並將這些日誌傳送至 CloudWatch Logs 以進行保留和回應。網域錯誤日誌可協助進行安全和存取稽核，也可協助診斷可用性問題。

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

如需如何啟用日誌發佈的資訊，請參閱《*Amazon OpenSearch Service 開發人員指南*》中的[啟用日誌發佈 （主控台）](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)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、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.8000-53.r5 CA-7、NIST.800-53.r5 SC-7 SI-3 SI-4 SI-710.4.2

**類別：**識別 > 記錄日誌

**嚴重性：**中

**資源類型：** `AWS::Elasticsearch::Domain`

**AWS Config rule：**`elasticsearch-audit-logging-enabled`（自訂 Security Hub CSPM 規則）

**排程類型：**變更已觸發

**參數：**
+ `cloudWatchLogsLogGroupArnList` （不可自訂）。Security Hub CSPM 不會填入此參數。應為稽核日誌設定的 CloudWatch Logs 日誌群組逗號分隔清單。

  `NON_COMPLIANT` 如果在此參數清單中未指定 Elasticsearch 網域的 CloudWatch Logs 日誌群組，則此規則為 。

此控制項會檢查 Elasticsearch 網域是否已啟用稽核記錄。如果 Elasticsearch 網域未啟用稽核記錄，則此控制會失敗。

稽核日誌可高度自訂。它們可讓您追蹤 Elasticsearch 叢集上的使用者活動，包括身分驗證成功和失敗、對 OpenSearch 的請求、索引變更，以及傳入的搜尋查詢。

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

如需啟用稽核日誌的詳細資訊，請參閱《*Amazon OpenSearch Service 開發人員指南*》中的[啟用稽核日誌](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 rule：**`elasticsearch-data-node-fault-tolerance`（自訂 Security Hub CSPM 規則）

**排程類型：**變更已觸發

**參數：**無

此控制項會檢查 Elasticsearch 網域是否已設定至少三個資料節點，且`zoneAwarenessEnabled`為 `true`。

Elasticsearch 網域需要至少三個資料節點，以實現高可用性和容錯能力。部署具有至少三個資料節點的 Elasticsearch 網域可確保在節點失敗時執行叢集操作。

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

**修改 Elasticsearch 網域中的資料節點數量**

1. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 在**網域**下，選擇您要編輯的網域名稱。

1. 選擇 **Edit domain (編輯網域)**。

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 rule：**`elasticsearch-primary-node-fault-tolerance`（自訂 Security Hub CSPM 規則）

**排程類型：**變更已觸發

**參數：**無

此控制項會檢查 Elasticsearch 網域是否已設定至少三個專用主節點。如果網域不使用專用主節點，則此控制會失敗。如果 Elasticsearch 網域有五個專用主節點，則此控制項會通過。不過，使用三個以上的主節點可能不需要用來降低可用性風險，而且會產生額外的成本。

Elasticsearch 網域需要至少三個專用主節點，以實現高可用性和容錯能力。專用主節點資源在資料節點藍/綠部署期間可能會受到壓力，因為還有其他節點需要管理。部署具有至少三個專用主節點的 Elasticsearch 網域，可確保在節點失敗時有足夠的主節點資源容量和叢集操作。

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

**修改 OpenSearch 網域中專用主節點的數量**

1. 開啟位於 https：//[https://console.aws.amazon.com/aos/](https://console.aws.amazon.com/aos/) 的 Amazon OpenSearch Service 主控台。

1. 在**網域**下，選擇您要編輯的網域名稱。

1. 選擇 **Edit domain (編輯網域)**。

1. 在**專用主節點**下，將**執行個體類型**設定為所需的執行個體類型。

1. 將**主節點數目**設定為等於三個或大於三個。

1. 選擇**提交**。

## 【ES.8】 應使用最新的 TLS 安全政策加密與 Elasticsearch 網域的連線
<a name="es-8"></a>

**相關要求：**NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8(1)、NIST.NIST.800-53.r5 SC-855.r5 SI-7

**類別：**保護 > 資料保護 > data-in-transit

**嚴重性：**中

**資源類型：** `AWS::Elasticsearch::Domain`

**AWS Config rule：**`elasticsearch-https-required`（自訂 Security Hub CSPM 規則）

**排程類型：**已觸發變更

**參數：**無

此控制項會檢查 Elasticsearch 網域端點是否設定為使用最新的 TLS 安全政策。如果 Elasticsearch 網域端點未設定為使用最新支援的政策，或未啟用 HTTPs則控制項會失敗。目前支援的最新 TLS 安全政策為 `Policy-Min-TLS-1-2-PFS-2023-10`。

HTTPS (TLS) 可用來防止潛在攻擊者使用中間人攻擊或類似的攻擊手法來竊聽或操控網路流量。只能允許透過 HTTPS (TLS) 進行加密連線。加密傳輸中的資料可能會影響效能。您應該使用此功能測試應用程式，以了解效能描述檔和 TLS 的影響。TLS 1.2 提供相較於舊版 TLS 的數個安全性增強功能。

### 修補
<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 rule：**`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 政策，以便在委託人的標籤符合資源標籤時允許操作。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[什麼是 ABAC AWS？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。

**注意**  
請勿在標籤中新增個人身分識別資訊 (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 網域，請參閱《*Amazon OpenSearch Service 開發人員指南*》中的[使用標籤](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-awsresourcetagging.html#managedomains-awsresourcetagging-console)。