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 を構成する手順は次のとおりです。
ワークロード システム ログを転送する
VMware Engine 内で実行されている VM のワークロード システム ログを Google SecOps に転送するには、ワークロード内で実行されている OpenTelemetry 収集エージェントを使用します。手順は次のとおりです。
- Bindplane エージェントの始める前にの手順に沿ってエージェントをインストールし、Google SecOps の取り込み認証ファイルをダウンロードします。Google SecOps 認証ファイルは、Google SecOps ポータルからダウンロードできます。
- ファイアウォール構成を確認して、関連するファイアウォール ポートが開いていることを確認します。
- ご使用のオペレーティング システム(Linux または Windows)の手順に沿って、Bindplane エージェントをインストールします。
エージェントを構成する手順を完了します。この手順を実施する際は、次の点に注意してください。
- [レシーバー] セクションでは、エージェントが収集して Google SecOps に送信するログを指定します。
- [エクスポーター] セクションでは、エージェントがログを送信する宛先を指定します。
- このタスクでは、Google SecOps エクスポーターを使用して、ログを Google SecOps 取り込み API に直接送信します。
使用できる構成ファイルのサンプルについては、追加のログ収集構成サンプルをご覧ください。以下は、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
構成が完了したらコレクタを再起動し、Google SecOps ダッシュボードにログが入力されていることを確認します。
脅威検出用のカスタムルールを作成する
Google SecOps には、サイバーセキュリティの脅威を効果的に特定するように設計された、デフォルトのキュレートされたルールと検出機能が用意されています。デフォルト機能に加えて、カスタムルールを作成して、特定の環境とそのセキュリティ上の懸念事項に合わせてアラートを生成することもできます。より高度な脅威検出のために、Google SecOps では複数のイベントルールを使用できます。これにより、関連するセキュリティ イベントを時間の経過とともに追跡して相関付けることができるため、個々のインシデントからは明らかでない複雑な攻撃パターンを特定しやすくなります。
Google Cloud Cloud ログを転送する
直接取り込みを使用して Google SecOps へのデータの取り込みを構成するには、次の操作を行います。 Google Cloud
- Google SecOps にデータを取り込む Google Cloud の手順に沿ってログを設定します。
- [グローバル取り込み設定] タブで、Cloud Logging からのデータの取り込みと分析を有効にします。
- サポートされている Google Cloud ログ取り込みサービスのリストを確認し、セキュリティ モニタリングのニーズに最も重要な Google Cloud サービスを特定します。gcp_name ログをエクスポートするをご覧ください。
- [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")
次のステップ
- Google SecOps にデータを取り込む Google Cloud 方法を学習する。
- プライベート クラウド VMware コンポーネントを確認する。