組織では、仕様か現在進行中の要件によるかに関係なく、マルチクラウド アーキテクチャへの移行が増加しています。 Google Cloud Platform (GCP) などの複数のパブリック クラウドで、アプリケーションを使用し、データを保存する組織が増え続けています。
この記事では、GCP データを Microsoft Sentinel に取り込み、マルチクラウド環境で、完全なセキュリティ カバレッジを確保し、攻撃を分析および検出する方法について説明します。
GCP Pub/Sub コネクタを使用すると、コードレス コネクタ フレームワーク (CCF) に基づいて、GCP Pub/Sub 機能を使用して GCP 環境からログを取り込むことができます。
Google Cloud Platform (GCP) Pub/Sub 監査ログ コネクタは、GCP リソースへのアクセスの監査証跡を収集します。 アナリストは、これらのログを監視してリソース アクセスの試行を追跡し、GCP 環境における潜在的な脅威を検出できます。
Google Cloud Platform (GCP) Security Command Center コネクタは、Google Cloud 用の堅牢なセキュリティおよびリスク管理プラットフォーム、Google Security Command Center から結果を収集します。 アナリストは、これらの結果を確認して、資産インベントリと検出、脆弱性と脅威の検出、リスクの軽減と修復など、組織のセキュリティ態勢に関する分析情報を得ることができます。
前提条件
開始する前に、以下があることを確認してください。
- Microsoft Sentinel ソリューションが有効になっている。
- 定義済みの Microsoft Sentinel ワークスペースが存在する。
- GCP 環境が存在し、取り込みたい次のいずれかのログの種類を生成するリソースが含まれる。
- GCP 監査ログ
- Google Security Command Center の結果
- Azure ユーザーが Microsoft Sentinel 共同作成者ロールを持っている。
- GCP ユーザーが、GCP プロジェクトでリソースを作成して編集するためのアクセス権を持っている。
- GCP Identity and Access Management (IAM) API と GCP Cloud Resource Manager API の両方が有効になっている。
GCP 環境の設定
GCP 環境で設定すべきことは 2 つあります。
GCP IAM サービスで以下のリソースを作成して、GCP での Microsoft Sentinel 認証を設定します。
- ワークロード ID プール
- ワークロード ID プロバイダー
- サービス アカウント
- ロール
GCP Pub/Sub サービスで次のリソースを作成して、GCP でログ収集を設定し、Microsoft Sentinel に取り込みます。
- トピック
- トピックのサブスクリプション
環境は、次の 2 つの方法のいずれかで設定できます。
Terraform API を使用して GCP リソースを作成する: Terraform には、リソースの作成用の API と ID およびアクセス管理用の API が用意されています (前提条件を参照)。 Microsoft Sentinel には、API に必要なコマンドを発行する Terraform スクリプトが用意されています。
GCP コンソールでリソースを自分で作成して、GCP 環境を手動で設定します。
注
Security Command Center からログ収集用 GCP Pub/Sub リソースを作成するために使用できる Terraform スクリプトはありません。 これらのリソースは手動で作成する必要があります。 認証用 GCP IAM リソースについては、引き続き Terraform スクリプトを使用して作成することができます。
重要
リソースを手動で作成する場合は、同じ GCP プロジェクト内に "すべての" 認証 (IAM) リソースを作成する必要があります。これを行わないと、動作しなくなります (Pub/Sub リソースは別のプロジェクトに含めることができます)。
GCP 認証のセットアップ
GCP Cloud Shell を開きます。
エディターで次のコマンドを入力して、操作するプロジェクトを選択します。
gcloud config set project {projectId}
Microsoft Sentinel によって提供される Terraform 認証スクリプトを Sentinel GitHub リポジトリから GCP Cloud Shell 環境にコピーします。
Terraform GCPInitialAuthenticationSetup スクリプトファイルを開き、その内容をコピーします。
注
GCP データを Azure Government クラウドに取り込むには、代わりにこの認証セットアップ スクリプトを使用します。
Cloud Shell 環境でディレクトリを作成し、そこに移動して、新しい空のファイルを作成します。
mkdir {directory-name} && cd {directory-name} && touch initauth.tf
Cloud Shell エディターで initauth.tf を開き、スクリプト ファイルの内容を貼り付けます。
ターミナルに次のコマンドを入力して、作成したディレクトリで Terraform を初期化します。
terraform init
Terraform が初期化されたことを示す確認メッセージが表示されたら、ターミナルに次のコマンドを入力してスクリプトを実行します。
terraform apply
スクリプトで Microsoft テナント ID の入力を求められたら、それをコピーしてターミナルに貼り付けます。
Workload Identity プールが Azure 用に既に作成されているかどうかを尋ねられたら、適宜「yes」または「no」と入力します。
一覧表示されているリソースを作成するかどうかを尋ねられたら、「yes」と入力します。
スクリプトからの出力が表示されたら、後で使用するためにリソース パラメーターを保存します。
GCP 監査ログのセットアップ
このセクションの手順では、Microsoft Sentinel GCP Pub/Sub 監査ログ コネクタを使用します。
Microsoft Sentinel GCP Pub/Sub Security Command Center コネクタを使用する場合は、次のセクションの手順を参照してください。
Microsoft Sentinel によって提供される Terraform 監査ログ セットアップ スクリプトを Sentinel GitHub リポジトリから GCP Cloud Shell 環境内の別のフォルダーにコピーします。
Terraform GCPAuditLogsSetup スクリプト ファイルを開き、その内容をコピーします。
注
GCP データを Azure Government クラウドに取り込むには、代わりにこの監査ログ セットアップ スクリプトを使用します。
Cloud Shell 環境で別のディレクトリを作成し、そこに移動して、新しい空のファイルを作成します。
mkdir {other-directory-name} && cd {other-directory-name} && touch auditlog.tf
Cloud Shell エディターで auditlog.tf を開 き、スクリプト ファイルの内容を貼り付けます。
ターミナルで次のコマンドを入力して、新しいディレクトリで Terraform を初期化します。
terraform init
Terraform が初期化されたことを示す確認メッセージが表示されたら、ターミナルに次のコマンドを入力してスクリプトを実行します。
terraform apply
単一の Pub/Sub を使用して組織全体からログを取り込むには、次のように入力します。
terraform apply -var="organization-id= {organizationId} "
一覧表示されているリソースを作成するかどうかを尋ねられたら、「yes」と入力します。
スクリプトからの出力が表示されたら、後で使用するためにリソース パラメーターを保存します。
次の手順に進む前に、5 分ほど待機します。
GCP Pub/Sub Security Command Center コネクタも設定する場合は、次のセクションに進みます。
それ以外の場合は、「Microsoft Sentinel で GCP Pub/Sub コネクタを設定する」に進みます。
GCP Security Command Center の設定
このセクションの手順では、Microsoft Sentinel GCP Pub/Sub Security Command Center コネクタを使用します。
Microsoft Sentinel GCP Pub/Sub 監査ログ コネクタを使用する場合は、前のセクションの手順を参照してください。
結果の連続エクスポートを構成する
Google Cloud ドキュメントの手順に従って、GCP Pub/Sub サービスへの、今後の SCC 結果の Pub/Sub エクスポートを構成します。
エクスポート対象のプロジェクトを選択するように求められたら、この目的で作成したプロジェクトを選択するか、新しいプロジェクトを作成します。
結果のエクスポート先 Pub/Sub トピックを選択するように求められたら、上記の手順に従って、新しいトピックを作成します。
Microsoft Sentinel で GCP Pub/Sub コネクタを設定する
Azure portal を開き、Microsoft Sentinel サービスに移動します。
[コンテンツ ハブ] で、検索バーに「Google Cloud Platform Audit Logs」と入力します。
Google Cloud Platform Audit Logs ソリューションをインストールします。
[データ コネクタ] を選択し、検索バーに「GCP Pub/Sub 監査ログ」と入力します。
GCP Pub/Sub 監査ログ コネクタを選択します。
詳細ウィンドウで、[Open connector page](コネクタ ページを開く) を選択します。
[構成] 領域で、[新しいコレクターの追加] を選択します。
[新しいコレクターの接続] パネルで、GCP リソースの作成時に作成したリソース パラメーターを入力します。
すべてのフィールドの値が、GCP プロジェクトの対応するフィールドと一致していることを確認します (スクリーンショットの値はサンプルです。リテラルではありません)。その後、[接続] を選択します。
GCP データが Microsoft Sentinel 環境にあることを確認する
GCP ログが Microsoft Sentinel に正常に取り込まれたことを確認するには、コネクタの設定が完了してから 30 分後に次のクエリを実行します。
GCPAuditLogs | take 10
データ コネクタの正常性機能を有効にします。
次のステップ
この記事では、GCP Pub/Sub コネクタを使用して、GCP データを Microsoft Sentinel に取り込む方法について説明しました。 Microsoft Azure Sentinel の詳細については、次の記事を参照してください。
-
データと潜在的な脅威を可視化する方法についての説明。
- Microsoft Sentinel を使用した脅威の検出の概要。
- ブックを使用してデータを監視する。