FireEye HX のログを収集する

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

このドキュメントでは、Bindplane を使用して FireEye Endpoint Security(HX)ログを Google Security Operations に収集する方法について説明します。パーサーは、入力メッセージを JSON として処理しようとします。メッセージが JSON 形式でない場合は、grok パターンを使用してフィールドを抽出し、抽出されたイベントタイプとその他の条件に基づいて条件付き UDM マッピングを実行します。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
  • FireEye Endpoint Security への特権アクセス権があることを確認します。

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. 構成ファイルにアクセスします。

    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: '/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: 'FIREEYE_HX'
                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 エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

UI を使用して FireEye HX Event Streamer syslog を構成する

  1. FireEye HX 管理コンソールにログインします。
  2. イベント ストリーマーに移動します。
  3. [ホストで Event Streamer を有効にする] を選択します。
  4. ポリシーの変更を保存します。
  5. [Destinations] > [Server settings] > [Add syslog destination] に移動します。
  6. 次の構成の詳細を指定します。
    • 名前: Google SecOps ログコレクタにラベルを付ける一意の名前を入力します。
    • IP アドレス: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号を入力します。
  7. 変更を保存して適用します。

CLI を使用して FireEye HX Event Streamer syslog を構成する

  1. コマンドライン インターフェース(CLI)を使用して FireEye HX アプライアンスにログインします。
  2. 次のコマンドを実行して、構成モードを有効にします。

    enable
    configure terminal
    
  3. 次のコマンドを実行して、リモート syslog サーバーの宛先を追加します。

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • 次のように置き換えます。
      • BINDPLANE_IP_ADDRESS: Google SecOps フォワーダーの IP アドレス
      • PORT_NUMBER: ポート番号
  4. 次のコマンドを実行して、構成の詳細を保存します。

    write mem
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
alert.agent._id principal.asset.asset_id 未加工ログのエージェント ID。接頭辞は AGENT ID: です。
alert.agent.url principal.labels.value 未加工ログのエージェント URL。
alert.condition._id additional.fields.value.string_value 未加工のログの条件 ID(= 文字が削除されています)。
alert.condition.url additional.fields.value.string_value 未加工のログの条件 URL(= 文字が削除されています)。
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name FireEye レポートのマルウェア ファミリー。生ログのデコレーター フィールドにあります。
alert.decorators[].data.fireeye_report.risk_summary security_result.description 未加工のログのデコレータ フィールドにある FireEye レポートのリスクの概要。
alert.decorators[].data.fireeye_verdict security_result.severity_details 未加工ログのデコレータ フィールドの FireEye の判定。
alert.event_at read_only_udm.metadata.event_timestamp 未加工ログのイベント タイムスタンプ。
alert.event_id read_only_udm.metadata.product_log_id 未加工ログのイベント ID。
alert.event_type read_only_udm.metadata.product_event_type 未加工ログのイベントタイプ。
alert.event_values.fileWriteEvent/fullPath target.file.full_path 未加工ログから書き込まれたファイルのフルパス。
alert.event_values.fileWriteEvent/md5 target.file.md5 未加工のログから書き込まれたファイルの MD5 ハッシュ。
alert.event_values.fileWriteEvent/pid principal.process.pid 未加工のログからファイルを書き込んだプロセス ID。
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path 未加工ログからファイルを書き込んだプロセスのパス。OS が Windows の場合、alert.event_values.fileWriteEvent/process と組み合わせて完全なパスを作成します。
alert.event_values.fileWriteEvent/size target.file.size 未加工ログから書き込まれたファイルのサイズ。
alert.event_values.fileWriteEvent/username principal.user.userid 未加工ログからファイルを書き込んだユーザー。
alert.event_values.ipv4NetworkEvent/localIP principal.ip 未加工ログのローカル IP アドレス。
alert.event_values.ipv4NetworkEvent/localPort principal.port 未加工ログのローカルポート。
alert.event_values.ipv4NetworkEvent/pid principal.process.pid 未加工ログのプロセス ID。
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path 未加工ログのプロセス名。OS が Windows の場合、alert.event_values.ipv4NetworkEvent/processPath と組み合わせてフルパスを作成します。
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path 未加工ログのプロセスパス。OS が Windows の場合、alert.event_values.ipv4NetworkEvent/process と組み合わせて完全なパスを作成します。
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol 未加工ログのネットワーク プロトコル。
alert.event_values.ipv4NetworkEvent/remoteIP target.ip 未加工ログのリモート IP アドレス。
alert.event_values.ipv4NetworkEvent/remotePort target.port 未加工ログのリモートポート。
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp 未加工ログのイベント タイムスタンプ。
alert.event_values.ipv4NetworkEvent/username principal.user.userid 未加工ログのユーザー。
alert.event_values.processEvent/md5 target.process.file.md5 未加工ログのプロセスの MD5 ハッシュ。
alert.event_values.processEvent/parentPid principal.process.pid 未加工ログの親プロセス ID。
alert.event_values.processEvent/parentProcess principal.process.file.full_path 未加工のログの親プロセス名。
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path 未加工ログの親プロセスパス。
alert.event_values.processEvent/pid target.process.pid 未加工ログのプロセス ID。
alert.event_values.processEvent/process target.process.file.full_path 未加工ログのプロセス名。
alert.event_values.processEvent/processCmdLine target.process.command_line 未加工ログのプロセス コマンドライン。
alert.event_values.processEvent/processPath target.process.file.full_path 未加工ログのプロセスパス。
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp 未加工ログのイベント タイムスタンプ。
alert.event_values.processEvent/username principal.user.userid 未加工ログのユーザー。
alert.event_values.urlMonitorEvent/hostname target.hostname 未加工ログのホスト名。
alert.event_values.urlMonitorEvent/localPort principal.port 未加工ログのローカルポート。
alert.event_values.urlMonitorEvent/pid principal.process.pid 未加工ログのプロセス ID。
alert.event_values.urlMonitorEvent/process principal.process.file.full_path 未加工ログのプロセス名。OS が Windows の場合、alert.event_values.urlMonitorEvent/processPath と組み合わせて完全なパスを作成します。
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path 未加工ログのプロセスパス。OS が Windows の場合、alert.event_values.urlMonitorEvent/process と組み合わせて完全なパスを作成します。
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip 未加工ログのリモート IP アドレス。
alert.event_values.urlMonitorEvent/remotePort target.port 未加工ログのリモートポート。
alert.event_values.urlMonitorEvent/requestUrl target.url 未加工ログからリクエストされた URL。
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp 未加工ログのイベント タイムスタンプ。
alert.event_values.urlMonitorEvent/urlMethod network.http.method 未加工ログの HTTP メソッド。
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent 未加工ログのユーザー エージェント。
alert.event_values.urlMonitorEvent/username principal.user.userid 未加工ログのユーザー。
alert.indicator._id security_result.about.labels.value 未加工ログのインジケーター ID。
alert.indicator.name read_only_udm.security_result.summary 未加工のログの指標名。
alert.indicator.url security_result.about.labels.value 未加工ログのインジケータ URL。
alert.multiple_match read_only_udm.metadata.description 未加工ログの複数一致メッセージ。
alert.source additional.fields.value.string_value 未加工ログから取得したアラートのソース。
authmethod extensions.auth.mechanism 未加工ログの認証方法。値が local または LOCAL の場合は LOCAL に設定し、それ以外の場合は MECHANISM_OTHER に設定します。
authsubmethod extensions.auth.auth_details 未加工ログの認証サブメソッド(大文字に変換)。
クライアント principal.ip 未加工ログのクライアント IP アドレス。
conditions.data.tests[].token security_result.detection_fields.key 未加工ログの条件テストからのトークン。
conditions.data.tests[].value security_result.detection_fields.value 未加工ログの条件テストの値。
説明 read_only_udm.metadata.description 未加工ログの説明。
host.agent_version read_only_udm.metadata.product_version 未加工ログのエージェント バージョン。
host.containment_state read_only_udm.principal.containment_state 未加工ログの封じ込め状態。
host.domain read_only_udm.principal.administrative_domain 未加工ログのドメイン。
host.hostname read_only_udm.principal.hostname 未加工ログのホスト名。
host.os.platform read_only_udm.principal.platform 未加工ログのオペレーティング システム プラットフォーム。
host.os.product_name read_only_udm.principal.platform_version 未加工ログのオペレーティング システムのプロダクト名。
host.primary_ip_address read_only_udm.principal.ip 未加工ログのプライマリ IP アドレス。
host.primary_mac read_only_udm.principal.mac 未加工ログのプライマリ MAC アドレス。- 文字は : に置き換えられます。
host_ principal.hostname 未加工ログのホスト名。
host_details.data.agent_version read_only_udm.metadata.product_version 未加工ログのエージェント バージョン。
host_details.data.containment_state read_only_udm.security_result.severity_details 未加工ログの封じ込め状態。
host_details.data.domain read_only_udm.principal.administrative_domain 未加工ログのドメイン。
host_details.data.hostname read_only_udm.principal.hostname 未加工ログのホスト名。
host_details.data.os.platform read_only_udm.principal.platform 未加工ログのオペレーティング システム プラットフォーム。
host_details.data.os.product_name read_only_udm.principal.platform_version 未加工ログのオペレーティング システムのプロダクト名。
host_details.data.primary_ip_address read_only_udm.principal.ip 未加工ログのプライマリ IP アドレス。
host_details.data.primary_mac read_only_udm.principal.mac 未加工ログのプライマリ MAC アドレス。- 文字は : に置き換えられます。
indicators.data.description read_only_udm.metadata.description 未加工ログのインジケーターの説明。
target.application 未加工ログの行。
localusername target.user.user_display_name 未加工のログのローカル ユーザー名。
principal_ip principal.ip 未加工ログのプリンシパル IP アドレス。
プロセス read_only_udm.principal.application 未加工ログのプロセス名。
process_id read_only_udm.principal.process.pid 未加工ログのプロセス ID。
referrer network.http.referral_url 未加工ログの参照 URL。
remoteaddress principal.ip 未加工ログのリモート アドレス。
リクエスト additional.fields.value.string_value 未加工ログのリクエスト。
ロール target.user.role_name 未加工ログのロール。
サーバー target.resource.attribute.labels.value 未加工ログのサーバー。
sessionID network.session_id 未加工ログのセッション ID。
重要度 security_result.severity 未加工ログの重大度に基づいて、LOWMEDIUMHIGH のいずれかに設定します。
target_host read_only_udm.target.hostname 未加工ログのターゲット ホスト名。
target_ip target.ip 未加工ログのターゲット IP アドレス。
target_ip1 target.ip 未加工ログのターゲット IPv6 アドレス。
timestamp timestamp 未加工ログのタイムスタンプ。
アップストリーム target.url 未加工ログのアップストリーム URL。
ユーザー名 target.user.userid 未加工ログのユーザー名。

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