OpenSearchのノード間暗号化設定の確認

Elasticsearch・OpenSearchドメインの内部ノード間通信を暗号化してください。

説明

ElasticsearchまたはOpenSearchドメインでノード間暗号化を使用しないと、内部ノード間のデータが暗号化されずに送受信される可能性があります。クライアント接続のHTTPSや保存時の暗号化では、この内部通信は保護されません。

想定される影響

  • 内部通信経路にアクセスできる攻撃者に、レプリケーションや検索のデータが漏えいする可能性があります。
  • 機密ログや検索インデックスを扱う環境の暗号化要件を満たせない場合があります。

対処方法

  • NodeToNodeEncryptionOptions.Enabledをtrueに設定してください。
  • 既存ドメインのバージョンが変更に対応しているかとサービスへの影響を確認し、適用後の暗号化状態を確認してください。
  • クライアントのHTTPS、保存時の暗号化、アクセス権限も別途構成してください。

例

ドメインの暗号化プロパティだけを抜粋しています。エンジンバージョン、ノード、ストレージ、アクセスポリシーは実際の要件に合わせて構成してください。

変更前

yaml
Resources:
  OpenSearchDomain:
    Type: AWS::OpenSearchService::Domain
    Properties:
      DomainName: my-domain
      EncryptionAtRestOptions:
        Enabled: true

保存時の暗号化だけが明示されています。内部通信の保護を判断するには、実際のノード間暗号化設定も確認する必要があります。

変更後

yaml
Resources:
  OpenSearchDomain:
    Type: AWS::OpenSearchService::Domain
    Properties:
      DomainName: my-domain
      NodeToNodeEncryptionOptions:
        Enabled: true
      EncryptionAtRestOptions:
        Enabled: true

保存時の暗号化に加え、ノード間暗号化を明示します。クライアント接続のHTTPSは別途設定が必要です。

参考資料