説明
OpenSearch ドメインで HTTPS を強制しない場合、HTTP 要求を受け付けることがあります。クライアントが暗号化されていない接続を使うと、転送する検索データや認証情報が漏えい・改ざんされるおそれがあります。
HTTPS の強制は、クライアントとドメインのエンドポイント間の接続を保護します。ノード間の暗号化、保存時の暗号化、アクセス権限は別の設定です。
想定される影響
- HTTP の要求と応答を、通信経路上の攻撃者に読み取られたり変更されたりするおそれがあります。
- 暗号化されていない要求に含まれる機密データや認証情報が漏えいする可能性があります。
対処方法
domain_endpoint_options.enforce_https を true に設定し、サービスとクライアントが対応する TLS セキュリティポリシーを選択してください。クライアントが HTTPS を使用し、サーバー証明書を検証することを試験してください。ドメインのアクセスポリシーとネットワークの許可範囲も、必要な主体とネットワークに制限してください。
例
同じ既存ドメインのエンドポイント設定を変更する抜粋です。opensearch_domain_name に実際のドメイン名を指定してください。ドメインの作成、エンジンのバージョン、容量設定は省略しています。
変更前
yaml
- name: Configure an existing OpenSearch domain endpoint
community.aws.opensearch:
domain_name: "{{ opensearch_domain_name }}"
domain_endpoint_options:
enforce_https: false
HTTPS だけを使うようには強制しません。すべての要求が HTTP という意味ではありませんが、HTTP を遮断する設定ではありません。
変更後
yaml
- name: Configure an existing OpenSearch domain endpoint
community.aws.opensearch:
domain_name: "{{ opensearch_domain_name }}"
domain_endpoint_options:
enforce_https: true
ドメインのエンドポイントは HTTPS のみを受け付けます。クライアントの実際の接続と証明書検証も確認してください。