VMware Engine で Google Security Operations を構成する

このドキュメントでは、VMware Engine で実行されている仮想マシン(VM)のサイバーセキュリティ脅威の検出、調査、対応を改善するために Google Security Operations(Google SecOps)を構成する方法について説明します。また、Google SecOps は、VMware インフラストラクチャやその他のサポートされているサービスからのテレメトリーを分析できます。 Google Cloud

概要

Google SecOps は、Google インフラストラクチャ上に特別なレイヤとして構築されるクラウド サービスであり、企業で生成された大量のセキュリティ テレメトリーとネットワーク テレメトリーを非公開で保持、分析、検索できるようにするように企業向けに設計されています。Google SecOps は、データの正規化、インデックス付け、相互関連付け、分析を実施して、リスクのあるアクティビティや不審なアクティビティが発生すると即時に分析とコンテキストを提示します。

Google SecOps のデータ取り込みメカニズム

Google SecOps には、Google SecOps の取り込みに関するドキュメントで詳しく説明されているように、データの取り込みに複数のパスが用意されています。このガイドの構成例では、代表的なアーキテクチャ内の次の主要な統合ポイントに焦点を当てます。

  • VM とワークロードのシステムログ: VM とワークロードから発生したログをキャプチャするために、いくつかのアーキテクチャ パターンがあります。このガイドの構成例では、これらの仮想マシン内に直接デプロイされた OpenTelemetry BindPlane エージェントを使用します。この方法では、システムログを収集して転送する柔軟で標準化された方法が提供されます。

  • Google Cloud ログ: 仮想化された環境以外では、ほとんどのお客様のプロジェクトでさまざまな Google Cloud サービスが使用されています(この特定のコンテキストでは VMware Engine を除く)。脅威検出の包括的な可視性を得るために、これらのサポートされているサービスからのログを Google SecOps に転送できます。次の構成例では、直接取り込みメカニズムを使用して、関連するログデータを選択的に転送するように Cloud Logging フィルタを構成します。

VMware Engine で Google Security Operations を構成する

VMware Engine で Google Security Operations を構成する手順は次のとおりです。

  1. ワークロード システムログを転送する
  2. カスタムルールを作成する
  3. クラウド ログを転送 Google Cloud

ワークロード システム ログを転送する

VMware Engine 内で実行されている VM のワークロード システム ログを Google SecOps に転送するには、ワークロード内で実行されている OpenTelemetry 収集エージェントを使用します。手順は次のとおりです。

  1. Bindplane エージェントの始める前にの手順に沿ってエージェントをインストールし、Google SecOps の取り込み認証ファイルをダウンロードします。Google SecOps 認証ファイルは、Google SecOps ポータルからダウンロードできます。
  2. ファイアウォール構成を確認して、関連するファイアウォール ポートが開いていることを確認します。
  3. ご使用のオペレーティング システム(Linux または Windows)の手順に沿って、Bindplane エージェントをインストールします。
  4. エージェントを構成する手順を完了します。この手順を実施する際は、次の点に注意してください。

    • [レシーバー] セクションでは、エージェントが収集して Google SecOps に送信するログを指定します。
    • [エクスポーター] セクションでは、エージェントがログを送信する宛先を指定します。
    • このタスクでは、Google SecOps エクスポーターを使用して、ログを Google SecOps 取り込み API に直接送信します。
  5. 使用できる構成ファイルのサンプルについては、追加のログ収集構成サンプルをご覧ください。以下は、Windows イベントログ(アプリケーション、セキュリティ、システム)を収集して Google SecOps に送信する具体的な例です。OpenTelemetry Collector の構成形式を使用します。

    receivers:
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application:
        attributes:
           log_type: windows_event.application
        channel: application
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security:
        attributes:
           log_type: windows_event.security
        channel: security
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system:
        attributes:
           log_type: windows_event.system
        channel: system
        max_reads: 100
        poll_interval: 1s
        raw: true
        start_at: end
    processors:
    resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ:
        detectors:
            -   system
        system:
            hostname_sources:
                 -   os
    transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs:
        error_mode: ignore
        log_statements:
            -   context: log
              statements:
                  -   set(attributes["chronicle_log_type"], "WINEVTLOG") where true
    exporters:
    chronicle/NA-SDL:
        compression: none
        creds: '{  "type": "service_account",
            "project_id": "malachite-previewamericassdl",
            "private_key_id": "a9c8d8f0b081c09bcf92621804ba19fc6529ecce",
            "private_key": "----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
            "client_email": "previewamericassdl-1710772997@malachite-previewamericassdl.iam.gserviceaccount.com",
            "client_id": "114604545528934473681",
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token",
            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/previewamericassdl-1710772997%40malachite-previewamericassdl.iam.gserviceaccount.com",
            "universe_domain": "googleapis.com" }'
        customer_id: a556547c-1cff-43ef-a2e4-cf5b12a865df
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
            env: takeshi
        log_type: CATCH_ALL
        namespace: null
        raw_log_field: body
        retry_on_failure:
            enabled: true
            initial_interval: 5s
            max_elapsed_time: 300s
            max_interval: 30s
        sending_queue:
            enabled: true
            num_consumers: 10
            queue_size: 5000
            storage: file_storage/NA-SDL
    extensions:
    file_storage/NA-SDL:
        compaction:
            directory: $OIQ_OTEL_COLLECTOR_HOME/storage
            on_rebound: true
        directory: $OIQ_OTEL_COLLECTOR_HOME/storage
    service:
    extensions:
        -   file_storage/NA-SDL
    pipelines:
        logs/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_NA-SDL-0:
            receivers:
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_application
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_security
                -   windowseventlog/source001HZ7NFAB5HZY6TPMGEYRN4XGZ_system
            processors:
                -   resourcedetection/source0_01HZ7NFAB5HZY6TPMGEYRN4XGZ
                -   transform/source001HZ7NFAB5HZY6TPMGEYRN4XGZprocessor0_logs
            exporters:
                -   chronicle/NA-SDL

  6. 構成が完了したらコレクタを再起動し、Google SecOps ダッシュボードにログが入力されていることを確認します。

脅威検出用のカスタムルールを作成する

Google SecOps には、サイバーセキュリティの脅威を効果的に特定するように設計された、デフォルトのキュレートされたルールと検出機能が用意されています。デフォルト機能に加えて、カスタムルールを作成して、特定の環境とそのセキュリティ上の懸念事項に合わせてアラートを生成することもできます。より高度な脅威検出のために、Google SecOps では複数のイベントルールを使用できます。これにより、関連するセキュリティ イベントを時間の経過とともに追跡して相関付けることができるため、個々のインシデントからは明らかでない複雑な攻撃パターンを特定しやすくなります。

Google Cloud Cloud ログを転送する

直接取り込みを使用して Google SecOps へのデータの取り込みを構成するには、次の操作を行います。 Google Cloud

  1. Google SecOps にデータを取り込む Google Cloud の手順に沿ってログを設定します。
  2. [グローバル取り込み設定] タブで、Cloud Logging からのデータの取り込みと分析を有効にします。
  3. サポートされている Google Cloud ログ取り込みサービスのリストを確認し、セキュリティ モニタリングのニーズに最も重要な Google Cloud サービスを特定します。gcp_name ログをエクスポートするをご覧ください。
  4. [Export Filter Settings] タブで、必要に応じてデフォルトのエクスポート フィルタを変更し、必要な特定のログを含めます。次の例は、このドキュメントで使用したエクスポート フィルタのコピーです。
    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/data_access")
    AND NOT protoPayload.methodName =~ "^storage.(buckets|objects).(get|list)$"
    AND NOT protoPayload.request.cmd = "select" ) OR
    log_id("cloudaudit.googleapis.com/policy") OR
    log_id("cloudaudit.googleapis.com/access_transparency") OR
    log_id("compute.googleapis.com/nat_flows") OR
    log_id("compute.googleapis.com/firewall") OR
    log_id("requests") OR
    logName =~ "^projects/[\w-]+/logs/syslog$" OR
    logName =~ "^projects/[\w-]+/logs/authlog$" OR
    log_id("securelog") OR
    log_id("sysmon.raw") OR
    logName =~ "^projects/[\w-]+/logs/windows_event_log$" OR
    log_id("windows_event_log") OR
    log_id("events") OR
    log_id("stdout") OR
    log_id("stderr") OR
    log_id("audit_log") OR
    log_id("recaptchaenterprise.googleapis.com/assessment") OR
    log_id("recaptchaenterprise.googleapis.com/annotation") OR
    log_id("cloudaudit.googleapis.com/activity")

次のステップ