【Security Hub修復手順】[ES.2] Elasticsearch ドメインは VPC 内に存在する必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.02.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、岩城です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。

本記事の対象コントロール

[ES.2] Elasticsearch ドメインは VPC 内に存在する必要があります

[ES.2] Elasticsearch domains should be in a VPC

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

このコントロールはElasticsearchドメインがパブリックではなくVPC内にあるかどうかをチェックします。

VPC内にデプロイされたElasticsearchドメインは、パブリックインターネットを経由することなく、VPC内のリソースからのアクセス、Site to Site VPNやDirect Connect経由での閉域網アクセスが可能です。

パブリックインターネットを経由してアクセスする必要がない場合、VPC内にElasticsearchドメインをデプロイすることを求めるものです。

意図的にパブリックアクセスに設定している場合は問題ありません。以下のセキュリティ設定を必ず設定いただき、コントロールを抑制済みに設定してください。

  • ドメインレベルのアクセスポリシーでElasticsearchドメインにアクセスできるIPアドレスを最小限に絞っていること
  • ドメインレベルのアクセスポリシーでElasticsearchドメインにアクセスできるIAMプリンシパルを最小限に絞っていること
  • (オプション) Kibanaによる認証
  • (オプション) きめ細かなアクセスコントロール

なお、後からパブリックアクセスからVPCアクセスに変更することがサポートされていないため、Elasticsearchドメインの再構築が必要となりますので注意してください。

Elasticsearchドメインの再構築を許容できない場合においても、上記セキュリティ設定を必ず設定するようにしてください。

修復手順

セキュリティ設定として4点あげましたが本エントリでは、より簡単に導入できるドメインレベルのアクセスポリシーにフォーカスします。

1. ステークホルダーに確認

まずはステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • Elasticsearchドメインは、パブリックアクセスが必要か、VPCアクセスで要件を満たせないか
  • ドメインレベルのアクセスポリシーでアクセス元を最小限に絞れているか
  • VPCアクセスで要件を満たせる場合、Elasticsearchドメインの再構築を伴う設定変更を許容できるか

基本的には、ドメインレベルのアクセスポリシーでアクセス元を最小限に絞れていれば、パブリックアクセスでも問題ありません。

アクセスポリシーが最小限に設定できているか不安な場合、アクセスポリシーの設定を確認して対応を検討しましょう。

2. ドメインレベルのアクセスポリシーの確認

現在設定されているアクセスポリシーを確認します。

きめ細やかなアクセスコントロールが無効の場合

Elasticsearchドメイン > セキュリティ設定タブ > アクセスポリシーから確認できます。

コンソールでElasticsearchドメインを作成する場合、以下のように誰からでもアクセスを許可するアクセスポリシーを設定することはできません。

必ずアクセス制限のあるアクセスポリシーを設定していると思いますので、制限している内容が適切か確認してください。IaCツールで環境構築している場合は、この限りではありません。

たとえば、特定のIPアドレスからのアクセスを許可しているようなケースで、適切なIPアドレスが設定されているかを確認します。

きめ細やかなアクセスコントロールが有効の場合

一方、きめ細やかなアクセスコントロールが有効の場合、オープンアクセスを許可するアクセスポリシーを設定できます。

Elastisearchドメインに到達できますが、Elastisearchのユーザー認証によりアクセス評価するため、セキュアと見なせます。

可能であれば、アクセスポリシーでIPアドレス制限を設定を検討してください。許可されていないIPアドレスがからは、Elastisearchドメインに到達もできないため、よりセキュアです。

3. リソースベースポリシーの修正

Elasticsearchドメイン > セキュリティ設定タブ > 編集から修正できます。

たとえば、特定IPを修正および追加する場合は、Condtion句内のaws:SourceIPを変更します。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。