CrowdStrike Falcon アプリケーションのログ収集
このページでは、CrowdStrike Falcon からのログ収集を設定して Sumo Logic に送信する方法を説明します。CrowdStrike Falcon は、エンドポイントの検出と応答、次世代型のアンチウイルスおよび脅威インテリジェンス サービスをクラウド経由で提供します。複数のセキュリティ機能を 1 つの軽量エージェントにまとめ、Sumo Logic で一元化されたセキュリティ アナリティクスを使用して情報を視覚化します。
収集プロセスの概要
SIEM (Security Information and Event Management) を使用してさまざまなセキュリティ製品からデータを収集して、セキュリティ脅威を検知、調査し、相関させ、修復します。Falcon SIEM コネクタは、大量のエンドポイントでの収集を最適化するための高速かつ効率的な手段を提供します。
CrowdStrike Falcon のログ収集をセットアップするには、以下の作業手順で CrowdStrike SIEM コネクタをダウンロードしてインストールし、データを Sumo Logic に送信するように設定します。
- ステップ 1.CrowdStrike SIEM コネクタをダウンロードしてホスト マシンにインストールする。
- ステップ 2.CrowdStrike イベントをローカル ファイルにストリーミングするように CrowdStrike SIEM コネクタを設定する。
- ステップ 3. Sumo Logic Installed Collector を同じホストにインストールして、ローカル ファイル Source をセットアップする。
CrowdStrike Falcon SIEM コネクタについての詳細情報については、CrowdStrike のドキュメントを参照するか、CrowdStrike カスタマー サポート (info@crowdstrike.com) までお問い合わせください。
データ収集フロー
SIEM コネクタを使用した CrowdStrike のストリーミング API イベントを Sumo Logic が収集する様子を下図に示します。
開始する前に
CrowdStrike Falcon のログ収集の設定を開始する前に、以下を完了しておくことが重要です。
- SIEM コネクタ ガイドをダウンロードして、SIEM コネクタと設定について理解しておいてください。
- CrowdStrike サポートに連絡して、ご利用の環境で API のストリーミングを有効にしてください。これは SIEM コネクタを使用する前に行う必要があります。
ステップ 1.CrowdStrike SIEM コネクタのダウンロードとホスト マシンへのインストール
この手順は Falcon コンソールから実行します。この手順での Falcon からのダウンロードとインストールには、特定の権限が必要です。
CrowdStrike SIEM コネクタをホスト マシンにインストールするには、次の手順を実行します。
-
Falcon コンソールにログインして [Support (サポート)] > [Tool Downloads (ツールのダウンロード)] に移動します。
-
ご利用のオペレーティング システム用の SIEM コネクタ インストーラをダウンロードします。
-
ターミナル ウィンドウを開きます。
-
ご利用の OS に合わせて次のコマンドを実行し、<installer package> 変数には、ダウンロードした SIEM インストーラを指定します。
-
CentOS: sudo rpm -Uvh <installer package>
-
Ubuntu: sudo dpkg -i <installer package>
ステップ 2.CrowdStrike SIEM コネクタの設定
この SIEM コネクタは、CrowdStrike Falcon Cloud からローカル ファイル (output) にイベントデータを JSON 形式でストリーミングします。output ファイルのデフォルトの場所は、/var/log/crowdstrike/falconhoseclient/output です。
CrowdStrike SIEM コネクタを設定するには、次の手順を実行します。
- Falcon コンソールで、[Support (サポート)] > [API Clients & Keys (API クライアントとキー)] に移動します。
- SIEM コネクタで使用する API クライアントを作成して、API クライアント ID と API クライアント シークレットを記録します。[Edit API client (API クライアントの編集)] ダイアログで [Event streams (イベント ストリーム)] オプションのみを選択して [Save (保存)] をクリックします。
- テキスト エディタで /opt/crowdstrike/etc/cs.falconhoseclient.cfg ファイルを開きます。
- cs.falconhoseclient.cfg ファイルで以下の行を編集します。
- app_id を SIEM-Connector に変更します。
- client_id - 記録してある API クライアント ID を追加します。
- client_secret - 記録してある API クライアント シークレットを追加します。
- output_format が json に設定されていることを確認します。
- EventTypeCollection セクション - すべてのイベントを有効にします。
- DetectionSummaryEvent = true
- AuthActivityAuditEvent = true
- UserActivityAuditEvent = true
- HashSpreadingEvent = true
- RemoteResponseSessionStartEvent = true
- RemoteResponseSessionEndEvent = true
- 変更内容を保存します。
- ご利用の OS に合わせて SIEM コネクタを再起動します。
- CentOS: sudo service cs.falconhoseclientd start
- Ubuntu 14.x: sudo start cs.falconhoseclientd
- Ubuntu 16.4: sudo systemctl start cs.falconhoseclientd.service
ステップ 3.Sumo Logic の Installed Collector とスクリプト Source のセットアップ
Sumo Logic Installed Collector を SIEM コネクタと同じホストでセットアップします。その後、ステップ 2 の output ファイルを読み込んで CrowdStrike Falcon イベントを Sumo Logic に送信するように、Installed Collector でローカル ファイル Source をセットアップします。
Installed Collector とローカル ファイル Source をセットアップするには、次の手順を実行します。
- Sumo Logic Installed Collector を SIEM コネクタと同じホストにインストールします。「Installed Collectors」で説明されている、ご利用の OS 用の手順を実行します。
- ストリーミング API イベント用 Collector にローカル ファイル Source を追加します。「ローカル ファイル Source」のステップを次のように変更して実行します。
- [Filepath (ファイル パス)] を /var/log/crowdstrike/falconhoseclient/output に変更します。
- [Source Category] を crowdstrike/falcon に設定します。
- [Enable Multiline Processing (複数行の処理の有効化)] で、[Boundary Regex (境界正規表現)] チェックボックスをオンにして、次の正規表現を入力します。^\{.*
- [Save (保存)] をクリックします。
サンプル ログ
このセクションでは、以下のログ タイプのログ メッセージの例を示します。
- 検出イベント
- 認証イベント
- 検出ステータス更新イベント
イベントの詳細については、ストリーミング API イベント ディクショナリを参照してください。
イベント タイプ | ログ メッセージ |
---|---|
検出イベント |
{ { "metadata": { "customerIDString": “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "offset": 14947764, "eventType": "DetectionSummaryEvent", "eventCreationTime": 1536846439000, "version": "1.0" }, "event": { "ProcessStartTime": 1536846339, "ProcessEndTime": 0, "ProcessId": 38684386611, "ParentProcessId": 38682494050, "ComputerName": "CS-SE-EZ64", "UserName": "demo", "DetectName": "Process Terminated", "DetectDescription": "Terminated a process related to the deletion of backups, which is often indicative of ransomware activity.", "Severity": 4, "SeverityName": "High", "FileName": "explorer.exe", "FilePath": "\\Device\\HarddiskVolume1\\Windows", "CommandLine": "C:\\Windows\\Explorer.EXE", "SHA256String": "6a671b92a69755de6fd063fcbe4ba926d83b49f78c42dbaeed8cdb6bbc57576a", "MD5String": "ac4c51eb24aa95b77f705ab159189e24", "MachineDomain": "CS-SE-EZ64", "FalconHostLink": "https://falcon.crowdstrike.com/activ...xxxxxxxxxxxxxx", "SensorId": "ec86abd353824e96765ecbe18eb4f0b4", "DetectId": "ldt:ec86abd353824e96765ecbe18eb4f0b4:38655257584", "LocalIP": "xx.xx.xx.xx", "MACAddress": "xx-xx-xx-xx-xx", "Tactic": "Malware", "Technique": "Ransomware", "Objective": "Falcon Detection Method", "PatternDispositionDescription": "Prevention, process killed.", "PatternDispositionValue": 16, "PatternDispositionFlags": { "Indicator": false, "Detect": false, "InddetMask": false, "SensorOnly": false, "Rooting": false, "KillProcess": true, "KillSubProcess": false, "QuarantineMachine": false, "QuarantineFile": false, "PolicyDisabled": false, "KillParent": false, "OperationBlocked": false, "ProcessBlocked": false } } } |
認証イベント |
{ "event": { "AuditKeyValues": [ { "Key": "target_name", "ValueString": "user@example.com" } ], "OperationName": "activateUser", "ServiceName": "CrowdStrike Authentication", "Success": true, "UserId": "user@example.com", "UserIp": "192.0.2.100", "UTCTimestamp": 1452711518 }, "metadata": { "customerIDString": "0123456789ABCDEFGHIJKLMNOPQRSTUV", "eventType": "AuthActivityAuditEvent", "eventCreationTime": 1480375833, "offset": 80960 } }NOPQRSTUV","eventType":"AuthActivityAuditEvent","eventCreationTime":1480375833,"offset":80960}} |
検出ステータス更新 |
{ "metadata": { "customerIDString": "0123456789ABCDEFGHIJKLMNOPQRSTUV", "offset": 11049003, "eventType": "UserActivityAuditEvent", "eventCreationTime": 1479770848 }, "event": { "UserId": "user@example.com", "UserIp": "", "OperationName": "detection_update", "ServiceName": "detections", "AuditKeyValues": [ { "Key": "detection_id", "ValueString": "ldt:b60f82cf1aa342f47363bf3b6bfb6b7d:123456356541" }, { "Key": "new_state", "ValueString": "in_progress" }, { "Key": "assigned_to", "ValueString": "Knightley" }, { "Key": "assigned_to_uid", "ValueString": "user@example.com" } ], "UTCTimestamp": 1479770848 } } |
クエリの例
このセクションでは、各イベント タイプのクエリ例を示します。
イベント タイプ | クエリの例 |
---|---|
検出イベント |
_sourceCategory=*Crowdstrike* DetectionSummaryEvent | json "metadata.eventType", "metadata.customerIDString", "metadata.eventCreationTime" as event_type, customer_id, event_time | formatDate(fromMillis(event_time), "MM/dd/yyyy HH:mm:ss:SSS") as event_time | where event_type="DetectionSummaryEvent" | json "event.Tactic","event.Technique", "event.Objective", "event.ComputerName", "event.UserName", "event.DetectId", "event.DetectDescription", "event.Severity", "event.SeverityName", "event.FileName", "event.FilePath", "event.CommandLine", "event.MD5String", "event.SHA1String", "event.MachineDomain" , "event.FalconHostLink", "event.IOCType", "event.IOCValue", "event.LocalIP", "event.MACAddress" as tactic, technique, objective, computer_name, user_name, detect_id, detect_desc, severity, severity_name, file_name, file_path, cmd_line, md5_string, sha1_string, machine_domain, falconHost_link, IOC_Ttype, IOC_value, local_ip, mac_adderess | timeslice 1d | count_distinct (detect_id) by _timeslice, severity_name | fillmissing timeslice(1d) | transpose row _timeslice column severity_name |
認証イベント |
_sourceCategory=*Crowdstrike* AuthActivityAuditEvent (userAuthenticate or twoFactorAuthenticate) | json "metadata.eventType", "metadata.customerIDString", "metadata.eventCreationTime" as event_type, customer_id, event_time | formatDate(fromMillis(event_time), "MM/dd/yyyy HH:mm:ss:SSS") as event_time | json "event.UserId", "event.UserIp", "event.OperationName", "event.ServiceName", "event.Success", "event.UTCTimestamp" as src_user, user_ip, operation_name, service_name, success, operation_time | formatDate(fromMillis(operation_time), "MM/dd/yyyy HH:mm:ss:SSS") as operation_time | where success="true" | count by operation_time, operation_name, src_user, user_ip |
検出ステータス更新 |
_sourceCategory=*Crowdstrike* UserActivityAuditEvent | json "metadata.eventType", "metadata.customerIDString", "metadata.eventCreationTime" as event_type, customer_id, event_time | formatDate(fromMillis(event_time), "MM/dd/yyyy HH:mm:ss:SSS") as event_time | where event_type="UserActivityAuditEvent" | json "event.OperationName", "event.UserId", "event.UserIp", "event.ServiceName", "event.AuditKeyValues" as operation_name, user_id, src_user, service_name, audit_values | count by operation_name | sort by _count |