> ## Documentation Index
> Fetch the complete documentation index at: https://docs.casebender.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CrowdStrike Falcon

> CaseBender と CrowdStrike Falcon の双方向統合。検知の取り込み（pull または push）とディスポジション同期を提供します。

## 概要

CrowdStrike Falcon 統合（**INT-008**）は、Falcon の検知を CaseBender に取り込み、ケースがクローズ
されたときに Falcon へディスポジションを返すことができます。

<CardGroup cols={2}>
  <Card title="インバウンド取り込み" icon="arrow-right-to-bracket">
    Falcon の検知は、スケジュールに基づいて **自動的にプル**（推奨）されるか、
    Webhook で **プッシュ** され、その後、正規化されて観測対象と MITRE ATT\&CK
    テクニックで強化され、アラートに変換されます。
  </Card>

  <Card title="アウトバウンド同期" icon="arrow-right-from-bracket">
    CaseBender でリンクされたケースがクローズされると、Falcon の検知のステータスが
    監査コメント付きで更新されます。
  </Card>
</CardGroup>

<Tip>
  **推奨: 自動ポーリングを有効にしてください。** CaseBender は同じ Falcon API
  クライアントを使用してスケジュールに基づき新しい検知をプルできます。Webhook や
  SIEM コネクタは不要です。[自動ポーリング](#インバウンド自動ポーリング) を参照してください。
</Tip>

<Note>
  この統合は **Falcon Alerts API v2** を使用し、client-credentials フローで
  **OAuth2 API クライアント**（client ID + secret）を用いて認証します。
</Note>

## 機能

| 機能                 | 方向      | 説明                                                                     |
| ------------------ | ------- | ---------------------------------------------------------------------- |
| **検知のポーリング（pull）** | インバウンド  | CaseBender がスケジュールに基づき Alerts API を照会し、新しい検知を自動的に取り込みます（Falcon 側の設定不要） |
| 検知の取り込み（push）      | インバウンド  | Falcon の検知が Webhook でプッシュされ、アラートに正規化されます                               |
| 観測対象の抽出            | インバウンド  | IP、ファイルハッシュ、ファイル名、ホスト、ユーザー                                             |
| MITRE ATT\&CK 相関   | インバウンド  | テクニック/タクティク ID がタグと TTP として追加されます                                      |
| ディスポジション同期         | アウトバウンド | ケースクローズ時に検知ステータス + コメントを送信                                             |
| 接続テスト              | 双方向     | OAuth2 認証情報と API アクセスを検証                                               |

## 前提条件

<Steps>
  <Step title="Falcon API クライアント">
    Falcon コンソールで **Support and resources → API clients and keys** に移動し、API クライアント
    を作成します。**Alerts: Read** スコープ（アウトバウンドクローズが必要な場合は **Alerts: Write**）
    を付与します。**Client ID** と **Secret** をコピーします。
  </Step>

  <Step title="クラウドリージョンのベース URL">
    Falcon クラウドのベース URL（例: `https://api.crowdstrike.com`、
    `https://api.us-2.crowdstrike.com`、`https://api.eu-1.crowdstrike.com`）をメモします。
  </Step>

  <Step title="ネットワーク送信">
    CaseBender のポーリングサービスが Falcon API のベース URL に到達できる必要があります。
  </Step>
</Steps>

## CaseBender で統合を構成

<Steps>
  <Step title="統合カタログを開く">
    **Settings → Integrations → Create** に移動し、**EDR/XDR** カテゴリの **CrowdStrike Falcon**
    を選択します。
  </Step>

  <Step title="Falcon API 認証情報を入力">
    | フィールド                    | 説明                                                    |
    | ------------------------ | ----------------------------------------------------- |
    | API URL                  | Falcon クラウドのベース URL（既定 `https://api.crowdstrike.com`） |
    | Falcon API Client ID     | OAuth2 の client ID                                    |
    | Falcon API Client Secret | OAuth2 の client secret                                |
  </Step>

  <Step title="自動ポーリングを有効にする（推奨）">
    **Automatic polling** カードで **Enable automatic polling** をオンにし、次を設定します。

    | オプション                         | 効果                                         |
    | ----------------------------- | ------------------------------------------ |
    | `pollingEnabled`              | Falcon 検知のスケジュール取得を有効化                     |
    | `pollingIntervalMinutes`      | ポーリング間隔（既定 `5`、範囲 1–1440）                  |
    | `pollingInitialLookbackHours` | 初回実行時、この範囲内に更新された検知を取り込む（既定 `24`、範囲 1–168） |
    | `pollMaxItemsPerRun`          | 実行あたりの取り込み件数の安全上限（既定 `500`）                |
  </Step>

  <Step title="ケースの自動作成を構成">
    | オプション                | 効果                                                          |
    | -------------------- | ----------------------------------------------------------- |
    | `autoCreateCases`    | 取り込んだ各検知を **ケース** に昇格（検知 ID で重複排除）。無効の場合、検知はアラート受信トレイに留まります |
    | `minSeverityForCase` | この深刻度以上の場合のみケースを自動作成                                        |
  </Step>
</Steps>

## インバウンド（自動ポーリング）

**自動ポーリング** を有効にすると、CaseBender のポーラーが定期的に Falcon の Alerts API を照会し、
新しい検知を自動的に取り込みます。

<Steps>
  <Step title="スケジュール取得">
    各間隔で、CaseBender は Alerts API v2 を通じて前回のカーソル以降に更新された複合 ID を照会し、
    完全な検知エンティティを取得します。初回実行時はカーソルがないため、`pollingInitialLookbackHours`
    以内の検知が取り込まれます。
  </Step>

  <Step title="カーソル + 重複排除">
    CaseBender は統合ごとのカーソルを最新の `updated_timestamp` まで進めます。検知は **検知 ID で
    重複排除** されるため、ポーリングウィンドウが重なっても重複アラートは作成されません。
  </Step>

  <Step title="正規化">
    各検知は CaseBender のアラートに正規化されます（深刻度のマッピング、タイトル/説明の生成、
    観測対象の抽出、MITRE TTP の生成）。
  </Step>
</Steps>

<Info>
  ポーリングは CaseBender のバックグラウンドポーリングサービスで実行されます。そのサービスが
  Falcon API のベース URL に（直接または構成済みプロキシ経由で）到達できることを確認してください。
</Info>

## インバウンド（Webhook / プッシュ）

ポーリングの代替として、Falcon（または中継役）が検知ペイロードを CaseBender の取り込みエンドポイント
にプッシュできます。

```
POST https://<your-casebender-domain>/api/v1/ingest/crowdstrike
```

リクエストは `x-api-key` ヘッダー内の統合 **API キー** で認証されます。Falcon の Webhook API キーには
`cbr_crowdstrike_` の接頭辞が付きます。

## アウトバウンド: Falcon へのディスポジション同期

ケースがクローズされると、`case_closed` イベントが CrowdStrike ハンドラーへディスパッチされます。
ケースが Falcon の検知にリンクされている場合（検知 ID が取り込み済みアラートに刻まれています）、
ハンドラーは検知ステータスを更新し監査コメントを追加します。アウトバウンドクローズには API クライアント
の **Alerts: Write** スコープが必要です。

## セキュリティ上の考慮事項

* **最小権限** — インバウンドのみの場合は **Alerts: Read** を付与し、アウトバウンドクローズを有効に
  する場合のみ **Alerts: Write** を追加します。
* **シークレットの取り扱い** — client secret は統合設定に保存されます。組織のポリシーに従ってローテー
  ションしてください。
* **トークンキャッシュ** — アクセストークンはメモリにキャッシュされ、有効期限前に更新されます。
* **ネットワーク** — 送信を Falcon API のベース URL に制限してください。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="接続テストが OAuth2 エラーで失敗する">
    client ID、secret、API ベース URL（リージョン）を確認してください。API クライアントが有効で
    Alerts スコープを持っていることを確認します。
  </Accordion>

  <Accordion title="ポーリングは有効だが検知が表示されない">
    **Enable automatic polling** がオンで、API クライアントに Alerts: Read スコープがあることを確認
    してください。ポーラーが Falcon のベース URL に到達できることを確認します。初回実行時は
    `pollingInitialLookbackHours` 以内の検知のみが取り込まれます。

    **CaseBender のすべてのサービスが稼働していることを確認してください。** 検知はバックグラウンド
    プロセッサーが取得し、バックグラウンド **worker** がアラート（および任意でケース）に変換します。
    Docker では `docker compose ps` を実行し、`worker` と `misp-processor` サービスが `Up` である
    ことを確認してください。
  </Accordion>

  <Accordion title="ケースのクローズが Falcon を更新しない">
    API クライアントに Alerts: Write スコープがあり、ケースが Falcon の検知にリンクされていることを
    確認してください。同期結果はケースのタイムラインで確認できます。
  </Accordion>
</AccordionGroup>

## 関連ドキュメント

* [統合の概要](./introduction.mdx)
* [CrowdStrike Falcon API ドキュメント](https://falcon.crowdstrike.com/documentation/)
