CrowdStrike Falcon Stream のログを収集する

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

このドキュメントでは、Bindplane を使用して CrowdStrike Falcon Stream ログを収集する方法について説明します。パーサーは Key-Value ペアを抽出し、統合データモデル(UDM)にマッピングします。さまざまな区切り文字を処理し、重大度やイベントタイプなどの追加コンテキストでデータを拡充します。また、ユーザーのログインやセキュリティの結果など、特定のイベントタイプとフィールドに対して特定の変換も行います。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用する Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
  • CrowdStrike Falcon コンソールへの特権アクセス権があることを確認します。
  • Falcon Stream の API 認証情報(クライアント ID とクライアント シークレット)を取得します。

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:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    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: SYSLOG
                namespace: cs_stream
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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
    

CrowdStrike API キーを構成して取得する

  1. 特権アカウントを使用して CrowdStrike Falcon にログインします。
  2. メニュー > [サポート] に移動します。
  3. [API Clients] > [KeysSelect] をクリックします。
  4. [新しい API クライアントを追加] をクリックします。
  5. [API スコープ] セクションで [イベント ストリーム] を選択し、[読み取り] オプションを有効にします。
  6. [追加] をクリックします。
  7. クライアント ID、クライアント シークレット、ベース URL をコピーして保存します。

Falcon SIEM Connector をインストールする

  1. オペレーティング システム用の RPM インストーラ パッケージをダウンロードします。
  2. パッケージのインストール:

    • CentOS オペレーティング システム:

      sudo rpm -Uvh <installer package>
      
    • Ubuntu オペレーティング システム:

      sudo dpkg -i <installer package>
      
  3. デフォルトのインストール ディレクトリ:

    • Falcon SIEM Connector - /opt/crowdstrike/
    • サービス - /etc/init.d/cs.falconhoseclientd/

イベントを Bindplane に転送するように SIEM Connector を構成する

  1. SIEM Connector がインストールされているマシンに sudo ユーザーとしてログインします。
  2. /opt/crowdstrike/etc/ ディレクトリに移動します。
  3. cs.falconhoseclient.leef.cfgcs.falconhoseclient.cfg に名前を変更します。
    • SIEM Connector は、デフォルトで cs.falconhoseclient.cfg 構成を使用します。
  4. cs.falconhoseclient.cfg ファイルを編集して、次のパラメータを変更または設定します。
    • api_url: - 前の手順でコピーした CrowdStrike Falcon のベース URL。
    • app_id: - Falcon Streaming API への接続 ID として任意の文字列(app_id: SECOPS-LEEF に設定)。
    • client_id: - 前の手順からコピーした client_id 値。
    • client_secret: - 前の手順からコピーした client_secret 値。
    • send_to_syslog_server: true - Syslog サーバーにプッシュを有効にします。
    • host: - Bindplane エージェントの IP またはホスト名。
    • port: - Bindplane エージェントのポート。
  5. cs.falconhoseclient.cfg ファイルを保存します。
  6. SIEM Connector サービスを起動します。

    • CentOS オペレーティング システム:

      sudo service cs.falconhoseclientd start
      
    • Ubuntu 16.04 以降のオペレーティング システム:

      sudo systemctl start cs.falconhoseclientd.service
      
  7. 省略可: SIEM Connector サービスを停止します。

    • CentOS オペレーティング システム:

      sudo service cs.falconhoseclientd stop
      
    • Ubuntu 16.04 以降のオペレーティング システム:

      sudo systemctl stop cs.falconhoseclientd.service
      
  8. 省略可: SIEM Connector サービスを再起動します。

    • CentOS オペレーティング システム:

      sudo service cs.falconhoseclientd restart
      
    • Ubuntu 16.04 以降のオペレーティング システム:

      sudo systemctl restart cs.falconhoseclientd.service
      

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
cat security_result.category_details cat フィールドの値は、security_result.category_details フィールドに直接マッピングされます。
commandLine target.process.command_line commandLine フィールドの値は、target.process.command_line フィールドに直接マッピングされます。
cs1 security_result.summary cs1Label が「incidentType」の場合、cs1 の値は security_result.summary にマッピングされます。それ以外の場合、security_result.detection_fields の Key-Value ペアとしてマッピングされ、キーは cs1Label から、値は cs1 から取得されます。
cs1Label security_result.detection_fields.key cs1 がインシデント タイプでない場合、security_result.detection_fields のキーとして使用されます。
cs2 security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとしてマッピングされ、キーは cs2Label、値は cs2 です。
cs2Label security_result.detection_fields.key cs2 とともに security_result.detection_fields のキーとして使用されます。
cs3 security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとしてマッピングされ、キーは cs3Label、値は cs3 です。
cs3Label security_result.detection_fields.key cs3 とともに security_result.detection_fields のキーとして使用されます。
cs4 security_result.about.url cs4Label が「falconHostLink」の場合、cs4 の値は security_result.about.url にマッピングされます。それ以外の場合、security_result.detection_fields の Key-Value ペアとしてマッピングされ、キーは cs4Label から、値は cs4 から取得されます。
cs4Label security_result.detection_fields.key cs4 が falconHostLink でない場合、security_result.detection_fields のキーとして使用されます。
description metadata.description description フィールドの値は、metadata.description フィールドに直接マッピングされます。空の場合は、代わりに incidentDescriptionmsg、または serviceName が使用されます。
devTime metadata.event_timestamp devTime フィールドの値がパースされ、metadata.event_timestamp フィールドにマッピングされます。
deviceCustomDate1 metadata.event_timestamp devTime が存在しない場合、deviceCustomDate1 フィールドの値が解析され、metadata.event_timestamp フィールドにマッピングされます。
domain principal.administrative_domain 正規表現を使用して userName フィールドから抽出され、principal.administrative_domain にマッピングされます。
duser principal.user.userid 存在する場合、duser の値は usrName フィールドを上書きし、ユーザー フィールドの入力に使用されます。
endpointName security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとして、キー「endpointName」でマッピングされます。
eventType metadata.product_event_type eventType フィールドの値は、metadata.product_event_type フィールドに直接マッピングされます。
falconHostLink security_result.about.url falconHostLink フィールドの値は、security_result.about.url フィールドに直接マッピングされます。
filePath target.process.file.full_path filePath フィールドの値は、target.process.file.full_path フィールドに直接マッピングされます。
identityProtectionIncidentId security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとして、キー「identityProtectionIncidentId」でマッピングされます。
incidentDescription metadata.description description が空の場合、incidentDescription フィールドの値は metadata.description フィールドにマッピングされます。
incidentType security_result.summary incidentType フィールドの値は、security_result.summary フィールドに直接マッピングされます。
log_type metadata.log_type log_type フィールドの値は、metadata.log_type フィールドに直接マッピングされます。
msg metadata.description descriptionincidentDescription が空の場合、msg フィールドの値は metadata.description フィールドにマッピングされます。
numbersOfAlerts security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとして、キー「numbersOfAlerts」でマッピングされます。
numberOfCompromisedEntities security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとして、キー「numberOfCompromisedEntities」でマッピングされます。
product metadata.product_name product フィールドの値は、metadata.product_name フィールドに直接マッピングされます。
resource target.resource.name resource フィールドの値は、target.resource.name フィールドに直接マッピングされます。
serviceName target.application serviceName フィールドの値は、target.application フィールドに直接マッピングされます。metadata.description のフォールバックとしても使用されます。
severityName security_result.severity severityName フィールドの値は、大文字に変換された後、security_result.severity フィールドにマッピングされます。マッピング ロジックには、さまざまな重大度名の特定の変換が含まれています。
sha256 target.file.sha256 sha256 フィールドの値は、target.file.sha256 フィールドに直接マッピングされます。
src principal.ip src フィールドの値は、principal.ip フィールドに直接マッピングされます。
srcMAC principal.mac srcMAC フィールドの値は、ハイフンがコロンに置き換えられた後、principal.mac フィールドに直接マッピングされます。
state security_result.detection_fields.value security_result.detection_fields の Key-Value ペアとして「state」キーでマッピングされます。
success security_result.action success が「true」の場合、security_result.action は「ALLOW」に設定されます。success が「false」の場合、security_result.action は「BLOCK」に設定されます。
userName principal.user.userid usrName が存在しない場合、ユーザー フィールドの入力には userName フィールドの値が使用されます。ドメインが存在する場合は抽出されます。
usrName principal.user.userid / target.user.userid 存在する場合、usrName フィールドの値は eventType に応じて principal.user.userid または target.user.userid にマッピングされます。メールアドレスの場合は、それぞれの email_addresses フィールドにも追加されます。
vendor metadata.vendor_name vendor フィールドの値は、metadata.vendor_name フィールドに直接マッピングされます。
version metadata.product_version version フィールドの値は、metadata.product_version フィールドに直接マッピングされます。
(パーサー ロジック) extensions.auth.mechanism eventType が「saml2Assert」または「twoFactorAuthenticate」の場合は、「USERNAME_PASSWORD」に設定します。
(パーサー ロジック) extensions.auth.type eventType が「assert」または「userAuthenticate」の場合は、「AUTHTYPE_UNSPECIFIED」に設定します。
(パーサー ロジック) metadata.event_timestamp 未加工ログの collection_time フィールドまたは timestamp フィールドのタイムスタンプがイベント タイムスタンプとして使用されます。
(パーサー ロジック) metadata.event_type eventType フィールドと他のフィールドに基づいて決定されます。デフォルトは「GENERIC_EVENT」で、「USER_LOGIN」、「GROUP_MODIFICATION」、「GROUP_DELETION」、「SERVICE_STOP」、「SERVICE_START」、「USER_UNCATEGORIZED」に変更できます。
(パーサー ロジック) target.resource.type eventType が「remove_group」、「update_group」、「delete_group」の場合は「GROUP」に設定します。

変更点

2025-01-10

機能強化:

  • 「OperationBlocked」が「true」の場合に、「security_result.action」を「BLOCK」にマッピングしました。
  • 「OperationBlocked」が「false」の場合に、「security_result.action」を「ALLOW」にマッピングしました。
  • 「event_type」が「IdentityProtectionEvent」の場合、「event_data.IncidentDescription」を「security_result.summary」にマッピングしました。
  • 「event_type」が「IdentityProtectionEvent」の場合、「event_data.SeverityName」を「security_result.severity」にマッピングしました。

2025-01-09

機能強化:

  • 「event_data.Technique」を「security_result.rule_name」にマッピングしました。
  • 「event_data.CommandLine」を「target.process.command_line」にマッピングしました。
  • 「event_data.IOCType」が「ipv4」の場合、「event_data.IOCValue」を「target.ip」と「target.asset.ip」にマッピングしました。
  • 「event_data.IOCType」が「hash_sha256」の場合、「event_data.IOCValue」を「target.file.sha256」にマッピングしました。

2024-12-12

機能強化:

  • 「event.SeverityName」を「security_result.severity」にマッピングしました。
  • 「event.Description」を「security_result.summary」にマッピングしました。
  • 「event.PatternDispositionFlags.OperationBlocked」に基づいて「security_result.action」をマッピングしました。

2024-10-29

機能強化:

  • JSON 形式のログのサポートを追加しました。
  • 「request」を「network.http.referral_url」にマッピングしました。
  • 「networkDetectionType」を「security_result.detection_fields」にマッピングしました。

2022-07-18

機能強化:

  • LEEF 形式のログの次のマッピングを追加しました。
  • フィールド「version」が「metadata.product_version」にマッピングされました。
  • フィールド「usrName」と「userName」を、メールの場合は「principal.user.email_addresses」に、それ以外の場合は「principal.user.userid」にマッピングしました。
  • フィールド「severityName」が「security_result.severity」にマッピングされました。
  • フィールド「cat」を「security_result.category_details」にマッピングしました。
  • フィールド「incidentType」を「security_result.summary」にマッピングしました。
  • フィールド「falconHostLink」を「security_result.about.url」にマッピングしました。
  • フィールド「numberOfCompromisedEntities」を「security_result.detection_fields[n]」にマッピングしました。
  • フィールド「identityProtectionIncidentId」を「security_result.detection_fields[n]」にマッピングしました。
  • フィールド「numbersOfAlerts」を「security_result.detection_fields[n]」にマッピングしました。
  • フィールド「state」を「security_result.detection_fields[n]」にマッピングしました。
  • CEF 形式のログの次のマッピングを追加しました。
  • フィールド「version」が「metadata.product_version」にマッピングされました。
  • フィールド「deviceCustomDate1」を「metadata.event_type」にマッピングしました。
  • フィールド「msg」を「metadata.description」にマッピングしました。
  • フィールド「cs1」は、「cs1Label」の値が「incidentType」の場合、「security_result.summary」にマッピングされ、それ以外の場合は「security_result.detection_fields[n]」にマッピングされます。
  • フィールド「cs2」は「security_result.detection_fields[n]」にマッピングされました。
  • フィールド「cs3」を「security_result.detection_fields[n]」にマッピングしました。
  • フィールド「cs1」は、「cs4Label」の値が「falconHostLink」の場合、「security_result.about.url」にマッピングされ、それ以外の場合は「security_result.detection_fields[n]」にマッピングされます。
  • フィールド「cn1」は「security_result.detection_fields[n]」にマッピングされました。
  • フィールド「cn2」は「security_result.detection_fields[n]」にマッピングされました。
  • フィールド「cn3」を「security_result.detection_fields[n]」にマッピングしました。
  • フィールド「duser」を、メールの場合は「principal.user.email_addresses」に、それ以外の場合は「principal.user.userid」にマッピングしました。

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