このドキュメントでは、 Netskope Cloud Exchangeプラットフォームの Risk Exchange モジュールを使用して ExtraHop Reveal(x) 360 v1.0.1 プラグインを構成する方法について説明します。 このプラグインを使用して、ExtraHop Reveal(x) 360 プラットフォームの検出からクラウド ワークロード (デバイス) を取得します。 ExtraHop Reveal(x) 360では、クラウドワークロード(デバイス)に対する操作はサポートされていません。
Netskopeの正規化スコアの計算式 = (100 – ExtraHopの現在の検出リスクスコア) x 10。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとリスクエクスチェンジプラグインが既に設定済みです。
- ExtraHopのベースURL、クライアントID、およびクライアントシークレット。
- ExtraHopライセンスで、検出およびデバイスサービスへのアクセスが可能です。詳細については、こちらのドキュメントを参照してください:ライセンスに関するよくある質問。
- 以下のホストへの接続: https://extrahop-bd.api.cloud.extrahop.com
ExtraHop Reveal(x) 360プラグインのサポート
このプラグインは、ExtraHop Reveal(x) 360 プラットフォームの検出からクラウド ワークロード (デバイス) を取得するために使用されます。 ExtraHop Reveal(x) 360では、クラウドワークロード(デバイス)に対する操作はサポートされていません。
| 取得したデータの種類 | Actions |
|---|---|
| デバイス | アクションなし |
マッピング
マッピングは、プルされたデバイスとそれぞれの詳細を表示するために使用されます。 プラグイン設定時にマッピングされたフィールドは、データ取得後にレコードページに表示されます。以下は、プラグインの設定時に使用すべき推奨マッピングです。 プラグインの設定時に使用してください。
デバイスのプルマッピング
| プラグインフィールド | 想定されるデータ型 | 提案されたフィールド名 | 提案された集約戦略 |
|---|---|---|---|
| 検出ID | Number | 検出ID | Unique |
| 検出タイトル | String | 検出タイトル | Overwrite |
| 検出リスクスコア | Number | 検出リスクスコア | Overwrite |
| Netskope正規化スコア | Number | Netskope正規化スコア | Overwrite |
| 検出タイプ | String | 検出タイプ | Overwrite |
| Role | String | Role | Overwrite |
| 外部 | String | 外部 | Overwrite |
| ユーザー名 | List | ユーザー名 | Overwrite |
| Hostname | String | Hostname | Overwrite |
| 検出状況 | String | 検出状況 | Overwrite |
| URL | String | URL | Overwrite |
| デバイスID | Number | デバイスID | Unique |
| VPC ID | String | VPC ID | Overwrite |
| Default Name | String | Default Name | Overwrite |
| サブネットID | String | サブネットID | Overwrite |
| DHCP Name | String | DHCP Name | Overwrite |
| VLAN ID | Number | VLAN ID | Overwrite |
| Vendor | String | Vendor | Overwrite |
| MACアドレス | String | MACアドレス | Overwrite |
| DNS Name | String | DNS Name | Overwrite |
| IPv4アドレス | String | IPv4アドレス | Overwrite |
| IPv6アドレス | String | IPv6アドレス | Overwrite |
| カスタムタイプ | String | カスタムタイプ | Overwrite |
| カスタム名 | String | カスタム名 | Overwrite |
| Display Name | String | Display Name | Overwrite |
| 致命的 | String | 致命的 | Overwrite |
| ディスカバリーID | String | ディスカバリーID | Overwrite |
| ExtraHop ID | String | ExtraHop ID | Overwrite |
| クラウドインスタンス名 | String | クラウドインスタンス名 | Overwrite |
| クラウドインスタンスタイプ | String | クラウドインスタンスタイプ | Overwrite |
| クラウドインスタンスID | String | クラウドインスタンスID | Overwrite |
| クラウドアカウント | String | クラウドアカウント | Overwrite |
| NetBIOS名 | String | NetBIOS名 | Overwrite |
| デバイスクラス | String | デバイスクラス | Overwrite |
| Analysis | String | Analysis | Overwrite |
| 分析レベル | String | 分析レベル | Overwrite |
正規化スコアの計算
Netskopeの正規化スコアの計算式 = (100 – ExtraHopの現在の検出リスクスコア) x 10。
権限
ユーザーには以下の最低限の権限が必要です。
- システムアクセス:完全に読むのみ。
- NDRモジュールへのアクセス:アクセス不可。
- NPMモジュールへのアクセス:アクセス不可。
- パケットおよびセッションキーへのアクセス:アクセス不可。
APIの詳細
使うAPI一覧
| APIエンドポイント | 方法 | 使うケース |
|---|---|---|
| /oauth2/token | 役職 | 認証トークンを取得する |
| /api/v1/detections/search | 役職 | フェッチ検出 |
| /api/v1/devices/search | 役職 | フェッチデバイス |
認証トークンを取得する
API Endpoint: /oauth2/token
Method: 役職
Headers
| 鍵 | Value |
|---|---|
| Authorization | Basic <Client ID>:{Client Secret> |
| Content-Type | application/x-www-form-urlencoded |
| ユーザーエージェント | Netskope -ce-6.0.0-cre-extrahop-reveal(x)-360-v1.0.1 |
Params
| 鍵 | Value |
|---|---|
| grant_type | client_credentials |
Sample API Response
{
"access_token": "eyJraWQiOiJkbndoem42RUNpaW9mSDRSTWdVV0FlZ1lhRHMrVlRDeDhXN1dJZnpVYjZjPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIyYTFsN2ZkaGRxdHR1YzlpcXBzamd1bHNpcSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiY2NwXC9kZXRlY3Rpb25fYWNjZXNzX2xldmVsLmZ1bGwgY2NwXC9ucG1fYWNjZXNzX2xldmVsLm5vbmUgY2NwXC9wYWNrZXRzX2xldmVsLm5vbmUgY2NwXC93cml0ZV9sZXZlbC5mdWxsX3JlYWRvbmx5IiwiYXV0aF90aW1lIjoxNjk3OTgzNzAxLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl85YU9FMWltMXIiLCJleHAiOjE2OTc5ODQzMDEsImlhdCI6MTY5Nzk4MzcwMSwidmVyc2lvbiI6MiwianRpIjoiNTllMjc0ZGItMTYxMS00MDRjLTk1NzgtZWJiNDQwZmE5ZTU3IiwiY2xpZW50X2lkIjoiMmExbDdmZGhkcXR0dWM5aXFwc2pndWxzaXEifQ.pw-cbQTSVC1HlRdl_v63s3wbHnqsDNfVJ1Ln9H0GsJvHENKG5borLHIPTsquhov6rEmmzzs6NxMhX5VFY0dH0XWgmrV5BFN4Q5vASQ2lZVY_1NjEqYsJAcVLrzmxy7TqMN_L7kuoX5ijN_mAezxwfnj4hQfrd1ojUVt7_wzSUIVpZy6dDARs1EdrrFAZw70zXW7vTUlzhkiqMthAwD2TaoxOcewHFlC3lgvIjz_DoEYUB09qsP0EJ4oQNaCxetJjPkddN2DqVXEnAi5Jvz6fILbT-wFWua-AEBvk-GXGMXBUKCYs4g-ZvnWnSpcfsMAJZTTOO-05qpbnYE-K3N7qOQ",
"expires_in": 600,
"token_type": "Bearer"
}
フェッチ検出
API endpoint: /api/v1/detections/search
Method: 役職
Headers
| 鍵 | Value |
|---|---|
| Authorization | Bearer <Bearer Token> |
| ユーザーエージェント | Netskope -ce-6.0.0-cre-extrahop-reveal(x)-360-v1.0.1 |
Parameters
| 鍵 | Value |
|---|---|
| limit | 10000 |
| offset | 0 |
| mod_time | 1725987480001 |
| sort | {“direction”: “asc”, “field”: “mod_time”} |
Sample API Response
[{
“id”: 12884903439,
“start_time”: 1725987480001,
“update_time”: 1725991200000,
“end_time”: 1725987570000,
“title”: “LDAP Invalid Credentials Error”,
“description”: “[jump\\.i\\.rx\\.tours](https://extrahop-bd.cloud.extrahop.com#/metrics/devices/fa60fb84b3594c9bb8262f88e90a2c8b.0ea3bf8493e10000/overview?from=1725987480&interval_type=DT&until=1725987570) received an unusually high number of LDAP errors for invalid credentials. This behavior indicates that the user is repeatedly trying to authenticate, or bind, with a wrong distinguished name (DN) or password, an expired password, or credentials for a locked account. Confirm if [jump\\.i\\.rx\\.tours](https://extrahop-bd.cloud.extrahop.com#/metrics/devices/fa60fb84b3594c9bb8262f88e90a2c8b.0ea3bf8493e10000/overview?from=1725987480&interval_type=DT&until=1725987570) is compromised and attempting a brute force attack.”,
“risk_score”: 60,
“type”: “ldap_invalid_credentials_error”,
“recommended_factors”: [
“critical_asset”,
“top_offender”
],
“recommended”: true,
“categories”: [
“sec.lateral”,
“perf.auth”,
“perf”,
“sec”,
“sec.attack”
],
“properties”: {},
“participants”: [
{
“role”: “offender”,
“scanner_service”: null,
“endpoint”: null,
“external”: false,
“object_id”: 12884901938,
“object_type”: “device”,
“id”: 6897
},
{
“role”: “victim”,
“scanner_service”: null,
“endpoint”: null,
“external”: false,
“object_id”: 12884901891,
“object_type”: “device”,
“object_value”: “10.1.1.10”,
“id”: 2258
}
],
“ticket_id”: null,
“assignee”: null,
“status”: null,
“resolution”: null,
“mitre_tactics”: [
{
“id”: “TA0006”,
“name”: “Credential Access”,
“url”: “https://attack.mitre.org/tactics/TA0006”
},
{
“id”: “TA0040”,
“name”: “Impact”,
“url”: “https://attack.mitre.org/tactics/TA0040”
}
],
“mitre_techniques”: [
{
“id”: “T1110”,
“name”: “Brute Force”,
“url”: “https://attack.mitre.org/techniques/T1110”,
“legacy_ids”: [
“T1110”
]
},
{
“id”: “T1531”,
“name”: “Account Access Removal”,
“url”: “https://attack.mitre.org/techniques/T1531”,
“legacy_ids”: [
“T1531”
]
}
],
“appliance_id”: 3,
“is_user_created”: false,
“mod_time”: 1725991298714,
“create_time”: 1725987562417,
“url”: “https://extrahop-bd.cloud.extrahop.com/extrahop/#/detections/detail/12884903439/?from=1725986580&until=1725988470&interval_type=DT”
}
]
デバイスの取得
API endpoint: /api/v1/devices/search
Method: 役職
Headers
| 鍵 | Value |
|---|---|
| Authorization | Bearer <Bearer Token> |
| ユーザーエージェント | Netskope -ce-6.0.0-cre-extrahop-reveal(x)-360-v1.0.1 |
Payload
| 鍵 | Value | |
|---|---|---|
| filter | 分野 | id |
| operand | [12884901926] | |
| operator | in | |
| limit | 10000 | |
| offset | 0 | |
Sample API Response
[{
“vpc_id”: “vpc-0788ce1ab062ee642”,
“cdp_name”: “”,
“custom_model”: null,
“analysis_level”: 1,
“custom_make”: null,
“default_name”: “ 0e257a0641670000”,
“mod_time”: 1726707648876,
“subnet_id”: “subnet-0aada065085d74814”,
“dhcp_name”: “ip-10-1-100-248”,
“custom_criticality”: null,
“vlanid”: 0,
“discover_time”: 1713979140000,
“vendor”: null,
“macaddr”: “0E:25:7A:06:41:67”,
“dns_name”: “”,
“user_mod_time”: 1713979265453,
“ipaddr4”: null,
“ipaddr6”: null,
“custom_type”: “file_server”,
“custom_name”: “ftp1.i.rx.tours”,
“cloud_account”: “423411706765”,
“auto_role”: “other”,
“role”: “file_server”,
“display_name”: “ftp1.i.rx.tours”,
“last_seen_time”: 1724960970000,
“on_watchlist”: false,
“critical”: false,
“discovery_id”: “0e257a0641670000”,
“node_id”: 3,
“extrahop_id”: “0e257a0641670000”,
“cloud_instance_name”: null,
“cloud_instance_description”: null,
“cloud_instance_type”: null,
“cloud_instance_id”: “i-099c43de3a51df856”,
“model_override”: null、
“model”: null、
“netbios_name”: “”,、
“device_class”: “node”,、
“is_l3”: false、
“parent_id”: null、
“FTPリプション”: “FTP Service”,、
“id”: 12884901926、
“analysis”: “advanced”
}
]
パフォーマンスマトリックス
これらのパフォーマンス測定は、ExtraHopプラグインから50万台のデバイスレコードを取得することにより、これらのVM仕様を持つ大規模CEスタック上で実施されました。
| デスクリプション | Specifications |
|---|---|
| スタックの詳細 |
サイズ:大 |
| リスクスコアとともに取得したデバイスレコードを保存するのにかかる時間 | 約19分 |
ユーザーエージェント
Netskope -ce-6.0.0-cre-extrahop-reveal(x)-360-v1.0.1
ワークフロー
- ExtraHopでベースURL、クライアントID、クライアントシークレットを取得してください。
- ExtraHopプラグインを設定します。
- ExtraHop用のビジネスルールを追加します。
- ExtraHop用のアクションを追加します。
- ExtraHopプラグインを検証してください。
動画を見る
再生ボタンをクリックして動画をご覧ください。
ベースURL、クライアントID、クライアントシークレットを取得してください。
- ExtraHop プラットフォームにログインします。
- System Settings > Administration > API Accessへ移動してください。

- Create Credentialsをクリックして名前を入力し、クレデンシャルに対する最小限の権限を選択します。

- Saveをクリックして API エンドポイントをコピーし、そこから oath2/token を削除します。 これはプラグインのベースURLになります。IDとシークレットもコピーしてください。その秘密は、後から閲覧したり、取り戻したりすることはできません。これらはプラグインの設定に必要です。
ExtraHopプラグインを設定する
- Cloud Exchange で、 Settings > Plugin Storeに移動します。ExtraHop v1.0.1 (CRE)プラグインボックスを検索して選択します。

- 基本情報を入力してください:
- Configuration Name: 設定の名前を入力してください。
- Sync Interval: このプラグインソースからデータを取得する間隔。

- Nextをクリックして、設定パラメータを入力してください。
- Base URL: ExtraHop Reveal(x) 360 API ベース URL。ベースURLには/oauth/tokenを含めてはいけません。
- Client ID: ExtraHop Reveal(x) 360 API クライアント ID。
- Client Secret: ExtraHop Reveal(x) 360 API クライアント シークレット。
- Initial Range (in days): 初回実行時にデータを取得するのにかかる日数。

- Nextをクリックして、エンティティのドロップダウンリストからエンティティを選択します。
エンティティフィールドは、スキーマエディタページから作成するか、フィールドドロップダウンから+ Add Fieldオプションをクリックして作成できます。
現場のマッピング情報を提供してください。推奨されるマッピングについては、 「マッピング」セクションを参照してください。
- Saveをクリックしてください。

ExtraHopのリスク交換ビジネスルールを追加する
デバイスをフィルタリングするためにビジネス ルールを使用します。
- Risk ExchangeでBusiness Rulesに移動し、 Create New Ruleをクリックします。
- ルール名を入力し、エンティティを選択し、必要に応じてフィルターを指定してアクションを実行します。完了したら、 Saveをクリックしてください。

ExtraHopのリスク交換アクションを追加する
ExtraHopは「何もしない」アクションのみをサポートしています。
No Action
この操作では、いかなる動作も実行されません。この操作を実行すると、チケットオーケストレーターで UBA アラートを生成できます。
- Risk ExchangeでActionsに移動し、 Add Action Configurationをクリックします。
- ビジネスルール、構成、およびアクション(アクションなし) Select 。
- Saveをクリックしてください。

注記
- Netskopeでデバイス関連のアクションを実行するために、 Netskopeテナントの ExtraHop から取得したデバイスに対して他のアクションを実行できます。
- アクションの設定時に「承認が必要」のトグルが有効になっている場合は、上記のアクションログページで保留中の承認エントリを選択し、承認チェックマークボタンを選択して、必ず承認を行ってください。
- Ticket Orchestrator > アラートでアラートを生成するアクションを作成する際には、アラート生成を有効にする必要があり、また、Ticket Orchestratorモジュールも有効になっている必要があります。
ExtraHopプラグインを検証する
Cloud Exchangeで検証する
ExtraHopから取得したデバイスレコードを検証するには、 Loggingにアクセスして、Risk Exchange ExtraHopプラグインから取得したログを検索してください。
Example: message Like “[CRE ExtraHop]”

プルしたデータを確認するには、 Recordsに移動し、ExtraHop プラグインの構成中に使用するエンティティのタイプを選択します。 取得したレコードを確認してください。

ExtraHopで検証する
ExtraHop Reveal(x) 360 プラットフォームの検出ページからクラウド ワークロード (デバイス) を取得します。

どのデバイスでも、そのデバイスのいずれかをクリックしてから「 Go to Device Overview」をクリックすることで、その詳細を確認できます。

ExtraHopプラグインのトラブルシューティング
プラグインのワークフローでエラーが発生しました
CRE ExtraHop Reveal(x) 360 [configuration_name]: 無効なクライアントエラーが発生しました。クレデンシャルの認証用認証トークンを生成する際に、構成パラメータで指定されたクライアント ID とシークレットを確認してください。
What to do: ExtraHopのクライアントIDとシークレットを確認してください。参考として、 ExtraHopの設定を参照してください。
ExtraHopからデバイスが取得されることはありません
デバイスのデータが取得できない場合、原因は以下のいずれかである可能性があります。
- プラットフォーム上にプルするためのデバイスがありません
- マッピングはプラグインに追加されません
What to do:
- ExtraHopにアクセスして、検出ページからデバイスを取得できるかどうかを確認してください。
- プラグインの設定を編集し、エンティティソースページを確認してください。同じデータを取得するために、いくつかのフィールドがマッピングされているはずです。

