Symantec VIP Enterprise Gateway のログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane エージェントを使用して Symantec VIP Enterprise Gateway ログを Google Security Operations に取り込む方法について説明します。

Symantec VIP(Validation and ID Protection)Enterprise Gateway は、認証イベント、認証情報の検証、LDAP 同期、ヘルスチェック アクティビティの syslog メッセージを生成する多要素認証ソリューションです。パーサーは、JSON 形式と syslog 形式のログからフィールドを抽出し、統合データモデル(UDM)にマッピングします。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • Bindplane エージェントと Symantec VIP Gateway 間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • Symantec VIP Gateway ウェブ UI への管理者権限

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新規デプロイ: Chronicle API を使用します(オプション 1)。
  • 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理] > [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に ingestion-auth.json として保存するか、config.yaml の creds_file_path を保存先のパスと一致するように更新します。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。これはエクスポータの構成に必要です。

オプション 2: 取り込み認証ファイルをダウンロードする(以前のバージョン)

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。
  4. Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows へのインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

    サービスが RUNNING と表示されます。

Linux のインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sudo systemctl status observiq-otel-collector
    

    サービスが active (running) と表示されます。

その他のインストール リソース

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを探します。

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/symantec_vip:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: SYMANTEC_VIP
        raw_log_field: body
    
    service:
      pipelines:
        logs/symantec_vip_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/symantec_vip
    

構成パラメータ

各プレースホルダを次のように置き換えます。

  • レシーバーの構成:

    • listen_address: リッスンする IP アドレスとポート。
      • 0.0.0.0: すべてのインターフェースでリッスンします(推奨)。
      • ポート 514 は標準の syslog ポートです(Linux では root が必要です。root 以外の場合は 1514 を使用します)。
  • エクスポータの構成:

    • creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • location: <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の先頭にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。

以前の取り込み API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(europe-malachiteingestion-pa.googleapis.com など)に置き換えます。

    exporters:
      chronicle/symantec_vip:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SYMANTEC_VIP
        raw_log_field: body
    

構成ファイルを保存する

  • 編集が完了したら、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
    • Windows の場合: [ファイル] > [保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

      sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R キーを押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Symantec VIP Enterprise Gateway で syslog を構成する

  1. Symantec VIP Gateway ウェブ UI にログインします。
  2. [Logs] > [Syslog Configuration] に移動します。
  3. Syslog を初めて構成する場合は、プロンプトが表示されたら [Yes] を選択します。すでに設定されている場合は、[編集] をクリックします。
  4. 次の構成情報を指定します。
    • Syslog Facility: [LOG_LOCAL0] を選択します。
    • Syslog ホスト: Bindplane エージェントの IP アドレスを入力します。
    • Syslog ポート: Bindplane エージェントのポート番号を入力します(例: UDP の場合は 514)。
  5. [保存] をクリックします。
  6. [設定] > [コンソール設定] に移動します。
  7. 次の構成情報を指定します。
    • Logging Level: [Info] を選択します。
    • Syslog を有効にする: [はい] を選択します。
  8. [送信] をクリックします。
  9. [設定] > [ヘルスチェックの設定] に移動します。
  10. [Yes] を選択して、ヘルスチェック サービスを有効にします。
  11. 次の構成情報を指定します。
    • Logging Level: [Info] を選択します。
    • Syslog を有効にする: [はい] を選択します。
  12. [送信] をクリックします。
  13. [User Store] > [LDAP Directory Synchronization] に移動します。
  14. 次の構成の詳細を編集します。
    • ログレベル: [Info] を選択します。
    • Syslog を有効にする: [はい] を選択します。
  15. [送信] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
アプリケーション read_only_udm.principal.application 値は、json フィルタによって抽出された application フィールドから取得されます。
コマンド read_only_udm.target.process.command_line 値は、Grok パターンによって抽出された command フィールドから取得されます。
credentialType このフィールドは UDM に直接マッピングされません。これは、read_only_udm.extensions.auth.mechanism の値を導出するために使用されます。
データ このフィールドは UDM に直接マッピングされません。他のフィールドを抽出するために解析されます。
data2 このフィールドは UDM に直接マッピングされません。他のフィールドを抽出するために解析されます。
datetime read_only_udm.metadata.event_timestamp.seconds
read_only_udm.metadata.event_timestamp.nanos
datetime フィールドから抽出されたエポックからの秒数とナノ秒数。
降順 read_only_udm.metadata.description 値は、json フィルタによって抽出された desc フィールドから取得されます。
説明 read_only_udm.security_result.description 値は、json フィルタによって抽出された description フィールドから取得されます。
filename read_only_udm.target.process.file.full_path 値は、Grok パターンによって抽出された filename フィールドから取得されます。
hostname read_only_udm.principal.hostname 値は、json フィルタによって抽出された hostname フィールドから取得されます。
host_name read_only_udm.intermediary.hostname 値は、json フィルタによって抽出された host_name フィールドから取得されます。
log_level このフィールドは UDM に直接マッピングされません。これは、read_only_udm.security_result.severity の値を導出するために使用されます。
log_type read_only_udm.metadata.product_event_type 値は、json フィルタによって抽出された log_type フィールドから取得されます。
msg このフィールドは UDM に直接マッピングされません。他のフィールドを抽出するために解析されます。
オペレーション read_only_udm.security_result.summary 値は、Grok パターンによって抽出された operation フィールドから取得されます。
processid read_only_udm.target.process.pid 値は、grok パターンによって抽出された processid フィールドから取得されます。
product read_only_udm.metadata.product_name 値は、json フィルタによって抽出された product フィールドから取得されます。
reason read_only_udm.metadata.description 値は、grok パターンによって抽出された reason フィールドから取得されます。
request_id read_only_udm.target.resource.id 値は、grok パターンによって抽出された request_id フィールドから取得されます。
src_ip read_only_udm.principal.ip 値は、Grok パターンによって抽出された src_ip フィールドから取得されます。
ステータス read_only_udm.metadata.description 値は、grok パターンによって抽出された status フィールドから取得されます。
概要 read_only_udm.security_result.summary 値は、json フィルタによって抽出された summary フィールドから取得されます。
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos 元のログのタイムスタンプからのナノ秒。
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds 元のログのタイムスタンプからの秒数。
時間 このフィールドは UDM に直接マッピングされません。これは、read_only_udm.metadata.event_timestamp.seconds と read_only_udm.metadata.event_timestamp.nanos の値を導出するために使用されます。
ユーザー read_only_udm.target.user.userid 値は、json フィルタまたは grok パターンによって抽出された user フィールドから取得されます。
vendor read_only_udm.metadata.vendor_name 値は、json フィルタによって抽出された vendor フィールドから取得されます。
read_only_udm.extensions.auth.mechanism credentialType フィールドによって決まります。credentialType が SMS_OTP または STANDARD_OTP の場合、OTP が使用されます。credentialType が正規表現 PASSWORD と一致する場合、USERNAME_PASSWORD が使用されます。
read_only_udm.extensions.auth.type reason フィールドが正規表現 LDAP と一致する場合、SSO が使用されます。それ以外の場合は、AUTHTYPE_UNSPECIFIED が使用されます。
read_only_udm.metadata.event_type 特定のフィールドの有無によって決まります。user または processid が空でない場合は、USER_LOGIN が使用されます。user が空で、src_ip が空でないか 0.0.0.0 の場合、STATUS_UPDATE が使用されます。それ以外の場合は、GENERIC_EVENT が使用されます。
read_only_udm.metadata.log_type SYMANTEC_VIP にハードコードされています。
read_only_udm.security_result.action status フィールドによって決定されます。status が Authentication Success、GRANTED、Authentication Completed、After Services Authenticate call、CHALLENGED のいずれかの場合、ALLOW が使用されます。status が DENIED、Acces-Reject、Unknown Error、Service Unavailable、FAILED のいずれかの場合、BLOCK が使用されます。status が PUSH request sent for user または Trying to fetch attribute の場合、QUARANTINE が使用されます。
read_only_udm.security_result.severity log_level フィールドによって決定されます。log_level が DEBUG、INFO、AUDIT のいずれかの場合、INFORMATIONAL が使用されます。log_level が ERROR の場合、ERROR が使用されます。log_level が WARNING の場合、MEDIUM が使用されます。

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。