メインコンテンツにスキップ

IBM QRadar 統合

2か月以上前に更新

このガイドでは、カスタマイズしたワークフローを使用して、Universal Cloud REST API プロトコル経由で Axur プラットフォームのフィードを IBM QRadar に取り込む方法を説明します。

注意: 本チュートリアルでは、すでに Axur プラットフォームへのアクセス権と必要な API キーをお持ちであることを前提としています。

UI に関する注意: ご利用の QRadar のバージョンによっては、Log Sources / Log Source Management の位置が異なる場合があります(上部タブにある場合と、[Admin] → [Log Sources] にある場合)。統合を作成・設定するにはこのエリアにアクセスする必要があります。もし表示されない、または Universal Cloud REST API プロトコルが見当たらない場合は、[Admin] → [Extensions Management] からインストール/有効化してください。


前提条件

  • IBM QRadar バージョン 7.3.2 以上(Universal Cloud REST API をサポートしていること)

  • ログソース管理タブ、または [Admin] → [Log Sources] へのアクセス権

  • [Admin] → [Extensions Management] へのアクセス権(必要に応じてアプリ/プロトコルをインストールするため)

  • QRadar コンソールへの管理者アクセス権

  • Axur プラットフォームの API キーおよびフィード ID


コストおよび課金に関する考慮事項

  • 重要: 本統合は QRadar に統合されている Universal Cloud REST API 機能を利用するため、統合そのものに追加のライセンス費用は発生しません。

  • 主なコスト面での考慮事項は以下のとおりです:

    • QRadar のライセンス: ご利用の QRadar ライセンスが必要な機能をサポートしていることを確認してください。

    • ネットワーク帯域幅: 外部 API からデータを取り込む際に、ネットワーク帯域幅を消費します。

    • ストレージ: 取り込まれたイベントは QRadar のストレージ容量を消費します。

ヒント: 本チュートリアルで使用されている QRadar の用語集は、ドキュメント末尾の 「用語集」 に記載されています。


Axur プラットフォームでフィードを作成する

Axur プラットフォーム上で API キーフィード を作成してください。これらの値は後続の手順で必要となるため、控えておきましょう。

  • API キーを生成する手順

    • Axur プラットフォームで 「API キー設定」 に移動します。

    • 新しい API キーを作成し、その値を安全にコピーして保管してください。

    • 注意: フィードは、API キーに紐づくユーザーがアクセス権を持つデータのみを返します。

スクリーンショット:

  1. フィードを作成して ID をコピーする

    1. Axur プラットフォームで 「API & Integrations → Feeds」 に移動します。

      ご利用のユースケース(例: フィッシング、ブランド悪用、認証情報漏えい)

    2. 応じて、新しいフィードを作成し、必要なフィルターを設定してください。

    3. 保存後、作成したフィードを開きます。URL に表示されている フィード ID のみをコピーし、後で使用できるように保管しておきましょう。

      スクリーンショット:

  2. (オプション)API 経由でフィードを検証する
    curl を使用して、フィードが API キーとフィード ID を使用してデータを返すことを確認します。

curl -sS \
-H "Authorization: Bearer YOUR_AXUR_API_KEY" \
-H "Accept: application/json" \
"https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/YOUR_FEED_ID" | jq '.'
  • API & Integrations → Feeds では、フィードの状態を時間経過とともに監視することもできます(例:最終リクエストのタイムスタンプなど)。

  • もしイベントが返されない場合は、フィードのフィルター設定および API キーユーザーの権限を確認してください。

この時点(ステップ 2 以降)からのすべての設定は、IBM QRadar コンソール上で行います。


ログソース管理の場所を特定する(UI はバージョンによって異なります)

QRadar のバージョンによって、ログソース管理の場所は異なる場合があります。

QRadar コンソール内で:

  1. 上部ナビゲーションに 「Log Source Management」 タブが表示されている場合は、それを開きます。

  2. 表示されない場合は、[Admin] → [Log Sources](クラシックビュー)に移動してください。

  3. もし Log Source Management が見つからない場合は、以下の手順でインストールします:

    1. [Admin] → [Extensions Management] に移動します。

    2. Add をクリックし、IBM App Exchange からインストールするか、拡張ファイルをアップロードします。

    3. Log Source Management アプリケーションをインストール/有効化します。

    4. 変更を適用し、インストール完了まで待機します。

    スクリーンショット:


新しいログソースを作成する

Universal Cloud REST API プロトコルを使用して新しいログソースを作成します。

QRadar コンソールで:

  1. Log Source Management タブに移動するか、または [Admin] → [Log Sources] にナビゲートします。

  2. + New Log Source をクリックして新しいログソースを追加します。

  3. 要求があったら Single Log Source を選択します。

  4. 「Log Source Type」フィールドで Universal DSM を選択します。「Protocol Type」を Universal Cloud REST API に設定します。

  5. 「Log Source Name」にわかりやすい名前を入力します(例:Axur Platform Feed)。

  6. 「Log Source Identifier」フィールドに説明的な名前を入力します(例:Axur_Feed_Integration)。

スクリーンショット:


Aqui está a tradução completa para o japonês, mantendo o conteúdo e a estrutura exatamente como no original:


ワークフロー XML を設定する
QRadar が Axur フィードからイベントを収集する方法を定義するワークフローを設定します。

Axur プラットフォームは 3 種類のフィードを提供しており、API レスポンス内のデータ構造がそれぞれ異なります:

  • チケットフィード:/collectionData/tickets にデータを返す — チケットベースのフィード(フィッシング、ブランド悪用など)で使用

  • 認証情報フィード:/collectionData/detections にデータを返す — 認証情報漏えい検出フィードで使用

  • IOC フィード:/collectionData/iocs にデータを返す — 侵害指標(IOC)フィードで使用

重要:使用するフィードの種類に応じて適切なワークフロー XML を選択してください。
ワークフロー間の唯一の違いは、API レスポンスでデータへアクセスするパスです。

ログソースの設定内:

「Workflow」フィールドに、使用するフィードの種類に対応する XML を貼り付けます:

チケットフィード用ワークフロー

フィードがチケットデータを返す場合に使用します(パス:/collectionData/tickets):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_Tickets_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/tickets)} > 0">
<PostEvents path="/axur/response/body/collectionData/tickets" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/tickets)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

認証情報フィード用ワークフロー

フィードが認証情報検出データを返す場合に使用します(パス:/collectionData/detections):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_Credentials_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/detections)} > 0">
<PostEvents path="/axur/response/body/collectionData/detections" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/detections)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

IOC フィード用ワークフロー

フィードが IOC データを返す場合に使用します(パス:/collectionData/iocs):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow name="Axur_Feed_IOCs_OneCall" version="1.0" minimumRecurrence="60"
xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

<Parameters>
<Parameter name="base_url" label="Base URL" default="https://api.axur.com" />
<Parameter name="feed_id" label="Feed ID" required="true" />
<Parameter name="jwt_token" label="JWT Bearer Token" required="true" secret="true" />
<Parameter name="current_page" label="Page to Fetch" default="1" />
</Parameters>

<Actions>
<Set path="/axur/url" value="https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/${/feed_id}" />

<CallEndpoint url="${/axur/url}" method="GET" savePath="/axur/response">
<QueryParameter name="page" value="1" />
<RequestHeader name="Authorization" value="Bearer ${/jwt_token}" />
<RequestHeader name="Accept" value="application/json" />
</CallEndpoint>

<If condition="/axur/response/status_code = 429">
<SetStatus type="WARN" message="Rate limited (429). Try increasing the minimumRecurrence (>= 30s) or wait for Retry-After." />
<Abort reason="HTTP 429 from Axur API" />
</If>

<If condition="/axur/response/status_code != 200">
<Abort reason="${/axur/response/status_code}: ${/axur/response/status_message}" />
</If>

<If condition="${count(/axur/response/body/collectionData/iocs)} > 0">
<PostEvents path="/axur/response/body/collectionData/iocs" source="${/base_url}" />
<SetStatus type="INFO" message="Published ${count(/axur/response/body/collectionData/iocs)} events from page ${/current_page}." />
</If>

<Delete path="/axur/response" />
</Actions>

<Tests>
<DNSResolutionTest host="api.axur.com"/>
<SSLHandshakeTest host="api.axur.com"/>
</Tests>
</Workflow>

ワークフローのパラメータを設定する

QRadar が Axur API に接続できるように必要なパラメータを設定します。

「Workflow Parameter Values」フィールドに以下の XML を貼り付け、プレースホルダーの値を置き換えてください。

<?xml version="1.0" encoding="UTF-8"?>
<WorkflowParameterValues xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/WorkflowParameterValues/V2">
<Value name="feed_id" value="YOUR_AXUR_FEED_ID"/>
<Value name="jwt_token" value="YOUR_AXUR_API_KEY"/>
</WorkflowParameterValues>

重要: 以下の値を置き換えてください。YOUR_AXUR_FEED_ID: Axur プラットフォームからコピーしたフィード ID YOUR_AXUR_API_KEY: ご自身の Axur API キー

スクリーンショット:


追加設定を構成する

ログソースに対して追加オプションを設定します。

  • Use Proxy: ネットワークが外部 API へのアクセスにプロキシを必要とする場合、このオプションを有効にし、プロキシの詳細を入力します。

  • Recurrence: データ収集の頻度を設定します(デフォルト: 10 分)。Axur フィードの場合は、まず 5 分 を推奨します。


変更を保存して適用する

設定を完了し、ログソースを有効化するために変更を適用します。

  1. すべての設定を確認し、正しいことを確認します。

  2. Finish をクリックしてログソース設定を保存します。

  3. Admin タブ/ページに移動し、Deploy Changes をクリックして QRadar 全体に設定を適用します。

    • バージョンによっては、ボタンが右上隅に表示されるか、バナー上のアクションとして表示されます。

  4. 適用が完了するまで待ちます。実装後、ログソースは “Active” と表示されます。

  5. 実装後、初回データ収集が開始されるまで数分待ちます。

スクリーンショット:


検証

ログソースを設定した後、最初のデータ収集サイクルが完了するまで 10〜15 分待ち、その後統合が正しく機能しているか確認します。

ログアクティビティを確認する

  1. QRadar コンソールで Log Activity に移動します。

  2. 作成したログソースの名前または識別子を使用してイベントを検索します。

  3. イベントの発生元として https://api.axur.com” またはログソース識別子が表示されていることを確認します。

イベント構造を確認する

イベントに以下の Axur フィードで期待されるフィールドが含まれていることを確認します:

  • ticket_reference

  • ticket_key

  • customer_key

  • detection_type

  • status

  • assets

  • attachments

ログソースのステータスを監視する

  1. [Admin] → [Log Sources] に移動します。

  2. 作成した Axur ログソースを探し、そのステータスを確認します。

  3. ログソースの詳細でエラーや警告メッセージがないか確認します。

スクリーンショット:


一般的な問題と解決策

イベントが Log Activity に表示されない場合

  • Feed ID と API キーが正しいことを確認する

  • ログソースが有効でアクティブであることを確認する

  • 再収集間隔(Recurrence)が長すぎないことを確認する

  • QRadar のログでエラーメッセージを確認する

HTTP 401 / 403 エラー

  • API キーが有効で、必要な権限を持っていることを確認する

  • API キーが期限切れでないことを確認する

  • Feed ID が存在し、アクセス可能であることを確認する

HTTP 429(レート制限)エラー

  • ワークフロー内の minimumRecurrence の値を増加させる(例:60 秒から 120 秒へ)

  • API コールの頻度を下げるため、Recurrence 間隔を長く設定する

接続タイムアウト

  • api.axur.com へのネットワーク接続を確認する

  • プロキシを使用している場合は設定を確認する

  • ログソース設定でタイムアウト値を増加させる

SSL/TLS エラー

  • 必要に応じて「Allow Untrusted Certificates(信頼されていない証明書を許可)」を有効化する

  • QRadar インスタンスが api.axur.com を解決できることを確認する

  • SSL ハンドシェイクテストが正常に完了することを確認する

デバッグ手順

  1. ログソースのログを確認する:

    1. [Admin] → [Log Sources] に移動します。

    2. Axur のログソースをクリックします。

    3. 「Last Error」および「Status」の情報を確認します。

  2. 接続性をテストする:

    • ログソース設定内の接続テスト機能を使用します。

    • DNS 解決および SSL ハンドシェイクテストを確認します。

  3. API アクセスを確認する:

    • curl または同等のツールを使用して API を直接テストします。

    • API キーが特定のフィード ID で有効であることを確認します。

  4. QRadar システムログを確認する:

    • QRadar システムログを確認し、関連するエラーメッセージを探します。

    • Universal Cloud REST API 固有のエラーを確認します。

スクリーンショット:


高度な設定

カスタムイベントマッピング

ワークフローの XML を変更することで、QRadar 内でイベントがどのようにマッピングされるかをカスタマイズできます。
現在のワークフローは Axur API から取得したイベントをそのまま公開しますが、必要に応じて変換を追加できます。

複数フィードの統合

複数の Axur フィードを統合する場合は、それぞれのフィードに対して異なる Feed ID と設定を持つ別々のログソースを作成します。

フィルタリングとパース

QRadar 内でパースルールを追加し、Axur イベントから特定のフィールドを抽出することで、分析や相関処理を向上させることができます。


用語集

  • QRadar コンソール: IBM QRadar の Web ベースの管理インターフェース。

  • ログソース管理: 外部データソースを管理する QRadar アプリケーション。

  • Universal Cloud REST API: クラウドベース API との統合用 QRadar プロトコル。

  • ワークフロー: QRadar が外部ソースからデータを収集・処理する方法を定義する XML 設定。

  • ログソース: QRadar で構成された外部システムからログを収集するデータソース。

  • ログアクティビティ: QRadar で収集したログイベントを表示・検索するインターフェース。

  • 再収集間隔(Recurrence): QRadar が外部データソースを新しいデータ取得のために問い合わせる頻度。

  • JWT ベアラートークン: Axur API が使用する認証方法。

  • フィード ID: Axur プラットフォーム上の特定のデータフィードを識別する一意の識別子。

  • レート制限: API リクエストの数を一定時間内で制限する保護機構。

  • SSL ハンドシェイク: QRadar と外部 API 間で安全な接続を確立するプロセス。

  • DNS 解決: ドメイン名を IP アドレスに変換するプロセス。

  • プロキシ: QRadar と外部 API 間の要求を中継するネットワークの仲介サーバ。


ご不明点があれば、いつでも [email protected] までお気軽にご連絡ください 😊

こちらの回答で解決しましたか?