このドキュメントでは、ThreatQ v1.1.0 の設定方法について説明します。Netskope Cloud Exchangeの Threat Exchange モジュールを備えたプラグイン。 ThreatQ プラグインは、ThreatQ プラットフォームのThreatQ ライブラリ > インジケーターページから URL、IP (IPv4、IPv6)、FQDN、SHA256、および MD5 タイプのインジケーターを取得するために使用されます。 このプラグインは、ThreatQ プラットフォームへのインジケーターの共有をサポートしていません。
前提条件
この設定を完了するには、以下が必要です。
ThreatQプラグインのサポート
ThreatQ プラグインは、ThreatQ プラットフォームから URL、IP (IPv4、IPv6)、FQDN、SHA256、および MD5 タイプのインジケーターを取得します。 このプラグインはインジケーターの共有をサポートしています。
| 取得したインジケータータイプ | 共有指標タイプ |
|---|---|
| URL、IPアドレス(IPv4、IPv6)、FQDN、SHA256、MD5 | サポートされていません |
マッピング
プルマッピング
| Netskope CE Fields | ThreatQ Fields |
|---|---|
| value | value |
| タイプ | タイプ |
| reputation | score |
| active | status |
| extendedInformation | <THREATQ URL>/indicators/<IOC ID>/details |
| tags | タグ(インジケーターに関連付けられたタグ) |
ThreatQ上のステータスのうち、 「期限切れ」以外のすべてのステータスは、Cloud Exchangeでは「アクティブ」とみなされることに注意してください。
重症度マッピング
| Netskope CE 重症度 | ThreatQスコア |
|---|---|
| 致命的 | 10 |
| 高い | 9 |
| 中くらい | 8 |
| 中くらい | 7 |
| 低い | 6 |
| 低い | 5 |
| 低い | 4 |
| 低い | 3 |
| 低い | 2 |
| 低い | 1 |
| 低い | 0 |
APIの詳細
このプラグインは、ThreatQ API で認証し、ThreatQ プラットフォームからインジケーターを取得するために Python ライブラリを使用します。
Library : threatqsdk (バージョン = '1.8.0')
ThreatQオブジェクトを作成する
tq = Threatq(
host,
(client_id, client_secret),
private=True,
verify=verify,
proxy=proxy_info,
)
フェッチインジケーター
FIELDS = [“id”, “value”, “type”, “score”, “status”, “tags”]
tlsearch = ThreatLibrary(tq, fields=FIELDS)
TL検索結果をすべて表示 ThreatQ検索名
tlsearch.get_saved_search(search_name).execute(
"indicators"
)
パフォーマンスマトリックス
以下は、これらの仕様を持つ大規模CEインスタンス上で、各プラグインライフサイクルにおいて10万個のIOCを取得およびプッシュする際に実施したパフォーマンス測定結果です。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| ThreatQから取得した指標 | ~23k IOCs per minute |
ユーザーエージェント
netskope-ce-5.1.1-cte-threatq-v1.1.0
ワークフロー
- ThreatQクライアントIDとクライアントシークレットを取得してください。
- ThreatQで検索名を作成します。
- ThreatQプラグインを設定します。
- ThreatQのビジネスルールを設定します。
- ThreatQの共有設定を行います。
- ThreatQプラグインを検証してください。
再生ボタンをクリックして動画をご覧ください。
ThreatQクライアントIDとクライアントシークレットを取得してください。
- ThreatQ VMにログインしてください。
- 以下のコマンドを実行して、クライアントIDとクライアントシークレットを生成します。
sudo /var/www/api/artisan threatq:oauth2-client --name=Netskope
- クライアントIDとクライアントシークレットをコピーしてください。これらはThreatQプラグインの設定に必要です。
ThreatQで検索名を作成する
- ThreatQインスタンスでThreat Library > Indicatorsに移動してください。
- 必要に応じてフィルターを適用してください。
例えば、MD5タイプの指標をフィルタリングします。
- 検索名を作成するには、 Save Asをクリックしてください。
- データコレクションに名前を付けてください。

- Save Data Collectionをクリックしてください。
データコレクションの名前は ThreatQプラグインの設定時に検索名として使用されますのでご注意ください。
ThreatQプラグインの設定
- Cloud Exchange で、 Settings > Pluginsに移動します。
- ThreatQ v1.1.0 (CTE)プラグインボックスを検索して選択します。

- 基本情報については、以下のパラメータを入力してください。
- 構成名:構成の一意の名前。
- 同期間隔:デフォルトのままにしてください。
- 有効期限基準:プラグインの有効期限(日数)。(デフォルト値:90)
- 評判の上書き:この設定から受信した指標の評判を上書きする値を設定します。
- SSL検証を有効にする:SSL証明書の検証を有効にします。
- システムプロキシ:通信にプロキシが必要な場合は有効にしてください。

- Nextをクリックしてください。
- For Configuration Parameters, enter these values:
- ThreatQ URL: これはThreatQインスタンスへのURLです。
- ThreatQクライアントID:これはThreatQ OAuth2クライアントIDです。
- ThreatQクライアントシークレット:これはThreatQ OAuth2クライアントシークレットです。
- ThreatQ検索名:これらは、インポートするデータを含むThreatQ検索名です。これは、カンマで区切られた検索名のリスト、または単一の検索名である必要があります。

指定された検索名のいずれかがThreatQインスタンスに存在しない場合、または無効な場合は、設定を保存できないことに注意してください。 - Save .
をクリックしてください
ThreatQ 用の Threat Exchange ビジネスルールを設定する
ThreatQから取得した指標をCloud Exchangeに共有するには、共有したい指標をフィルタリングするビジネスルールが必要です。 ビジネスルールを設定するには:
- Threat Exchange > Business Ruleに移動してCreate New Ruleをクリックしてください。
- ルールに要件に応じてフィルターを追加し、 Saveをクリックします。

ThreatQ の脅威交換共有を設定する
Netskope CEからNetskopeテナントにIoCを共有するには:
- Threat Exchange > Sharingに移動してAdd Sharing Configurationをクリックしてください。
- ソース構成(CTE ThreatQ)、ビジネスルール、宛先構成(CTE Netskope )、およびターゲットSelect 。
- Saveをクリックしてください。

ThreatQプラグインを検証する
プルを検証する
取得したIoCを確認するには、 Loggingに移動して、プラグイン名でIoCを検索してください。
取得されたデータはThreat IoCsにリストされます。プラットフォームから取得した IoC をフィルタリングできます。フィルタを使用します。sources.source Like “<plugin name>”

Threat IoCsで取得した IoC を検証できます。






ThreatQ プラットフォームで利用可能な IoC を確認するには、次の場所にアクセスしてください。 ThreatQ Platform > ThreatLibrary > Indicators.

検索名に基づいて IoC をフィルタリングする必要がある場合は、 プラグインの設定時に注意してください。
撤回を検証する
撤回に関連するログは、 フィルター: sources.source Like “<plugin configuration name> [Retraction]”でフィルタリングできます。
ThreatQプラグインの場合、撤回処理はThreatQの検索名に基づいて行われることに注意してください。これは、既に削除され、その後、指定された検索名に存在しない指標のみが取り下げ済みとしてマークされることを意味します(例:指標がソースプラットフォームから削除されたか、プラグイン設定の検索名が更新された場合)。

Threat IoCsで同じことを検証できます。

なお、この取り消し機能はアクティブなインジケーターにのみ適用されます。非アクティブなインジケーターは、 Cloud Exchangeでは取り下げられたものとしてマークされません。
このプラグインは、ThreatQ プラットフォームへの IoC の共有をサポートしていませんが、ThreatQ プラグインから取得した IoC は、他のサードパーティ プラットフォームと共有できます。 ThreatQから第三者に共有されたIoCがそのプラットフォームから削除されると、撤回結果に「<plugin-config-name>: retracted」とマークされます。第三者プラットフォームから削除されない場合、取り消し結果は保留状態になるか、取り消されます。

ThreatQから取得したIoC(侵害指標)は、 Netskopeテナント上のURLリストCTEデモに共有されました。

Cloud Exchangeで共有IoCのいずれかが撤回済みとしてマークされた場合、Netskopeテナントからも削除されます。ここでは、撤回スクリーンショットで「はい」とマークされ、NetskopeテナントのURLリストからも削除されたIoCを確認できます。

ThreatQプラグインのトラブルシューティング
ThreatQプラグインを設定できません
原因としては、以下のいずれかの理由が考えられます。
- Invalid configuration parameters
- SSL検証
What to do: 根本原因を特定し、解決のための手順に従ってください。
- 無効な設定パラメータです。ThreatQプラグインの設定セクションの手順に従って、設定パラメータが有効であることを確認してください。
- SSL検証:SSL検証時にこのエラーが発生する可能性があります。
| 2025年3月21日 午後5時25分51秒 | – | error | CTE ThreatQ [CTE ThreatQ]: 認証中に予期しない検証エラーが発生しました。エラー: HTTPSConnectionPool(host='10.50.1.21',port=443): URL: /api/token?grant_type=client_credentials で最大再試行回数を超えました (原因: SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 証明書の検証に失敗しました: ローカル発行者証明書を取得できません (_ssl.c:1147)'))) |
ThreatQインスタンスがローカルマシンでホストされている場合は、プラグインの設定中にSSL検証を無効にする必要があります。

ThreatQ プラットフォームから IOC を取得できない
プラグインの設定後、プラットフォームからIoCが取得されない場合は、以下のいずれかの理由が考えられます。
- プラットフォーム上にはプル可能なIoCがありません
- 指定された検索名に関連するIoCはプラットフォーム上にありません。
What to do: 根本原因を特定し、解決策
適用してください。
プラットフォーム上で取得可能な IoC がない場合は、プラットフォーム上に取得可能な IoC が存在するかどうかを確認します。
IoC を確認するには、 ThreatQ Platform > ThreatLibrary > Indicatorsにアクセスしてください。

プルするプラットフォーム上で指定された検索名に関連する利用可能な IOC がない場合は、プラグインの構成中に検索名に基づいて ThreatQ 上のレコードをフィルタリングします。
IoC を確認するには、 ThreatQ Platform > ThreatLibrary > Indicatorsにアクセスしてください。
例えば、以下のスクリーンショットでは、検索名「All_indicators」のIoC(Infrastructure as Code)を確認できます。

「無効なThreatQ検索名」というエラーが発生しています
ThreatQの検索名フィールドはカンマ区切りの値を受け付けます。指定された値のいずれかが無効な場合、つまり検索名がThreatQインスタンスに存在しない場合は、以下のエラーが発生します。
| 2025年3月21日 午後6時05分19秒 | – | error | CTE ThreatQ [CTE ThreatQ]: 設定パラメータで指定されたThreatQ検索名が無効です。エラー: 指定された名前に一致する保存済み検索がありません。 |
What to do: 提供されている検索名がすべてThreatQインスタンスに存在するかどうかを確認してください。検索名が1つでも存在しない場合は、 「ThreatQプラグインの設定」セクションの手順に従ってください。

