WindowsのイベントログをGoogle SecOpsで収集してクエリしてみた

記事タイトルとURLをコピーする

G-gen の三浦です。当記事では、Windows Server のイベントログを Google SecOps で分析する方法を解説します。

概要

Google SecOps とは

Google Security Operations(以下 Google SecOps、旧称 Chronicle)は、Google Cloud が提供する統合セキュリティ運用プラットフォームです。

SIEM、SOAR、脅威インテリジェンス、Gemini を利用した AI による運用支援を提供します。これらにより、脅威の検知・調査・対応を一元的に行えます。結果として、セキュリティ運用の効率化と高度化を実現できます。

詳細は、以下の記事をご参照ください。

blog.g-gen.co.jp

Bindplane とは

Bindplane は、オープンソースの OpenTelemetry Collector をベースにした統合テレメトリーパイプラインです。さまざまなソースからログやメトリクスを収集し、Google SecOps を含む多様な宛先に転送できます。

詳細は、以下の記事をご参照ください。

blog.g-gen.co.jp

検証概要

構成図

当記事では、以下の構成で検証を行いました。

構成図

検証時の Windows Server のバージョンは以下のとおりです。

  • Windows Server 2022 Datacenter

前提条件

Windows Server(Bindplane コレクタ)から Google SecOps へログを転送するために、VPC ファイアウォールルール等で以下の通信を許可する必要があります。

  • 通信の方向 : アウトバウンド(Egress)
  • 宛先ポート : 443/tcp

通信要件の詳細については、以下の公式ドキュメントをご参照ください。

検証の流れ

項番 内容 説明
1 Bindplane コレクタの導入 Windows Server に Bindplane コレクタをインストールし、Google SecOps への送信設定を行います。
2 Google SecOps でのログ分析 Google SecOps の管理画面で収集した Windows イベントログを確認し、自然言語による検索や条件によるイベントの抽出を行います。

Bindplane コレクタの設定

Bindplane コレクタのインストール

以下の手順に従い、Windows Server へ Bindplane コレクタをインストールします。

まず、ウェブブラウザで以下の URL へアクセスし、インストーラーをダウンロードします。

https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi

インストーラーの取得

インストーラーを実行し、[Next] を選択します。

Next を選択

ライセンス規約を確認して同意し、[Next] を選択します。

ライセンス規約を確認して Next を選択

インストール先を選択し、[Next] を選択します。本手順ではデフォルト値を使用します。

インストール先を選択し Next を選択

OpAMP(Agent を一元管理する仕組み)を利用する場合は、チェックを有効化します。本検証では有効化せずに、[Next] を選択します。

Next を選択

[Install] を選択します。

Install を選択

インストールが完了したら、[Finish] を選択します。

Finish を選択

Windows + R キーを押下し、services.msc と入力して Enter キーを押下します。

services.msc の実行

サービス「observIQ Distro for OpenTelemetry Collector」の状態が 実行中 であることを確認します。

コレクタのステータス確認

Google SecOps 転送用のパラメータと認証情報の取得

Google SecOps の管理画面に移動します。

Google SecOps 管理画面に移動

[Settings] > [SIEM Settings] > [Profile] へ移動し、Customer ID を控えます。

Customer ID の確認

[Settings] > [SIEM Settings] > [Collection Agents] へ移動し、[Ingestion Authentication File] をダウンロードします。JSON 形式の認証情報ファイルです。認証情報となるため、取り扱いにはご注意ください。

認証情報の取得

Google SecOps 転送設定

Windows エクスプローラーで Bindplane コレクタのインストール先(デフォルト値の場合、以下)へ移動し、前手順で取得した Ingestion Authentication File を配置します。

  • C:\Program Files\observIQ OpenTelemetry Collector

Ingestion Authentication File の配置

config.yaml を開き、以下のとおりに修正します。接続先のエンドポイントについては、以下の公式ドキュメントをご参照ください。

receivers:
  windowseventlog/application:
    attributes:
      log_type: WINEVTLOG
    channel: application
    max_reads: 100
    poll_interval: 1s
    raw: true
    start_at: end
 
  windowseventlog/security:
    attributes:
      log_type: WINEVTLOG
    channel: security
    max_reads: 100
    poll_interval: 1s
    raw: true
    start_at: end
 
  windowseventlog/system:
    attributes:
      log_type: WINEVTLOG
    channel: system
    max_reads: 100
    poll_interval: 1s
    raw: true
    start_at: end
 
exporters:
  chronicle/windows:
    compression: gzip
    creds_file_path: "C:\\Program Files\\observIQ OpenTelemetry Collector\\auth.json" # 前手順で配置した Ingestion Authentication File のパスを指定
    customer_id: "<customer_id>" # Customer ID を指定
    endpoint: asia-northeast1-malachiteingestion-pa.googleapis.com # 接続先のエンドポイントをリージョンに応じて指定
    ingestion_labels:
      env: dev
    log_type: WINEVTLOG
    namespace: testNamespace
    raw_log_field: body
 
service:
  pipelines:
    logs/windows:
      receivers:
        - windowseventlog/application
        - windowseventlog/security
        - windowseventlog/system
      exporters:
        - chronicle/windows

設定変更を反映するため、PowerShell を管理者権限で起動し、Bindplane コレクタのサービスを再起動します。再起動に失敗する場合、config.yaml に問題がある可能性があります。後述の collector.log を確認し、エラーログの有無を確認します。

Restart-Service -Name "observiq-otel-collector"

以下は再起動に失敗した場合のエラーログのサンプルです。

{"level":"error","ts":"2025-11-26T15:56:54.449+0900","caller":"service/service_windows.go:104","msg":"Failed to start service","error":"failed while starting collector: cannot start pipelines: failed to start \"chronicle/windows\" exporter: load Google credentials: invalid character 'C' looking for beginning of value","stacktrace":"github.com/observiq/bindplane-otel-collector/internal/service.(*windowsServiceHandler).Execute\n\tD:/a/bindplane-otel-collector/bindplane-otel-collector/internal/service/service_windows.go:104\ngolang.org/x/sys/windows/svc.serviceMain.func2\n\tC:/Users/runneradmin/go/pkg/mod/golang.org/x/sys@v0.37.0/windows/svc/service.go:234"}

log フォルダ配下の collector.log を確認し、再起動後に上記のようなエラーログが無いことを確認します。

collector.log の確認

ログに対するクエリ

Windows イベントログへのクエリ

Google SecOps の管理画面から [Investigation] > [SIEM Search] へ移動します。

SIEM Search へ移動

以下のプロンプトを入力し、[Generate Query] を選択します。これにより、AI(Gemini モデル)が、自然言語からログ検索クエリを生成します。

Windows のイベントログが見たい

Generate Query の実行

クエリが生成されたことを確認し、[Run Search] を選択します。

Run Search の実行

対象のログが表示されることを確認します。

ログ確認

Google SecOps では、さまざまなログを Unified Data Model(以下、UDM)という共通スキーマに正規化します。UDM 化されたログと、元の生ログの両方を確認できます。

ログ確認(UDM 化)
ログ確認(生ログ)

国外からの Windows ログオン失敗イベントの抽出

[SIEM Search] で、以下のプロンプトを入力し、[Generate Query] を選択します。

Windows のログオン失敗イベントを対象に、ネットワーク経由の認証失敗を抽出し、国外からのアクセスに絞って、IP アドレス、国情報、発生時刻を表示してください。期間は過去24時間です。

Generate Query の実行

クエリが生成されたことを確認し、[Run Search] を選択します。

Run Search の実行

対象のログが表示されることを確認します。

ログ確認

三浦 健斗 (記事一覧)

クラウドソリューション部

2023年10月よりG-genにジョイン。元オンプレ中心のネットワークエンジニア。 ネットワーク・セキュリティ・唐揚げ・辛いものが好き。

Google Cloud Partner All Certification Holders 2025 / Google Cloud Partner Top Engineer 2026