Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第112回 雲勉【オンライン】入門OpenSearch Service ~セキュリティ設定を知る〜

第112回 雲勉【オンライン】入門OpenSearch Service ~セキュリティ設定を知る〜

iret.kumoben

August 24, 2023
Tweet

More Decks by iret.kumoben

Other Decks in Technology

Transcript

  1. 0.講師⾃⼰紹介 2 n 茅根 涼平(ちのね りょうへい) • クラウドインテグレーション事業部(構築チーム グループリーダー) •

    新卒⼊社(18卒) • アイレット歴6年⽬ • コンテナ環境の構築・運⽤保守 • 2023 Japan AWS All Certifications Engineers / 書籍の共同執筆 AWS Well-Architected Lead
  2. アジェンダ 3 0.⾃⼰紹介 1.Amazon OpenSearch Serviceの概要 2.Amazon OpenSearch Service の開始⽅法

    3.Amazon OpenSearch Service のセキュリティ 4.まとめ 5.その他(紹介)
  3. 1.Amazon OpenSearch Serviceの概要 6 n OpenSearch とは • オープンソースの分散型検索・分析スイートです •

    リアルタイムのアプリケーションモニタリング、ログ分析などの幅広いユースケースがあります IUUQTPQFOTFBSDIPSHEPDTMBUFTU
  4. 8 n OpenSearch Service とは • OpenSearchを簡単にデプロイ・管理、スケール可能なフルマネージドサービスです • OpenSearchの2.7までのバージョンやElasticsearch の

    19のバージョン (1.5〜7.10 バージョン) をサポートします • OpenSearchダッシュボードと Kibana (1.5〜7.10 バージョン) を利⽤した視覚化を提供します 1.Amazon OpenSearch Serviceの概要 IUUQTBXTBNB[PODPNKQPQFOTFBSDITFSWJDF
  5. 9 n OpenSearch Serviceの主要な構成要素 • Master nodes: クラスター全体のモニタリング、管理タスクの実⾏するノードです • Data

    nodes: 検索対象のデータを保持し、クライアントからの検索リクエストを処理するノードです • (Optional): UltraWarm nodesやCold storage 低頻度で検索される時系列データの保管先として有⽤なノード設定ができます ⽇常的に検索は⾏わないが保管が必要なデータの保存先として設定できます 1.Amazon OpenSearch Serviceの概要
  6. 24 EC2 のログデータをリアルタイムで可視化するために、 EC2 で出⼒されるログを OSS の Fluentd を 使⽤してストリームで

    OpenSearchに送信し可視化を⾏います n 例えば n データの送信 • エージェントからOpenSearch Serviceに転送します 2. Amazon OpenSearch Serviceの開始⽅法
  7. 28 IUUQTBXTBNB[PODPNKQDPNQMJBODFTIBSFESFTQPOTJCJMJUZNPEFM クラウドのセキュリティ AWS は、AWS クラウド のすべてを実⾏するグローバルインフラストラクチャを保護する責任を負います OpenSearch Service を使⽤する際に責任共有モデルを適⽤する⽅法を理解する

    クラウド内のセキュリティ 顧客は、このインフラストラクチャでホストされているコンテンツに対する管理を維持する責任があります このコンテンツには、使⽤される AWS のサービス のセキュリティ構成と管理タスクが含まれます 3. Amazon OpenSearch Serviceのセキュリティ
  8. 29 n データを保護する • AWS アカウント の認証情報を保護する }今回は対象外です • それぞれのジョブを遂⾏するために必要な設定や権限を付与する

    }今⽇のポイント︕ • OpenSearch Service の保管中のデータの暗号化する }設定⽅法くらいの内容です • ノード間の暗号化を有効にする }設定⽅法くらいの内容です • AWS Security Hub によるモニタリング をする }項⽬、修正⽅法の解説です※⼀部を除く 3. Amazon OpenSearch Serviceのセキュリティ
  9. 30 n 3つの柱 • OpenSearch Serviceの接続関連のセキュリティには 3 つの主要なレイヤーがあります ネットワーク •

    「パブリックアクセス」または「VPCア クセス」を選択します これはリクエストがOpen Searchドメイン にどう到達させるかの要件に合わせて設定 します きめ細かなアクセスコントロール • きめ細かなアクセスコントロールにより、 ユーザー認証します リソースベースのアクセスポリシーでリク エストが許可されている必要があります。 その後、ユーザーが認証されるか、リクエ ストが拒否されます ドメインアクセスポリシー • 指定された URI へのアクセスリクエスト が許可または拒否されます アクセスポリシーにより、リクエストは OpenSearch ⾃体に到達する前に、ドメイ ンの「エッジ」で許可または拒否されます IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFGHBDIUNMGHBDBDDFTTQPMJDJFT 3. Amazon OpenSearch Serviceのセキュリティ
  10. 32 n VPC内 • 全てのセキュリティ機能を活⽤します • セキュリティグループを使⽤して通信を許可します n パブリック •

    全てのセキュリティ機能を活⽤します(プライベートのオプションを除く) • IPベースで許可します 外部からのアクセス対策が必要です すべてのトラフィックは AWS内で安全に保持されます そのためパブリックエンドポイントを使⽤するドメインに⽐較して、より拡張されたセキュリティレイヤーで使⽤できます (例)オープンアクセスポリシーの使⽤が許容される状況 - きめ細かなアクセスコントロールを有効にする場合 - 特定のクライアントやツールなど、リクエストの署名が困難または不可能な場合 https://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/bp.html#bp-security 3. Amazon OpenSearch Serviceのセキュリティ
  11. 33 n きめ細かなアクセスコントロール • HTTPS、ノード間の暗号化、および保管時の 暗号化(⾃動的に有効化)します • マスターユーザーとして IAM ARN

    を設定します • マスターユーザーを作成します ※OpenSearch Service の使⽤を開始するには、 内部ユーザーデータベースが最もシンプルな⽅法です IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFGHBDIUNM 複数のクラスターでユーザーを再利⽤する必要がない場合 (ユーザー作成) • Dashboards へのアクセスに Cognito ではなく HTTP 基本認証を 使⽤する場合 • 基本認証のみをサポートするクライアントがある場合 複数のクラスターで同じユーザーを使⽤する場合 (IAM ARN) • Cognito を使⽤して Dashboards にアクセスする場合 • 署名バージョン 4 の署名をサポートする OpenSearch クライア ントがある場合 n 選択基準 3. Amazon OpenSearch Serviceのセキュリティ
  12. 34 n 無効化 / 有効化 ドメイン上のデータを保護するために、きめ細かなアクセスコントロールを有効にすることを強くお勧めします。きめ細かなアクセス コントロールにより、クラスター、インデックス、ドキュメント、フィールドの各レベルでセキュリティが提供されます。 きめ細かなアクセスコントロールが無効 • ドメインを

    VPC 内に配置します • 制限付きアクセスポリシーを適⽤するか、またはその両⽅を⾏います きめ細かなアクセスコントロールが有効 • マスターユーザーを使⽤します • SAML認証またはCognito認証を有効化します • アクセスポリシーを適切に使⽤します • VPC内の場合はセキュリティグループを使⽤することを推奨します IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFDSFBUFVQEBUFEPNBJOTIUNM 3. Amazon OpenSearch Serviceのセキュリティ
  13. 35 n 有効化の利点 • ロールベースアクセスコントロール • インデックスレベル、ドキュメントレベル、フィールドレベルのセキュリティ • OpenSearch Dashboards

    マルチテナンシー • OpenSearch および OpenSearch Dashboards の HTTP 基本認証 IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFGHBDIUNM 3. Amazon OpenSearch Serviceのセキュリティ
  14. 36 n Amazon Cognito 認証 • マスター IAM ロールと制限付き IAM

    ロールを設定し、それらを Cognito のユーザーに関連付けます。 • その後、マスターユーザーは OpenSearch Dashboards にサインインし、制限付きユーザーをロールにマッピングし、 きめ細かなアクセスコントロールを使⽤してユーザーのアクセス許可を制限できます。 IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFGHBDXBMLUISPVHIJBNIUNM 3. Amazon OpenSearch Serviceのセキュリティ
  15. 37 n マスターユーザー設定でCognito認証を使⽤する マスターユーザーを使⽤して管理を⾏いつつ、 Cognitoを介してエンドユーザーの認証を⾏う きめ細かなアクセスコントロールが有効時に設定できます n OpenSearch DashboardsのCognito認証設定 OpenSearch

    Dashboardsへのアクセスは Cognitoを介してエンドユーザーの認証を⾏う きめ細かなアクセスコントロールが無効時でも使⽤できます n Amazon Cognito 認証 • きめ細かなアクセスの設定時のCognitoとの違いは︖ IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFGHBDIUNMGHBDEBTICPBSET 3. Amazon OpenSearch Serviceのセキュリティ
  16. 39 n ドメインアクセスポリシー • ドメインアクセスポリシーは、OpenSearch Service のドメインに 到達したときにリクエストを受け⼊れるか拒否するかを制御します n ポリシーのタイプ

    • リソースベース • IPベース • アイデンティティベース きめ細かなアクセスコントロールのみ を使⽤ • オープンアクセスが許可されます • マスターユーザで制御します ドメインレベルアクセスポリシーを 設定する • 様々の設定が可能です ドメインレベルアクセスポリシーを 設定しない • 全てのリクエストが拒否されます 3. Amazon OpenSearch Serviceのセキュリティ
  17. 40 n リソースベース / IPベース • IAM ユーザー、ロールや別AWSアカウントに対して アクセス許可を付与します •

    接続許可したいIPアドレスを設定できます • サブリソースには、OpenSearch インデックス および API が含まれます • ドメインが VPC 内にデプロイされている場合でも、 アクセスポリシーの設定が推奨されます { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/user-a" ] }, "Action": [ "es:ESHttp*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ ”251.xxx.xxx.xxx/32" ] } }, "Resource": "arn:aws:es:ap-northeast-1:123456789012:domain/kumoben/commerce-data/_search" } ] } IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFBDIUNMBDUZQFT ドメインレベルアクセスポリシーを設定する Effect: Allow または Deny Principal: AWS アカウント, IAMユーザ, IAMロール Action: esアクション Condition: IP アドレス, ResourceTagなど Resource:フルアクセスを許可,ドメインの設定に関連,ドメインのサ ブリソース 3. Amazon OpenSearch Serviceのセキュリティ
  18. 41 n アイデンティティベース • アイデンティティベースのポリシーはIAMを使⽤します • リソースベースのポリシーと同様に、サービスに誰がア クセスできるか、どのアクションキーを実⾏できるか指 定します •

    これらのポリシーの配置が完了したら、リソースベース のポリシー (またはきめ細かなアクセスコントロール) を使⽤し、OpenSearch インデックスおよび API への アクセスをユーザーに提供します { "Version": "2012-10-17", "Statement": [ { "Action": [ "es:Describe*", "es:List*" ], "Effect": "Allow", "Resource": "*" } ] } { "Version": "2012-10-17", "Statement": [ { "Action": [ "es:*" ], "Effect": "Allow", "Resource": "*" } ] } 読み取り専⽤のアクセス 管理者のアクセス 3. Amazon OpenSearch Serviceのセキュリティ
  19. 43 n 暗号化 • KMSを使⽤して保管データの暗号化ができます • HTTPS 経由でデータを OpenSearch Service

    に送信する場合、ノード間の暗号化を使⽤すると、OpenSearch がクラスター 全体に分散 (および再分散) する際、データは暗号化された状態で維持されます ※きめ細かなアクセスコントロールを有効にする場合は暗号化が必須になります n利⽤可能なポリシー • Policy-Min-TLS-1-0-2019-07: (デフォルト) TLS v1.0 およびそれ以降をサポートします • Policy-Min-TLS-1-2-2019-07: TLS v1.2 をサポートします IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFOUOIUNM IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFFODSZQUJPOBUSFTUIUNM 3. Amazon OpenSearch Serviceのセキュリティ
  20. 44 n AWS Security Hub によるモニタリング AWS Security Hub を使⽤して、OpenSearch

    Service のセキュリティをベストプラクティスに基づいてモニタリングできま す。Security Hub は、セキュリティコントロールを使⽤してリソース設定とセキュリティ標準を評価し、さまざまなコンプ ライアンスフレームワークに準拠できるようサポートします。 3. Amazon OpenSearch Serviceのセキュリティ
  21. 53 n ステータスを成功にするには • データノードを増やします n 意図的に設定している場合 • ステータスを「制御済み」に変更します •

    ⾼可⽤性と耐障害性のために少なくとも 3 つのデータノー ドが必要です 少なくとも 3 つのデータノードを持つ OpenSearch ドメイン をデプロイすることで、ノードに障害が発⽣した場合のクラ スター操作が確実になります • 障害発⽣時に業務に⼤きな⽀障がない • コストを抑えたい 上記の事情はあるかもしれませんが、意図しないネットワー クのパーティション化 (スプリットブレイン) を回避するに は、少なくとも 3 つのノードを使⽤します。データ損失の可 能性を回避するには、インデックスごとに少なくとも 1 つの レプリカがあることを確認します。(デフォルトでは、各イン デックスに 1 つのレプリカがあります。) https://repost.aws/ja/knowledge-center/opensearch-fault-tolerance 3. Amazon OpenSearch Serviceのセキュリティ
  22. 56 変更前 % aws opensearch describe-domain-config --domain-name <name> --query 'DomainConfig.DomainEndpointOptions.Options'

    { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-0-2019-07", "CustomEndpointEnabled": true, "CustomEndpoint": "false" } 設定変更はマネジメントコンソールからはできないため、 AWS CLIを使⽤して設定変更します 変更後 % aws opensearch describe-domain-config --domain-name <name> --query 'DomainConfig.DomainEndpointOptions.Options' { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07", "CustomEndpointEnabled": true, "CustomEndpoint": "false" } 設定変更 % aws opensearch update-domain-config --domain-name <name> --domain-endpoint-options TLSSecurityPolicy=Policy-Min-TLS-1-2- 2019-07 n ステータスを成功にするには • (設定済み)すべてのトラフィックにHTTPSを要求にします • TLSSecurityPolicyにPolicy-Min-TLS-1-2-2019-07にします IUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTUEFWFMPQFSHVJEFJOGSBTUSVDUVSFTFDVSJUZIUNM 3. Amazon OpenSearch Serviceのセキュリティ
  23. 3.まとめ 58 n OpenSearch Service とは • OpenSearchを簡単にデプロイ・管理、スケール可能なフルマネージドサービスです n OpenSearch

    Serviceのセキュリティベストプラクティス • きめ細かなアクセスコントロールを有効にします • VPC 内にドメインをデプロイします • 制限的なアクセスポリシーを適⽤します • 保管中の暗号化を有効にします • ノード間の暗号化を有効にします • AWS Security Hubで環境を評価します
  24. 4.その他(紹介) 60 n ハンズオン • Amazon OpenSearch Service Intro Workshop

    https://catalog.us-east-1.prod.workshops.aws/workshops/26c005b2-b387-454a-b201-9b8f37f92f92/ja-JP • SIEM on Amazon OpenSearch Service https://catalog.us-east-1.prod.workshops.aws/workshops/60a6ee4e-e32d-42f5-bd9b-4a2f7c135a72/ja- JP/01-introduction OpenSearch の基本概念 • インデックス • マッピング • データ型 • アナライザー • 全⽂検索 • など ログ分析基盤の構築 • ログ分析 基本編/応⽤編 • ログの取り込みと正規化(ETL) • アラート作成