Vectra Detect のログを収集する

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

このドキュメントでは、Bindplane を使用して Vectra Detect ログを Google Security Operations に取り込む方法について説明します。パーサーは、SYSLOG、JSON、CEF 形式のログを統合データモデル(UDM)に変換します。まず、不要な文字とフィールドを削除してデータを正規化します。次に、grok パターンを使用してさまざまなログ形式から情報を抽出し、最後に抽出したフィールドを対応する UDM 属性にマッピングします。

始める前に

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

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行している場合は、BindPlane エージェントの要件に従ってファイアウォール ポートが開いていることを確認する
  • Vectra UI への特権アクセス

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。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
    

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
    

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

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

  1. 構成ファイルにアクセスします。

    1. config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    2. テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'VECTRA_DETECT'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
    • <CUSTOMER_ID> は、実際の顧客 ID に置き換えます。
    • /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

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

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

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog を送信するように Vectra Detect を構成する

  1. Vectra Detect UI にログインします。
  2. [Settings] > [Notification] に移動します。
  3. [Syslog] セクションに移動します。
  4. [編集] をクリックして、Syslog 構成を追加または編集します。
    • 宛先: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号を入力します。
    • プロトコル: 実際の Bindplane エージェントの構成に基づいて、[UDP] または [TCP] を選択します。
    • 形式: [JSON] を選択します。
    • ログタイプ: Google SecOps に送信するログを選択します。
    • [Include Enhanced Details] チェックボックスをオンにします。
  5. 右側には、追加の構成用の 3 つの切り替えボタンが表示されます。
    • トリアージされた検出を含める: オフにすると、トリアージされた検出が作成または更新されたときに syslog メッセージが送信されなくなります。
    • [情報カテゴリの検出を含める]: オフにすると、情報カテゴリの検出が作成または更新されたときに syslog メッセージが送信されなくなります。
    • ホスト / アカウントのスコアの減少を含める: オフにすると、脅威スコアと確実性スコアの両方が減少している場合や、両方が同じ値のままの場合に、syslog メッセージが送信されなくなります。
  6. [保存] をクリックします。
  7. [テスト] をクリックして構成をテストします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
アクション read_only_udm.security_result.action 監査イベントで [result] が「true」または「failure」の場合、「action」フィールドから取得された値。
category read_only_udm.security_result.category_details 「category」フィールドから取得された値。
確実性 read_only_udm.security_result.confidence [certainty] が 0 ~ 35 の場合は、「LOW_CONFIDENCE」に設定します。[確実性] が 35 ~ 70 の場合は、「MEDIUM_CONFIDENCE」に設定します。[certainty] が 70 ~ 100 の場合は、「HIGH_CONFIDENCE」に設定します。
dd_bytes_rcvd read_only_udm.network.received_bytes 「dd_bytes_rcvd」フィールドから取得された値。
dd_bytes_sent read_only_udm.network.sent_bytes 「dd_bytes_sent」フィールドから取得された値。
dd_dst_dns read_only_udm.target.hostname 「dd_dst_dns」フィールドから取得された値。
dd_dst_dns read_only_udm.target.asset.hostname 「dd_dst_dns」フィールドから取得された値。
dd_dst_ip read_only_udm.target.asset.ip 「dd_dst_ip」フィールドから取得された値。
dd_dst_ip read_only_udm.target.ip 「dd_dst_ip」フィールドから取得された値。
dd_dst_port read_only_udm.target.port 「dd_dst_port」フィールドから取得された値。
detection_id read_only_udm.metadata.product_log_id 「detection_id」フィールドから取得された値。
detection_profile.name read_only_udm.security_result.detection_fields キーは「detection_profile name」で、値は「detection_profile.name」フィールドから取得されます。
detection_profile.scoringDetections read_only_udm.security_result.detection_fields キーは「detectionprofile scoringDetections{index}」です。値は「detection_profile.scoringDetections」配列の各要素から取得されます。
detection_profile.vname read_only_udm.security_result.detection_fields キーは「detection_profile vname」で、値は「detection_profile.vname」フィールドから取得されます。
dest_ip read_only_udm.target.asset.ip キャンペーン イベントの「dest_ip」フィールドから取得された値。
dest_ip read_only_udm.target.ip キャンペーン イベントの「dest_ip」フィールドから取得された値。
dest_name read_only_udm.target.asset.hostname キャンペーン イベントの「dest_name」フィールドから取得された値。
dest_name read_only_udm.target.hostname キャンペーン イベントの「dest_name」フィールドから取得された値。
d_type read_only_udm.additional.fields キーは「d_type」、値は「d_type」フィールドから取得されます。
d_type_vname read_only_udm.additional.fields キーは「d_type_vname」、値は「d_type_vname」フィールドから取得されます。
dvchost read_only_udm.observer.hostname 「dvchost」フィールドから取得された値。
dvchost read_only_udm.principal.asset.hostname HOST イベントで [host_name] が空の場合、「dvchost」フィールドから取得された値。
dvchost read_only_udm.principal.hostname HOST イベントで [host_name] が空の場合、「dvchost」フィールドから取得された値。
headend_addr read_only_udm.observer.ip 「headend_addr」フィールドから取得された値。
headend_addr read_only_udm.principal.asset.ip 検出イベントで [host_ip] が空の場合、「headend_addr」フィールドから取得された値。
headend_addr read_only_udm.principal.ip 検出イベントで [host_ip] が空の場合、「headend_addr」フィールドから取得された値。
href read_only_udm.target.url 「href」フィールドから取得された値。
host_id read_only_udm.target.asset_id HOST イベントでは、値は「VectraAI.DETECT:{host_id}」です。
host_ip read_only_udm.principal.asset.ip HOST イベントと検出イベントの「host_ip」フィールドから取得された値。
host_ip read_only_udm.principal.ip HOST イベントと検出イベントの「host_ip」フィールドから取得された値。
host_name read_only_udm.principal.asset.hostname 「host_name」フィールドから取得された値。
host_name read_only_udm.principal.hostname 「host_name」フィールドから取得された値。
msg_data read_only_udm.security_result.summary 監査イベントとヘルスイベントの「msg_data」フィールドから取得された値。
quadrant read_only_udm.security_result.priority_details 「quadrant」フィールドから取得された値。
結果 read_only_udm.security_result.action [result] が「true」の場合は、「ALLOW」に設定します。[result] が「failure」の場合、監査イベントで「BLOCK」に設定します。
結果 read_only_udm.security_result.detection_fields キーは「result」で、値は監査イベントとヘルスイベントの「result」フィールドから取得されます。
ロール read_only_udm.target.user.attribute.roles.name 監査イベントの「role」フィールドから取得された値。
重要度 read_only_udm.security_result.severity [threat] が 0 ~ 20 の場合は、「INFORMATIONAL」に設定します。[threat] が 20 ~ 40 の場合は、「LOW」に設定します。[threat] が 40 ~ 60 の場合は、「MEDIUM」に設定します。[threat] が 60 ~ 80 の場合は、「HIGH」に設定します。[脅威] が 80 ~ 100 の場合は、「CRITICAL」に設定します。
重要度 read_only_udm.security_result.severity_details 「severity」フィールドから取得された値。
source_ip read_only_udm.principal.asset.ip 監査イベントとヘルスイベントの「source_ip」フィールドから取得された値。
source_ip read_only_udm.principal.ip 監査イベントとヘルスイベントの「source_ip」フィールドから取得された値。
src read_only_udm.principal.asset.ip CEF イベントの「src」フィールドから取得された値。
src read_only_udm.principal.ip CEF イベントの「src」フィールドから取得された値。
src_ip read_only_udm.principal.asset.ip キャンペーン イベントの「src_ip」フィールドから取得された値。
src_ip read_only_udm.principal.ip キャンペーン イベントの「src_ip」フィールドから取得された値。
src_name read_only_udm.principal.asset.hostname [host_name] と [dvchost] が空の場合、「src_name」フィールドから値が取得されます。
src_name read_only_udm.principal.hostname [host_name] と [dvchost] が空の場合、「src_name」フィールドから値が取得されます。
脅威 read_only_udm.security_result.severity [threat] が 0 ~ 20 の場合は、「INFORMATIONAL」に設定します。[threat] が 20 ~ 40 の場合は、「LOW」に設定します。[threat] が 40 ~ 60 の場合は、「MEDIUM」に設定します。[threat] が 60 ~ 80 の場合は、「HIGH」に設定します。[脅威] が 80 ~ 100 の場合は、「CRITICAL」に設定します。
トリアージ済み read_only_udm.additional.fields キーは「triaged」、値は「triaged」フィールドから取得されます。
type read_only_udm.metadata.product_event_type ヘルスイベントの「type」フィールドから取得された値。
ユーザー read_only_udm.target.user.userid 監査イベントの「user」フィールドから取得された値。
vectra_timestamp read_only_udm.metadata.event_timestamp 「vectra_timestamp」フィールドから取得された値。
version read_only_udm.metadata.product_version 「version」フィールドから取得された値。
read_only_udm.metadata.event_type 監査イベントで [msg_data] に「log in」が含まれており、[user] が空でない場合は、「USER_LOGIN」に設定されます。
read_only_udm.metadata.event_type HOST イベントでは「SCAN_HOST」に設定されます。
read_only_udm.metadata.event_type 検出イベントで [host_ip] が空でなく、[principal_present] が true で、[target_present] が true の場合は、「NETWORK_HTTP」に設定します。
read_only_udm.metadata.event_type 検出イベントで [principal_present] が true の場合は「STATUS_UPDATE」に設定します。
read_only_udm.metadata.event_type 検出イベントで [principal_present] が true で、[target_present] が true の場合、「NETWORK_CONNECTION」に設定されます。
read_only_udm.metadata.event_type [event_type] が「GENERIC_EVENT」、[principal_present] が true、[target_present] が true の場合、「NETWORK_CONNECTION」に設定します。
read_only_udm.metadata.event_type [event_type] が「GENERIC_EVENT」で、[principal_present] が true の場合は、「STATUS_UPDATE」に設定します。
read_only_udm.metadata.log_type 「VECTRA_DETECT」に設定します。
read_only_udm.metadata.vendor_name 「Vectra.AI」に設定します。
read_only_udm.metadata.product_name 「DETECT」に設定します。
read_only_udm.network.application_protocol [dd_dst_port] が 80 の場合は「HTTP」に設定します。
read_only_udm.network.application_protocol [dd_dst_port] が 443 の場合は「HTTPS」に設定します。
read_only_udm.network.application_protocol 検出イベントで [principal_present] が true で [target_present] が true の場合は、「UNKNOWN_APPLICATION_PROTOCOL」に設定します。
read_only_udm.network.http.method 「METHOD_OTHER」に設定します。
read_only_udm.extensions.auth.type 監査イベントの [msg_data] に「log in」が含まれている場合は、「AUTHTYPE_UNSPECIFIED」に設定されます。
is_alert [triaged] が true の場合は「true」に設定します。

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