Chronicle に Google Cloud データを取り込む

このページでは、Chronicle への Google Cloud データの取り込みを有効または無効にする方法について説明します。Chronicle を使用すると、データの保持期間に応じて、自社の集約されたセキュリティ情報を数か月以上にわたって保存、検索、調査できます。

概要

Google Cloud データを Chronicle に送信する方法は 2 つあります。どのオプションを選択すべきかはログの種類によって異なります。

オプション 1: ネイティブ取り込み

特殊な Cloud Logging フィルタを Google Cloud で構成して、特定のログタイプをリアルタイムで Chronicle に送信できます。これらのログは、Google Cloud サービスによって生成されます。

Chronicle は、ログが Google Cloud のプロジェクト レベルで除外されているが、ログ エクスポート フィルタと組織レベルの Google Cloud Logging の両方に含まれている場合にもログを受信します。Chronicle からログを除外するには、Google Cloud で Chronicle のログ エクスポート フィルタを更新する必要があります。

使用可能なログタイプには、次のものがあります。

Compute Engine または Google Kubernetes Engine(GKE)アプリケーション ログ(Apache、Nginx、IIS など)を収集するには、オプション 2 を使用します。さらに、Chronicle を使用してサポート チケットを提出し、オプション 1 を介してネイティブ ログタイプとしてサポートするために、将来の検討のためのフィードバックを提供します。

特定のログフィルタと取り込みの詳細については、Chronicle への Google Cloud ログのエクスポートをご覧ください。

拡充のコンテキストとして使用される追加の Google Cloud メタデータを Chronicle に送信することもできます。詳細については、Chronicle への Google Cloud アセットのメタデータのエクスポートをご覧ください。

オプション 2: Google Cloud Storage

Cloud Logging では、スケジュールに従って Chronicle が取得するように Cloud Storage にログを転送できます。

Cloud Storage を Chronicle 用に構成する方法について詳しくは、フィード管理: Cloud Storage をご覧ください。

準備

Google Cloud データを Chronicle インスタンスに取り込む前に、次の手順を実行する必要があります。

  1. Chronicle 担当者に問い合わせて、Google Cloud データの取り込みに必要な 1 回限りのアクセスコードを取得します。

  2. Chronicle セクションへのアクセスに必要な次の IAM のロールを付与します。

    • Chronicle サービス管理者roles/chroniclesm.admin): すべてのアクティビティを実行するための IAM ロール。
    • Chronicle サービス閲覧者roles/chroniclesm.viewer): 取り込みの状態のみを閲覧する IAM ロール。
    • セキュリティ センター管理編集者roles/securitycenter.adminEditor): Cloud アセット メタデータの取り込みを有効にするために必要です。
  3. Cloud Asset メタデータを有効にする場合は、Security Command Center のスタンダード ティアまたは Security Command Center のプレミアム ティアの Google Cloud サービスも有効にする必要があります。詳細については、組織の Security Command Center を有効にするをご覧ください。

IAM ロールの付与

必要な IAM ロールを付与するには、Google Cloud Console または gcloud CLI を使用します。

Google Cloud Console を使用して IAM ロールを付与するには、次の操作を行います。

  1. 接続する Google Cloud 組織にログインし、[プロダクト] > [IAM と管理] > [IAM] を使用して IAM 画面に移動します。
  2. IAM 画面でユーザーを選択し、[メンバーを編集] をクリックします。

  3. [権限の編集] 画面で、[別のロールを追加] をクリックして Chronicle を検索し、IAM ロールを見つけます。

  4. ロールを割り当てたら、[保存] をクリックします。

Google Cloud CLI を使用して IAM のロールを付与するには、次の手順を行います。

  1. 正しい組織にログインしていることを確認します。これを確認するには、gcloud init コマンドを実行します。

  2. gcloud を使用して Chronicle サービス管理者の IAM ロールを付与するには、次のコマンドを実行します。

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.admin
    

    以下を置き換えます。

    • ORGANIZATION_ID: 数値の組織 ID
    • USER_EMAIL: 管理者のユーザーのメールアドレス。
  3. gcloud を使用して Chronicle サービス閲覧者の IAM ロールを付与するには、次のコマンドを実行します。

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.viewer
    
  4. gcloud を使用してセキュリティ センター管理編集者のロールを付与するには、次のコマンドを実行します。

     gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
     --member "user:USER_EMAIL" \
     --role roles/securitycenter.adminEditor`
    

Google Cloud のデータ取り込みの有効化

Google Cloud データは、Security Command Center と Chronicle の間の非公開の内部 API を使用して取り込まれます。取り込みは外部ネットワークに到達せず、IP アドレスも使用しません。Google は、Security Command Center 用に Chronicle によって提供されるワンタイム コードを使用して行われた認証に基づいて、Google Cloud ログに直接アクセスします。

Google Cloud 組織から Chronicle アカウントへのデータの取り込みを有効にするには、次の手順を行います。

  1. Google Cloud コンソールの [Chronicle] ページに移動します。
    [Chronicle] ページに移動

  2. [1 回限りの Chronicle アクセスコード] フィールドに 1 回限りのアクセスコードを入力します。

  3. [I consent to the terms and conditions of Chronicle's usage of my Google Cloud data] チェックボックスをオンにします。

  4. [Chronicle 接続] をクリックします。

    [Chronicle 接続] ページ

これでGoogle Cloud データが Chronicle に送信されるようになりました。Chronicle の分析機能を使用して、セキュリティ関連の問題を調査できます。以下のセクションでは、Chronicle に送信される Google Cloud データの種類を調整する方法について説明します。

Chronicle に Google Cloud ログをエクスポートする

Chronicle アカウントへの次のタイプの Google Cloud データをエクスポートできます。

  • GCP_CLOUDAUDIT:
    • log_id("cloudaudit.googleapis.com/activity")(デフォルトのフィルタによってエクスポートされます)
    • log_id("cloudaudit.googleapis.com/system_event")(デフォルトのフィルタによってエクスポートされます)
    • log_id("cloudaudit.googleapis.com/policy")
    • log_id("cloudaudit.googleapis.com/access_transparency")
  • GCP_CLOUD_NAT:
    • log_id("compute.googleapis.com/nat_flows")
  • GCP_DNS:
    • log_id("dns.googleapis.com/dns_queries")(デフォルトのフィルタによってエクスポートされます)
  • GCP_FIREWALL:
    • log_id("compute.googleapis.com/firewall")
  • GCP_IDS:
    • log_id("ids.googleapis.com/threat")
    • log_id("ids.googleapis.com/traffic")
  • GCP の負荷分散
    • log_id("requests")
    • log_id("loadbalancing.googleapis.com/external_regional_requests")
    • log_id("networksecurity.googleapis.com/network_dos_attack_mitigations")
    • log_id("networksecurity.googleapis.com/dos_attack")
    • これには、Google Cloud Armor と Cloud Load Balancing のログが含まれます
  • GCP_CLOUDSQL:
    • log_id("cloudsql.googleapis.com/mysql-general.log")
    • log_id("cloudsql.googleapis.com/mysql.err")
    • log_id("cloudsql.googleapis.com/postgres.log")
    • log_id("cloudsql.googleapis.com/sqlagent.out")
    • log_id("cloudsql.googleapis.com/sqlserver.err")
  • NIX_SYSTEM:
    • log_id("syslog")
    • log_id("authlog")
    • log_id("securelog")
  • LINUX_SYSMON:
    • log_id("sysmon.raw")
  • WINEVTLOG:
    • log_id("winevt.raw")
    • log_id("windows_event_log")
  • BRO_JSON:
    • log_id("zeek_json_streaming_conn")
    • log_id("zeek_json_streaming_dhcp")
    • log_id("zeek_json_streaming_dns")
    • log_id("zeek_json_streaming_http")
    • log_id("zeek_json_streaming_ssh")
    • log_id("zeek_json_streaming_ssl")
  • KUBERNETES_NODE:
    • log_id("events")
    • log_id("stdout")
    • log_id("stderr")
  • AUDITD:
    • log_id("audit_log")
  • GCP_APIGEE_X:
    • log_id("apigee-logs")
    • logName =~ "^projects/[\w\-]+/logs/apigee\.googleapis\.com[\w\-]*$"
    • 必要に応じてログフィルタの正規表現を調整する
  • GCP_RECAPTCHA_ENTERPRISE:
    • log_id("recaptchaenterprise.googleapis.com/assessment")
    • log_id("recaptchaenterprise.googleapis.com/annotation")

Google Cloud ログを Chronicle にエクスポートするには、[Google Cloud ログ] を有効に設定します。上記の Google Cloud のすべてのログタイプが、Chronicle アカウントにエクスポートされます。

Google Cloud ログ

使用するログフィルタのベスト プラクティスについては、Google Cloud のセキュリティ ログ分析をご覧ください。

エクスポート フィルタの設定

デフォルトでは、Cloud Audit ログ(管理アクティビティとシステム イベント)と Cloud DNS ログが Chronicle アカウントに送信されます。ただし、特定のタイプのログを含める、または除外するようにエクスポート フィルタをカスタマイズできます。エクスポート フィルタは、Google ロギングクエリ言語に基づいています。

ログのカスタム フィルタを定義するには、次の手順に従います。

  1. ロギング クエリ言語を使用してログのカスタム フィルタを作成して、フィルタを定義します。この種類のフィルタを定義する方法については、次のドキュメントをご覧ください。https://cloud.google.com/logging/docs/view/logging-query-language

  2. [フィルタのエクスポート設定] タブのリンクを使用してログ エクスプローラに移動し、新しいクエリを [クエリ] フィールドにコピーして [クエリを実行] をクリックしてテストします。

    ログ エクスプローラに一致するログが Chronicle にエクスポートする予定であるログと同一であることを確認します。

    [フィルタのエクスポート設定] タブ

    [フィルタのエクスポート設定] タブ

[フィルタのエクスポート設定] タブで次の手順を実行します。

  1. フィルタの準備ができたら、[編集] アイコンをクリックして、[フィルタのエクスポート設定] タブの [エクスポート] フィルタ フィールドにフィルタを貼り付けます。

  2. [カスタム フィルタを保存] をクリックします。新しいカスタム フィルタは、Chronicle アカウントにエクスポートされたすべての新しいログに対して機能します。

  3. [デフォルトにリセット] をクリックすると、エクスポート フィルタをデフォルト バージョンにリセットできます。最初にカスタム フィルタのコピーを保存してください。

Cloud Audit のログフィルタを調整する

Cloud Audit Data Access ログは、脅威検出値があまり高くない大量のログを生成する可能性があります。これらのログを Chronicle に送信する場合は、ルーティン アクティビティによって生成されたログを除外する必要があります。

次のエクスポート フィルタは、データアクセス ログをキャプチャし、Cloud Storage と Cloud SQL の読み取りや一覧表示オペレーションなど、ボリュームが多いイベントを除外します。

( log_id("cloudaudit.googleapis.com/data_access")
  AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
  AND NOT protoPayload.request.cmd = "select" )

Cloud Audit Data Access ログの調整の詳細については、こちらをご覧ください。

エクスポート フィルタの例

次のエクスポート フィルタの例は、Chronicle アカウントへのエクスポートから特定の種類のログに含めるか除外するかの方法を示しています。

エクスポート フィルタの例 1: 追加のログタイプを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、アクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")

エクスポート フィルタの例 2: 特定のプロジェクトからの追加ログを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、特定のプロジェクトのアクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

エクスポート フィルタの例 3: 特定のフォルダからの追加ログを含める

次のエクスポート フィルタでは、デフォルトのログに加えて、特定のフォルダのアクセスの透明性ログがエクスポートされます。

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

エクスポート フィルタの例 4: 特定のプロジェクトからのログを除外する

次のエクスポート フィルタは、特定のプロジェクトを除き、Google Cloud 組織全体からのデフォルトのログをエクスポートします。

(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")

Chronicle に Google Cloud アセット メタデータをエクスポートする

Google Cloud アセットのメタデータを Chronicle にエクスポートできます。このアセットのメタデータは Google Cloud Asset Inventory から取得され、次のようなアセット、リソース、ID に関する情報で構成されています。

  • 環境
  • 場所
  • ゾーン
  • ハードウェア モデル
  • リソースと ID 間のアクセス制御の関係

Chronicle アカウントにエクスポートされる Google Cloud アセットのメタデータの種類は次のとおりです。

  • GCP_BIGQUERY_CONTEXT
  • GCP_COMPUTE_CONTEXT
  • GCP_IAM_CONTEXT
  • GCP_IAM_ANALYSIS
  • GCP_STORAGE_CONTEXT

Google Cloud アセットのメタデータの例を次に示します。

  • アプリケーション名: Google-iamSample/0.1
  • プロジェクト名: projects/my-project

Google Cloud アセットのメタデータを Chronicle にエクスポートするには、[Cloud アセットのメタデータ] を [有効] に設定します。

Cloud アセットのメタデータを有効にします。

Google Cloud アセットのメタデータは、ログソース GCP IAM Context および GCP IAM Analysis から Chronicle に表示されます。

Chronicle に Security Command Center の検出結果をエクスポートする

Security Command Center Premium の Event Threat Detection(ETD)の検出結果と他のすべての検出結果を Chronicle にエクスポートできます。

ETD の検出結果について詳しくは、こちらをご覧ください。

Security Command Center Premium の検出結果を Chronicle にエクスポートするには、[Security Command Center Premium の検出] の切り替えを有効に設定します。

Security Command Center Premium の検出結果を有効にします。

Chronicle に機密データの保護のデータをエクスポートする

機密データの保護のアセット メタデータ(DLP_CONTEXT)を取り込むには、次の手順を行います。

  1. このドキュメントの前のセクションを完了して、Google Cloud データの取り込みを有効にします。
  2. データをプロファイリングするように機密データの保護を構成します。
  3. スキャン設定を構成して、Chronicle にデータ プロファイルを公開します。

BigQuery データのデータ プロファイルの作成方法について詳しくは、機密データの保護のドキュメントをご覧ください。

Google Cloud データ取り込みの無効化

  1. [Chronicle の接続を解除し、Google Cloud ログの Chronicle への送信を停止する] チェックボックスをオンにします。

  2. [Chronicle の接続を解除] をクリックします。

    Chronicle の接続を解除する。

トラブルシューティング

  • Chronicle システムにリソースと ID の関係がない場合は、[Chronicle に Google Cloud ログをエクスポートする] を無効に切り替えて、再度有効にします。
  • アセットのメタデータは Chronicle に定期的に取り込まれます。Chronicle UI と API に変更が反映されるまでに数時間かかります。

次のステップ

  • Chronicle の担当者から提供されたお客様固有の URL を使用して、Chronicle アカウントを開く。
  • Chronicle の詳細を確認する。