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 の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux では/etc/bindplane-agent/ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano、vi、メモ帳など)を使用してファイルを開きます。
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-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog を送信するように Vectra Detect を構成する
- Vectra Detect UI にログインします。
- [Settings] > [Notification] に移動します。
- [Syslog] セクションに移動します。
- [編集] をクリックして、Syslog 構成を追加または編集します。
- 宛先: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します。
- プロトコル: 実際の Bindplane エージェントの構成に基づいて、[UDP] または [TCP] を選択します。
- 形式: [JSON] を選択します。
- ログタイプ: Google SecOps に送信するログを選択します。
- [Include Enhanced Details] チェックボックスをオンにします。
- 右側には、追加の構成用の 3 つの切り替えボタンが表示されます。
- トリアージされた検出を含める: オフにすると、トリアージされた検出が作成または更新されたときに syslog メッセージが送信されなくなります。
- [情報カテゴリの検出を含める]: オフにすると、情報カテゴリの検出が作成または更新されたときに syslog メッセージが送信されなくなります。
- ホスト / アカウントのスコアの減少を含める: オフにすると、脅威スコアと確実性スコアの両方が減少している場合や、両方が同じ値のままの場合に、syslog メッセージが送信されなくなります。
- [保存] をクリックします。
- [テスト] をクリックして構成をテストします。
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 のプロフェッショナルから回答を得ることができます。