OpenSearchドメインでHTTPSが必須ではない

Elasticsearch・OpenSearchドメインへの接続でHTTPSを必須にしてください。

説明

ElasticsearchまたはOpenSearchドメインのEnforceHTTPSがfalseの場合、クライアントはHTTPでもアクセスできます。HTTPで送る検索要求、応答、認証情報が通信経路で漏えいする可能性があります。

想定される影響

  • 通信経路にアクセスできる攻撃者が、平文の要求や応答を傍受・改ざんする可能性があります。
  • TLSを必須とする組織のポリシーを満たせない場合があります。

対処方法

  • DomainEndpointOptions.EnforceHTTPSをtrueに設定してください。
  • サービスとクライアントが対応するTLSポリシーを選び、クライアントでHTTPSとサーバー証明書の検証を使用してください。
  • 平文の要求が拒否されることを確認し、ノード間暗号化と保存時の暗号化も別途管理してください。

例

ドメインのエンドポイント設定の抜粋です。他の必須設定とアクセスポリシーは別途構成してください。

変更前

yaml
Resources:
  OpenSearchDomain:
    Type: AWS::OpenSearchService::Domain
    Properties:
      DomainEndpointOptions:
        EnforceHTTPS: false
        TLSSecurityPolicy: Policy-Min-TLS-1-2-2019-07

TLSポリシーはHTTPS接続に適用されますが、EnforceHTTPS: falseではHTTPアクセスは遮断されません。

変更後

yaml
Resources:
  OpenSearchDomain:
    Type: AWS::OpenSearchService::Domain
    Properties:
      DomainEndpointOptions:
        EnforceHTTPS: true
        TLSSecurityPolicy: Policy-Min-TLS-1-2-2019-07

ドメインのエンドポイントでHTTPSを必須にします。これだけで呼び出し元の権限を制限したり、保存データを暗号化したりすることはできません。

参考資料