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 または 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. 構成ファイルにアクセスします。
    • 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
            log_type: 'CS_STREAM'
            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 エージェントを再起動して変更を適用する

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

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

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

Falcon SIEM コネクタをインストールする

  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 コネクタを構成する

  1. SIEM コネクタがインストールされているマシンに 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 への接続の識別子としての任意の文字列(たとえば、app_id: SECOPS-LEEF に設定します)。
    • client_id: - 前のステップからコピーした client_id 値。
    • client_secret: - 前のステップからコピーした client_secret 値。
    • send_to_syslog_server: true - Syslog サーバーへのプッシュを有効にします。
    • host: - BindPlane Agent の IP またはホスト名。
    • port: - BindPlane Agent のポート。
  5. cs.falconhoseclient.cfg ファイルを保存します。
  6. SIEM コネクタ サービスを開始します。

    • CentOS オペレーティング システム
    sudo service cs.falconhoseclientd start
    
    • Ubuntu 16.04 以降のオペレーティング システム
    sudo systemctl start cs.falconhoseclientd.service
    
  7. (省略可)SIEM コネクタ サービスを停止します。

    • CentOS オペレーティング システム
    sudo service cs.falconhoseclientd stop
    
    • Ubuntu 16.04 以降のオペレーティング システム
    sudo systemctl stop cs.falconhoseclientd.service
    
  8. (省略可)SIEM コネクタ サービスを再起動します。

    • 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 フィールドに直接マッピングされます。空の場合は、代わりに incidentDescriptionmsgserviceName が使用されます。
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」に設定します。

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