ESET AV ログを収集する

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

このドキュメントでは、Bindplane を使用して ESET AV ログを Google Security Operations に取り込む方法について説明します。Logstash パーサーコードは、SYSLOG または JSON 形式の ESET_AV ログからセキュリティ イベントデータを抽出します。まず、未加工のメッセージを正規化し、特定された形式に基づいて解析します。抽出されたフィールドを対応する Unified Data Model(UDM)スキーマにマッピングして、一貫した表現と分析を実現します。

始める前に

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

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
  • ESET Protect への特権アクセス

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

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

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

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. 構成ファイルにアクセスします。
    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(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
            ingestion_labels:
                log_type: 'ESET_AV'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際の顧客 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

ESET PROTECT オンプレミス用に Syslog を構成する

  1. ESET Protect Web コンソールにログインします。
  2. [その他> 設定> 詳細設定> Syslog サーバー] に移動します。
  3. [Syslog を有効にする] の横にある切り替えを選択します。
  4. 次の構成の詳細を指定します。
    • ホスト: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号を入力します(UDP の場合は 514)。
    • 形式: [Syslog] を選択します。
    • トランスポート: [UDP] を選択します。
    • トレースログの詳細度: [Informational] を選択します。
    • Syslog にログをエクスポートする切り替え: [有効にする] を選択します。
    • エクスポートされたログの形式: [JSON] を選択します。
  5. [保存] をクリックします。

ESET PROTECT Cloud の Syslog を構成する

  1. ESET Protect Web コンソールにログインします。
  2. [その他> 設定> Syslog サーバー] に移動します。
  3. [Syslog を有効にする] の横にある切り替えを選択します。
  4. 次の構成の詳細を指定します。
    • ペイロードの形式: [JSON] を選択します。
    • エンベロープの形式: [Syslog] を選択します。
    • 最小ログレベル: [Informational] を選択します。
    • [ログに記録するイベントタイプ]: [すべての] イベントタイプを選択します。
    • 宛先 IP: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号を入力します(UDP の場合は 514)。
  5. [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
アカウント principal.administrative_domain Grok パターン %{DATA:admin_domain}\\\\%{WORD:user_id} を使用して account フィールドから抽出されます。
アカウント principal.user.userid Grok パターン %{DATA:admin_domain}\\\\%{WORD:user_id} を使用して account フィールドから抽出されます。
アクション security_result.action actionBlock(大文字と小文字を区別しない)の場合は、BLOCK に設定します。actionStart(大文字と小文字を区別しない)の場合は、ALLOW に設定します。
action_taken security_result.action_details action_taken フィールドから直接マッピングされます。
computer_severity_score security_result.detection_fields キー computer_severity_scorecomputer_severity_score フィールドの値で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
詳細 security_result.description detail フィールドから直接マッピングされます。
ドメイン principal.domain.name domain フィールドから直接マッピングされます。
eialarmid security_result.detection_fields キー eialarmideialarmid フィールドの値で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
eiconsolelink principal.url eiconsolelink フィールドから直接マッピングされます。
イベント metadata.description event から event_desc に名前が変更され、metadata.description にマッピングされます。
event_type metadata.product_event_type event_type フィールドから直接マッピングされます。
group_name principal.group.group_display_name group_name フィールドから直接マッピングされます。
ハッシュ principal.file.sha1 小文字に変換されます。小文字の値が SHA-1 正規表現と一致する場合、principal.file.sha1 にマッピングされます。
ハッシュ principal.resource.attribute.labels キー hashhash フィールドの値で Key-Value ペアが作成されます。このペアは principal.resource.attribute.labels 配列に追加されます。
hostname principal.asset.hostname hostname フィールドから直接マッピングされます。
hostname principal.hostname hostname フィールドから直接マッピングされます。
インバウンド network.direction true の場合は、INBOUND に設定します。false の場合は、OUTBOUND に設定します。
ipv4 target.asset.ip target_address が空の場合、ipv4 フィールドから直接マッピングされます。
ipv4 target.ip target_address が空の場合、ipv4 フィールドから直接マッピングされます。
json_data JSON として解析され、さまざまなフィールドが抽出されます。
メッセージ grok を使用して解析し、タイムスタンプ、ホスト、json_data を抽出します。
need_restart additional.fields キー need_restartneed_restart フィールドの値(文字列に変換)で Key-Value ペアが作成されます。このペアは additional.fields 配列に追加されます。
os_name principal.platform Window または window(大文字と小文字を区別しない)が含まれている場合は、WINDOWS に設定します。Linux または linux(大文字と小文字を区別しない)が含まれている場合は、LINUX に設定します。Mac または mac(大文字と小文字を区別しない)が含まれている場合は、MAC に設定します。
os_name principal.platform_version os_name フィールドから直接マッピングされます。
process_name principal.process.file.full_path process_name フィールドから直接マッピングされます。空の場合、processname の値が使用されます。
processname principal.process.file.full_path process_name が空の場合、process_name にマッピングされます。
プロトコル network.ip_protocol 大文字に変換されました。大文字の値が既知のプロトコル(TCP、UDP、ICMP など)と一致する場合、network.ip_protocol にマッピングされます。
結果 security_result.summary result フィールドから直接マッピングされます。
rulename security_result.rule_name rulename フィールドから直接マッピングされます。
scan_id security_result.detection_fields キー scan_idscan_id フィールドの値で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
scanner_id security_result.detection_fields キー scanner_idscanner_id フィールドの値で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
重要度 security_result.severity Warn または warn(大文字と小文字を区別しない)が含まれている場合は、HIGH に設定します。Info または info(大文字と小文字を区別しない)が含まれている場合は、LOW に設定します。
severity_score security_result.detection_fields キー severity_scoreseverity_score フィールドの値で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
source_address principal.asset.ip source_address フィールドから直接マッピングされます。
source_address principal.ip source_address フィールドから直接マッピングされます。
source_port principal.port 文字列に変換されてから整数に変換されます。principal.port にマッピングされます。
source_uuid metadata.product_log_id source_uuid フィールドから直接マッピングされます。
ターゲット 名前が target1 に変わりました。
target_address target.asset.ip target_address フィールドから直接マッピングされます。
target_address target.ip target_address フィールドから直接マッピングされます。
target_port target.port 文字列に変換されてから整数に変換されます。target.port にマッピングされます。
threat_handled security_result.detection_fields キー threat_handledthreat_handled フィールドの値(文字列に変換)で Key-Value ペアが作成されます。このペアは security_result.detection_fields 配列に追加されます。
threat_name security_result.threat_name threat_name フィールドから直接マッピングされます。
threat_type security_result.threat_id threat_type フィールドから直接マッピングされます。
時間 metadata.event_timestamp metadata.event_timestamp の設定に使用されます。
ユーザー名 principal.user.userid user_iduser が空の場合、username フィールドから直接マッピングされます。
ユーザー principal.user.userid user_id が空の場合、user フィールドから直接マッピングされます。
metadata.event_type source_addresstarget_address が空でない場合は、NETWORK_CONNECTION に設定します。それ以外の場合、has_user が true の場合は USER_UNCATEGORIZED に設定します。それ以外の場合、has_principal が true の場合は STATUS_UPDATE に設定します。それ以外の場合は GENERIC_EVENT に設定します。
metadata.log_type ESET_AV に設定します。
metadata.product_name ESET_AV に設定します。
metadata.vendor_name ESET_AV に設定します。
intermediary.hostname このフィールドの値は、ログメッセージから抽出された host フィールドから取得されます。
principal.user.userid フィールド account が空でない場合、パーサーは grok パターンを使用して account フィールドからユーザー ID を抽出します。それ以外の場合は、フィールド user が空でないかどうかを確認し、空でない場合はその値を取得します。accountuser の両方が空の場合、フィールド username が空でないかどうかを確認し、空でない場合はその値を取得します。

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