説明
検索クラスターでは、インデックスデータ、ログ、ドキュメントを複数のノード間でやり取りします。ノード間暗号化がないと、この内部通信が平文で送信される可能性があります。
ノード間の TLS は、ドメイン内部の通信を保護します。クライアントの HTTPS 接続、保存時暗号化、アクセスポリシーは別途設定する必要があります。
想定される影響
内部の通信経路が侵害されると、暗号化されていないデータが漏えいする可能性があります。内部サービス間の通信を暗号化する要件を満たせない場合もあります。
対処方法
node_to_node_encryption { enabled = true }を設定してください。- 新規 Elasticsearch ドメインでは 6.0 以降、既存ドメインでの有効化では 6.7 以降が必要です。バージョンの互換性と変更計画を確認してください。有効にした設定は、同じドメインでは無効に戻せません。
- HTTPS の強制、保存時暗号化、アクセス権限も併せて確認してください。
例
var.elasticsearch_version には、ノード間暗号化と選択したインスタンスタイプをサポートするバージョンを指定してください。以下はドメイン設定の抜粋です。
変更前
hcl
resource "aws_elasticsearch_domain" "example" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
cluster_config {
instance_type = "r4.large.elasticsearch"
}
}
ノード間暗号化を有効にしていません。
変更後
hcl
resource "aws_elasticsearch_domain" "example" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
cluster_config {
instance_type = "r4.large.elasticsearch"
}
node_to_node_encryption {
enabled = true
}
}
内部のノード間通信を暗号化します。この設定だけでは、クライアントの HTTP 接続は遮断されず、保存データも暗号化されません。