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. [セキュリティ情報およびイベント管理の設定] > [収集エージェント] に移動します。
  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 エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    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 コネクタ - /opt/crowdstrike/
    • サービス - /etc/init.d/cs.falconhoseclientd/

イベントを Bindplane に転送するように SIEM コネクタを構成する

  1. sudo ユーザーとして、SIEM コネクタがインストールされているマシンにログインします。
  2. /opt/crowdstrike/etc/ ディレクトリに移動します。
  3. cs.falconhoseclient.leef.cfg の名前を cs.falconhoseclient.cfg に変更します。
    • SIEM コネクタは、デフォルトで 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 のプロフェッショナルから回答を得ることができます。