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 の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。ファイルを、Bindplane をインストールするシステムに安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
Windows へのインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/Bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux へのインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/Bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルにアクセスします。
config.yaml
ファイルを見つけます。通常、Linux では/etc/Bindplane-agent/
ディレクトリ、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano
、vi
、メモ帳など)を使用してファイルを開きます。
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 キーを構成して取得する
- 特権アカウントを使用して CrowdStrike Falcon にログインします。
- メニュー > [サポート] に移動します。
- [API Clients] > [KeysSelect] をクリックします。
- [新しい API クライアントを追加] をクリックします。
- [API スコープ] セクションで [イベント ストリーム] を選択し、[読み取り] オプションを有効にします。
- [追加] をクリックします。
- クライアント ID、クライアント シークレット、ベース URL をコピーして保存します。
Falcon SIEM Connector をインストールする
- オペレーティング システム用の RPM インストーラ パッケージをダウンロードします。
パッケージのインストール:
CentOS オペレーティング システム:
sudo rpm -Uvh <installer package>
Ubuntu オペレーティング システム:
sudo dpkg -i <installer package>
デフォルトのインストール ディレクトリ:
- Falcon SIEM Connector -
/opt/crowdstrike/
。 - サービス -
/etc/init.d/cs.falconhoseclientd/
。
- Falcon SIEM Connector -
イベントを Bindplane に転送するように SIEM Connector を構成する
- SIEM Connector がインストールされているマシンに
sudo
ユーザーとしてログインします。 /opt/crowdstrike/etc/
ディレクトリに移動します。cs.falconhoseclient.leef.cfg
をcs.falconhoseclient.cfg
に名前を変更します。- SIEM Connector は、デフォルトで
cs.falconhoseclient.cfg
構成を使用します。
- SIEM Connector は、デフォルトで
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 エージェントのポート。
cs.falconhoseclient.cfg
ファイルを保存します。SIEM Connector サービスを起動します。
CentOS オペレーティング システム:
sudo service cs.falconhoseclientd start
Ubuntu 16.04 以降のオペレーティング システム:
sudo systemctl start cs.falconhoseclientd.service
省略可: SIEM Connector サービスを停止します。
CentOS オペレーティング システム:
sudo service cs.falconhoseclientd stop
Ubuntu 16.04 以降のオペレーティング システム:
sudo systemctl stop cs.falconhoseclientd.service
省略可: 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 フィールドに直接マッピングされます。空の場合は、代わりに incidentDescription 、msg 、または 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 |
description と incidentDescription が空の場合、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 のプロフェッショナルから回答を得ることができます。