Notes de mise à jour
2.6.0 (Required minimum CE version for this is 7.0.0)
Added
- Prise en charge ajoutée pour l'utilisation de préfixes avec les IoC CIDR et les IoC RANGE lors de leur partage vers le profil de destination.
- Ajout de la prise en charge des IoC CIDR IPv4 lors de leur partage vers la liste des applications privées et des URL.
Updated
- Mise à jour du journal de partage d'applications privées afin d'inclure le nombre d'IoC ignorés en raison de types non pris en charge.
- Mise à jour de l'expression régulière de validation FQDN pour prendre en charge les noms d'hôtes comportant plusieurs libellés pour le partage d'applications privées.
- Actions de partage améliorées avec le suivi skipped_iocs pour garantir que les IOC non pris en charge conservent le statut de résultat de partage correct après les cycles de retrait et de restauration.
- Amélioration du balisage Non partagé pour garantir que tous les IOC qui ne sont pas partagés sont systématiquement marqués comme Non partagés lors des actions de partage.
Fixed
- Ajout de mappages de clés de destination uniques pour l'application privée (Private App) et la liste de hachages de fichiers afin d'éviter que les données ne soient écrasées par d'autres actions.
2.5.0
Added
- Added support for DNS Profile sharing and push retraction. (Min. required CE version: 6.1.0)
- Added logic for skipping tags longer than 30 characters for Private App sharing action.
2.4.0
Added
- Added support for Destination Profile sharing and delete retraction. (Min. required CE version: 6.1.0)
- Added delete retraction for URL List.
- Added resolution for error logs.
Changed
- Updated URL List sharing to share only modified indicators. (Min. required CE version: 6.1.0)
- Updated error log to info log when duplicate file hashes are shared.
- Updated sharing behavior irrespective of selected IOC types in configuration.
2.3.0
Added
- Added configuration option to enable/disable querying Retrohunt API.
Fixed
- Fixed tagging of indicators while sharing.
2.2.0
Added
- Added support for retraction of False Positive if IoC type is File Hash. (Min. required CE version: 5.1.0)
- Added support for port range in Add to Private App Target.
- Added support for severity in URL IoCs.
Changed
- Pull only malicious file hash IoCs using Retrohunt.
- Updated URL List limit to 7 MB from 8 MB.
2.1.3
Changed
- Bug fixes.
2.1.2
Added
- Added support to create indicators from SHA256 and MD5 fields, along with Local SHA256 and Local MD5, from malware alerts.
2.1.1
Changed
- Updated authentication for V1 token.
2.1.0
Added
- Added support for retraction of retracted IoCs. It does not support fetching retracted indicators from the Netskope tenant.
2.0.0
Changed
- The Netskope CTE plugin has been restructured and is now available in the Default repository.
1.0.0
Added
- Initial release.
Ce document explique comment configurer le plugin Threat Exchange v2.6.0 dans la plate-forme Cloud Exchange. Ce plugin est utilisé pour récupérer les hachages de fichiers (MD5 et SHA256) ainsi que les URL (URL, IPv4, nom d'hôte, domaine et FQDN) à partir des alertes relatives aux programmes malveillants (malware) et aux sites malveillants (malsite) disponibles sur le locataire Netskope depuis Skope IT > Alerts.
Ce plugin prend également en charge le partage d'indicateurs de hachage de fichier (MD5 et SHA256) et d'URL (URL, IPv4, nom d'hôte, domaine et FQDN) vers une liste de hachages de fichiers (Politiques > Profils > Fichier), une liste d'URL (Politiques > Profils > Listes d'URL), une application privée (Paramètres > Plateforme cloud de sécurité > Définition d'application > Application privée), des profils de destination (Politiques > Profils > Destination) et des profils DNS (Politiques > Profils > DNS) au sein de Netskope.
Prenez en compte la taille maximale des données que la liste de hachages de fichiers Netskope peut contenir (8 Mo), que la liste d'URL peut contenir (7 Mo) et que le profil DNS peut contenir (16 Mo) lors de la configuration de la règle métier.
Conditions préalables
Pour compléter cette configuration, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- Un profil de fichier sur votre locataire Netskope.
- A URL List on your Netskope tenant.
- A Destination Profile on your Netskope tenant.
- A Private App on your Netskope tenant.
- A DNS Profile on your Netskope Tenant
- Un locataire Netskope Cloud Exchange avec le module Tenant plugin déjà configuré et le module Threat Exchange activé. Remarque : La version minimale requise du locataire est Netskope Tenant v1.6.2
- Un plugin Threat Exchange tiers comme CrowdStrike ou MISP.
- Connectivité à un locataire Netskope autorisé à générer des jetons.
- Need Retrohunt API by File Hash feature enabled in Netskope Tenant
- Need Destination Profile feature enabled in Netskope Tenant
- Need Netskope SWG License for the Destination Profile
Prise en charge du plugin Threat Exchange
Ce plugin est utilisé pour récupérer les hachages de fichiers (MD5 et SHA256) et les URL (URL, IPv4, nom d'hôte, domaine et FQDN) des alertes Malware et Malsite disponibles sur le locataire Netskope à partir de Skope IT > Alerts.
Ce plugin prend également en charge le partage d'indicateurs de hachage de fichier (MD5 et SHA256) et d'URL (URL, IPv4, nom d'hôte, domaine et FQDN) vers une liste de hachages de fichiers (Politiques > Profils > Fichier), une liste d'URL (Politiques > Profils > Listes d'URL), une application privée (Paramètres > Plateforme cloud de sécurité > Définition d'application > Application privée), des profils de destination (Politiques > Profils > Destination) et des profils DNS (Politiques > Profils > DNS) au sein de Netskope.
Prenez en compte la taille maximale des données que la liste de hachages de fichiers Netskope peut contenir (8 Mo), que la liste d'URL peut contenir (7 Mo) et que le profil DNS peut contenir (16 Mo) lors de la configuration de la règle métier.
| Types d'indicateurs recherchés (alertes Malware et Malsite) | Types d'indicateurs partagés |
|---|---|
| SHA256 MD5 Domaine IPv4 Local_MD5 Local_SHA256 URL | SHA256 MD5 Domaine IPv4 URL |
Note
- La prise en charge de l'ajout de préfixes aux IOC CIDR et aux IOC RANGE lors de leur partage avec le profil de destination est disponible à partir de CE v7.0.0.
- La prise en charge du partage des IOC CIDR IPv4 vers l'application privée et la liste d'URL est disponible à partir de CE v7.0.0
Retrait de l'IoC
IoC Retraction (Pull): les IoC qui sont des faux positifs (verdict clean) selon l'endpoint retrohunt (retrohunt/ioc/getinfo) seront marqués comme retirés dans CE si l'option Enable Retrohunt est définie sur Yes dans la configuration du plugin.
IOC Retraction (Push): Les indicateurs retirés présents sur CE seront supprimés du locataire Netskope lors du partage.
| Type de rétraction | Type de rétraction supportée |
|---|---|
| Retrait de l'IoC (Pull) | Oui |
| Retrait de l'IoC (Push) | Oui |
Mises en correspondance
| Champs de Cloud Exchange | Champs Netskope |
|---|---|
| value | Malware local_md5, local_sha256, SHA256 et MD5 Malsite |
| type | Malware MD5, SHA256 Malsite URL |
| commentaires | Malware <Tenant URL> – objet Exemple : https://crest-plugin-support.de.goskope.com – , Nom du malware : amtest, Type de malware : hachage Malsite <Tenant URL> – malsite_category Exemple : https://crest-plugin-support.de.goskope.com – Site malveillant, Site de phishing, Bot |
| sévérité | Malware retrohunt.severity_updated or retrohunt.severity or severity 1: low 2: medium 3: high Malsite sévérité |
| firstseen, lastseen | horodatage |
Permissions
- Besoin d'un jeton v2 créé à l'aide du rôle Netskope Cloud Exchange.
- Les autorisations requises (niveaux de privilèges) pour chaque plugin sont disponibles dans les champs d'application de l'API REST.
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| /api/v2/events/dataexport/alerts/malware | OBTENIR | Pull the Malware alerts from Netskope tenant |
| /api/v2/events/dataexport/alerts/malsite | OBTENIR | Pull the Malsite alerts from Netskope tenant |
| /api/v1/updateFileHashList | PUBLIER | Push the file hashes to Netskope Tenant |
| /api/v2/policy/urllist | OBTENIR | Obtenir des listes d'URL |
| /api/v2/policy/urllist | PUBLIER | Create URL List |
| /api/v2/policy/urllist/{}/append | PATCH | Push the URLs to Netskope |
| /api/v2/policy/urllist/deploy | PUBLIER | Deploy changes to Netskope URL List |
| /api/v2/steering/apps/private | OBTENIR | List Private Apps |
| /api/v2/infrastructure/publishers | OBTENIR | Liste des éditeurs pour les applications privées |
| /api/v2/steering/apps/private | PATCH | Push Private App to Netskope Tenant |
| /api/v2/nsiq/retrohunt/ioc/getinfo | PUBLIER | Gravité des faux positifs et des chasses à l'homme de Fetch |
| /api/v2/policy/urllist/{}/replace | PATCH | Push the URLs to Netskope for delete retraction |
| /api/v2/profiles/destinations | OBTENIR | Get Destination Profiles |
| /api/v2/profiles/destinations | PUBLIER | Create Destination Profile |
| /api/v2/profiles/destinations/{}/values | PUBLIER | Push or Remove Destination Profile Values |
| /api/v2/profiles/destinations/deploy | PUBLIER | Apply Pending Changes for a Destination Profile |
| /api/v2/profiles/dns | OBTENIR | Get DNS Profiles |
| /api/v2/profiles/dns | PUBLIER | Create DNS Profile |
| /api/v2/profiles/dns/{} | PATCH | Update DNS Profile |
| /api/v2/profiles/dns/domaincategories | OBTENIR | Get DNS categories |
| /api/v2/profiles/dns/recordtypes | OBTENIR | Obtenir les types d'enregistrements DNS |
Pull the Malware alerts from Netskope tenant
API Endpoint: https://<tenant-url>/api/v2/events/dataexport/alerts/malware
Method: OBTENIR
Request Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_rbac3_token> |
| User-Agent | netskope-ce-7.0.0 |
Sample API Response
{
"ok": 1,
"result": [
{
"TSS-scan": "v2",
"_id": "ca2cd2413493f18eeb65b2",
"access_method": "API Connector",
"acked": "false",
"action": "Detection",
"activity": "Introspection Scan",
"alert": "yes",
"alert_name": "VBA.Heur.EmotetDldr.1.3CBCEF4D.Gen:94075",
"alert_type": "Malware",
"app": "Dropbox",
"app_name": "Dropbox",
"app_session_id": 97439093538764,
"appcategory": "Cloud Storage",
"category": "Cloud Storage",
"cci": 81,
"ccl": "high",
"connection_id": 115689096495576,
"count": 1,
"created_date": 1751544554,
"detection_engine": "Netskope Advanced Heuristic Analysis",
"detection_type": "Virus",
"device": "Other",
"dst_country": "US",
"dst_geoip_src": 2,
"dst_latitude": 37.77,
"dst_location": "San Francisco",
"dst_longitude": -122.4,
"dst_region": "California",
"dst_zipcode": "94107",
"dstip": "162.125.8.18",
"file_id": "id:RqCtsmy9paAAAAAAAAP9LA",
"file_name": "testpdv_5e673d7973900c3c1ed399_66b8e7b2e881b711aca1b98d91d5ce3b_1751544269_office_clafier.doc",
"file_path": "/tss-sanity-1751a0b8/testpdv_5e67ccdec797303d7973900c3c1ed399_66b8e7b2e881b711aca1b98d91d5ce3b_1751544269_office_classifier.doc",
"file_size": 156874,
"file_type": "application/ms-word",
"filename": "testpdv_5e67ccde0c3c1ed399_66b8e7b2e881b711aca1b98d91d5ce3b_1751544269_office_classifier.doc",
"incident_id": 1000362732176413775,
"instance": "TEST Netskope MW 1",
"local_md5": "66e881b711aca1b98d91d5ce3b",
"local_sha256": "6712afc5119e5303a6dedcb4b61cf2f1ee525cd2c9d4da31d21",
"malware_id": "6c2e227369044356354b84add6456611",
"malware_name": "VBA.Heur.EtDldr.1.3CBCEF4D.Gen:94075",
"malware_severity": "high",
"malware_type": "Virus",
"md5": "66b8e7b2e8aca1b98d91d5ce3b",
"mime_type": "application/msword",
"modified_date": 1751544429,
"object": "testpdv_5e973900c3c1ed399_66b8e7b2e881b711aca1b98d91d5ce3b_1751544269_office_classifier.doc",
"object_id": "id:RqCtsmyAAAP9LA",
"object_type": "File",
"organization_unit": "",
"policy": "2214472052546912863",
"request_id": 0,
"scan_time": 1751544554,
"scan_type": "ongoing",
"scanner_result": "malicious",
"severity": "high",
"severity_id": 3,
"sha1": "c66724a30cf9a0e0558ec3028d",
"sha256": "6712afc5119e507259dcb4b61cf2f1ee525cd2c9d4da31d21",
"shared_type": "private",
"site": "Dropbox",
"timestamp": 1751544733,
"title": "testpdv_5e67ccd399_66b8e7b2e881b711aca1b98d91d5ce3b_1751544269_office_classifier.doc",
"traffic_type": "CloudApp",
"transaction_id": 1000362732176413775,
"true_filetype": "None",
"tss_license": "True",
"tss_mode": "introspection",
"type": "nspolicy",
"ur_normalized": "ali+nsmtp@netskope.com",
"url": "https://www.dropbox.com/work/tss-sanity-17515441674e95a0b8?preview=testpdv_5e67ccdec797303d7911aca1b98d91d5ce3b_1751544269_office_classifier.doc",
"user": "alitp@netskope.com",
"user_id": "dbmi1Dimthhx2TJyIhxpudwxGmM",
"record_type": "alert",
"file_category": "",
"usr_title": "",
"src_latitude": 0.0,
"managementID": "",
"userCountry": "",
"department": "",
"browser": "",
"userip": "",
"page": "",
"from_user": "",
"appsuite": "",
"os": "",
"shared_with": [],
"sanctioned_instance": "",
"os_version": "",
"company": "",
"usr_udf_supervisorname": "",
"dst_timezone": "",
"user_confidence_index": 0,
"browser_session_id": 0,
"src_geoip_src": 0,
"usr_udf_companyname": "",
"srcip": "",
"usr_udf_supervisorid": "",
"src_zipcode": "",
"hostname": "",
"manager": "",
"usr_udf_businesssegmentlevel1": "",
"protocol": "",
"usr_udf_businesssegmentlevel3": "",
"custom_attr": {},
"usr_status": "",
"usr_udf_businesssegmentlevel2": "",
"usr_udf_businesssegmentlevel4": "",
"src_country": "",
"parent_id": "",
"src_location": "",
"src_region": "",
"device_classification": "",
"instance_id": "",
"malware_profile": "",
"tss_fail_reason": "",
"browser_version": "",
"usr_udf_primarydomain": "",
"usr_udf_employeeid": "",
"src_timezone": "",
"policy_id": "",
"usr_display_name": "",
"managed_app": "",
"tss_scan_failed": "",
"src_time": "",
"fastscan_results": "",
"referer": "",
"ml_detection": "",
"nsdeviceuid": "",
"userPrincipalName": "",
"src_longitude": 0.0,
"page_site": ""
}
],
"wait_time": 5,
"timestamp_hwm": 1751544743
}
Pull the Malsite alerts from Netskope tenant
API Endpoint: https://<tenant-url>/api/v2/events/dataexport/alerts/malsite
Method: OBTENIR
Request Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_rbac3_token> |
| User-Agent | netskope-ce-7.0.0 |
Sample API Response
{
"ok": 1,
"result": [
{
"_id": "96e20f6e73d2867d1865d",
"access_method": "Client",
"acked": "false",
"action": "block",
"alert": "yes",
"alert_name": "ww25.cleansix.xyz",
"alert_type": "malsite",
"app": "",
"app_session_id": 8130338485448244761,
"appcategory": "Security Risk - Cosed/malicious sites",
"browser_session_id": 5158615776615133890,
"category": "Security Risk - Comised/malicious sites",
"cci": 0,
"ccl": "unknown",
"connection_id": 0,
"count": 1,
"device": "Linux Device",
"device_classification": "not configured",
"dst_country": "US",
"dst_latitude": 27.947519302368164,
"dst_location": "Tampa",
"dst_longitude": -82.45842742919922,
"dst_region": "Florida",
"dst_timezone": "America/New_York",
"dst_zipcode": "N/A",
"dstip": "199.59.243.228",
"dstport": 80,
"hostname": "ip-172-31-29-12",
"incident_id": 374545097297887,
"ja3": "NotAvailable",
"ja3s": "NotAvailable",
"malicious": "yes",
"malsite_category": [
"Malicious Site"
],
"malsite_country": "US",
"malsite_id": "94c0d6c6de81b144a968",
"malsite_ip_host": "199.59.43.228",
"malsite_latitude": 27.9479302368164,
"malsite_longitude": -82.458422919922,
"malsite_region": "Florida",
"managed_app": "no",
"notify_template": "sileblock.html",
"organization_unit": "",
"os": "Linux",
"os_version": "Linux 22.04.4",
"other_categories": [
"Security Risk",
"Security Risk - Compromised/malicious sites"
],
"page": "ww25.cl.xyz/?subid1=20250627-2139f4956fa",
"page_site": "cleansix",
"policy": "MalsiteCategoryTestPolicy",
"policy_id": "21BDBAE80 2025-05-28 11:59:16.009444",
"protocol": "HTTPS/1.1",
"request_id": 3745126345097297887,
"severity": "high",
"severity_level": "med",
"severity_level_id": 1,
"site": "cleansix",
"src_country": "US",
"src_latitude": 39.0469,
"src_location": "Ashburn",
"src_longitude": -77.4903,
"src_region": "Virginia",
"src_time": "Fri Jun 27 07:32:58 2025",
"src_timezone": "America/New_York",
"src_zipcode": "20149",
"srcip": "52.23.214.14",
"telemetry_app": "",
"threat_match_field": "domain",
"threat_match_value": "ww25.cleansix.xyz",
"threat_source_id": 1,
"timestamp": 1751023978,
"traffic_type": "Web",
"transaction_id": 3745097297887,
"type": "malsite",
"ur_normalized": "nijani@crestdatasys.com",
"url": "ww25.clix.xyz/",
"user": "nijlani@crestdatasys.com",
"useragent": "Python/3.10 aiohttp/3.10.5",
"userip": "172.31.29.12",
"record_type": "alert",
"malsite_confidence": 0,
"object": "",
"referer": "",
"sAMAccountName": "",
"malsite_hostility": "",
"fromlogs": "",
"malsite_first_seen": 0,
"custom_attr": {},
"object_type": "",
"conn_duration": 0,
"universal_connector": "",
"dsthost": "",
"malsite_last_seen": 0,
"suppression_end_time": 0,
"co": "",
"malsite_active": "",
"retro_scan_name": "",
"from_user": "",
"aggregated_user": "",
"division": "",
"req_cnt": 0,
"resp_cnt": 0,
"org": "",
"log_file_name": "",
"browser_version": "",
"department": "",
"browser": "",
"dst_geoip_src": 0,
"gateway": "",
"server_bytes": 0,
"malsite_consecutive": "",
"numbytes": 0,
"malsite_reputation": "",
"appsuite": "",
"serial": "",
"client_bytes": 0,
"src_geoip_src": 0,
"suppression_start_time": 0,
"sfwder": ""
}
],
"wait_time": 5,
"timestamp_hwm": 1751023980
}
Push the file hashes to Netskope Tenant
API Endpoint: https://<tenant-url>/api/v1/updateFileHashList
Method: PUBLIER
Body:
{
"name": "<Name of FileHash List>",
"list": "<MD5 and SHA256 values comma separated>",
"token": <Netskope Tenant V1 Token>,
}
Obtenir des listes d'URL
API Endpoint: https://<tenant-url>/api/v2/policy/urllist
Method: OBTENIR
Request Headers
| Clé | Value |
|---|---|
| Netskope-API-Token | <netskope_api_rbac3_token> |
| User-Agent | netskope-ce-7.0.0 |
| X-CE-Installation-Id | <installation_id> |
Parameters
| Clé | Value |
|---|---|
| champ | id,name |
Sample API Response
[
{
"id": 1,
"name": "test"
}
]
Create URL List
API Endpoint: https://<tenant-url>/api/v2/policy/urllist
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"data": {
"type": "exact",
"urls": [
"www.test.com"
]
},
"name": "string"
}
Sample API Response
[
{
"data": {
"type": "exact",
"urls": [
"www.test.com"
]
},
"id": 0,
"modify_by": "Netskope API",
"modify_time": "1997-01-01 00:00:00",
"modify_type": "Created",
"name": "string",
"pending": 0
}
]
Push the URLs to Netskope
API Endpoint: https://<tenant-url>/api/v2/policy/urllist/<urllist_id>/append
Method: PATCH
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"data": {
"urls": [
"https://example.com/resource/product-000001"
],
"type": "exact"
}
}
Sample API Response
{
"data": {
"type": "exact",
"urls": [
"https://example.com/resource/product-000001"
]
},
"id": 0,
"modify_by": "Netskope API",
"modify_time": "2025-01-01 00:00:00",
"modify_type": "Edited",
"name": "string",
"pending": 0
}
Deploy changes to Netskope URL List
API Endpoint: https://<tenant-url>/api/v2/policy/urllist/deploy
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Sample API Response
[
{
"data": {
"type": "exact",
"urls": [
"www.test.com"
]
},
"id": 0,
"modify_by": "Netskope API",
"modify_time": "1997-01-01 00:00:00",
"modify_type": "Created",
"name": "string",
"pending": 0
}
]
List the Private apps from Netskope Tenant
API Endpoint: https://<tenant-url>/api/v2/steering/apps/private
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Parameters
| Clé | Value |
|---|---|
| champs | app_id,app_name |
Sample API Response
{
"data": {
"private_apps": [
{
"app_id": 51,
"app_name": "[<private_app_name>]",
},
….
]
},
"status": "success",
"total": 2
}
List Publisher for Private Apps
API Endpoint: https://<tenant-url>/api/v2/infrastructure/publishers
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Parameters
| Clé | Value |
|---|---|
| champs | publisher_id,publisher_name |
Sample API Response
{
"data": {
"publishers": [
{
"publisher_id": 3,
"publisher_name": "<publisher_name>"
},
….
]
},
"status": "success",
"total": 5
}
Push Private App to Netskope Tenant
API Endpoint: https://<tenant-url>/api/v2/steering/apps/private/<app_id>
Method: PATCH
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"host": "1.1.1.1,3.2.14.4",
"protocols": [
{
"port": "23",
"type": "TCP"
}
],
"publishers": [
{
"publisher_id": "3",
"publisher_name": "<publisher_name>"
}
],
"tags": [
{
"tag_name": "test"
}
]
}
Sample API Response
{
"data": {
"allow_unauthenticated_cors": false,
"allow_uri_bypass": false,
"app_id": 51,
"app_name": "[<app_name>]",
"app_option": {},
"bypass_uris": [],
"clientless_access": false,
"host": "1.1.1.1,3.2.14.4",
"id": 51,
"is_user_portal_app": false,
"modified_by": "apigw",
"modify_time": "2025-04-01 04:03:31",
"name": "[Risk Exchange Demo]",
"policies": [],
"private_app_protocol": "",
"protocols": [
{
"created_at": "2025-04-01T04:03:31.659Z",
"id": 270,
"port": "23",
"service_id": 3,
"transport": "tcp",
"updated_at": "2025-04-01T04:03:31.659Z"
}
],
"public_host": "",
"reachability": {
"reachable": false
},
"real_host": "",
"service_publisher_assignments": [
{
"primary": null,
"publisher_id": 3,
"publisher_name": "<publisher_name>",
"reachability": null,
"service_id": 51
}
],
"steering_configs": [
"Default tenant config"
],
"supplement_dns_for_osx": false,
"tags": [
{
"tag_id": 153,
"tag_name": "test"
}
],
"trust_self_signed_certs": false,
"uribypass_header_value": "",
"use_publisher_dns": false
},
"status": "success"
}
Gravité des faux positifs et des chasses à l'homme de Fetch
API Endpoint: https://<tenant-url>/api/v2/nsiq/retrohunt/ioc/getinfo
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"hash": [
"e0b060152606988664368bd658cbec4b"
]
}
Sample API Response
{
"status": "OK",
"result": {
"e0b060152606988664368bd658cbec4b": {
"seen": true,
"verdict": "malicious",
"severity": 3,
"md5": "e0b060152606988664368bd658cbec4b",
"sha256": "263689ec92f357b573206c06d27ae957bf17be7ff2b90f917543432b01e3be10",
"malware_name": "Backdoor",
"latest_detection_date": 1750150278,
"verdict_updated": "clean",
"severity_updated": 0
}
}
}
Push the URLs to Netskope for delete retraction
API Endpoint: https://<tenant-url>/api/v2/policy/urllist/<urllist_id>/replace
Method: PATCH
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"data": {
"urls": [
"https://example.com/resource/product-000001"
],
"type": "exact"
}
}
Sample API Response
{
"data": {
"type": "exact",
"urls": [
"https://example.com/resource/product-000001"
]
},
"id": 0,
"modify_by": "Netskope API",
"modify_time": "2025-01-01 00:00:00",
"modify_type": "Edited",
"name": "string",
"pending": 1
}
Get Destination Profiles
API Endpoint: https://<tenant-url>/api/v2/profiles/destinations
Method: OBTENIR
Request Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Parameters
| Clé | Value |
|---|---|
| champs | id,name,type,values_count |
| offset | 0 |
| limit | 100 |
Sample API Response
{
"elements": [
{
"id": "dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47",
"name": "CTE Destination Profile",
"type": "insensitive",
"values_count": 100000
}
],
"total_count": 1
}
Create Destination Profile
API Endpoint: https://<tenant-url>/api/v2/profiles/destinations
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"description": "my destination description",
"name": "CTE Destination Profile",
"type": "insensitive",
"values": [
"example.com/resource/product-000001"
]
}
Sample API Response
{
"id": "dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47",
"name": "CTE Destination Profile",
"description": "my destination description",
"type": "insensitive",
"values": [
"example.com/resource/product-000001"
],
"values_count": 1,
"status": "applied",
"create_by": "NetskopeCE",
"create_time": "2026-04-01T08:48:50.284153069Z",
"modify_by": "NetskopeCE-Dev",
"modify_time": "2026-04-01T08:48:50.284153069Z",
"label_ids": []
}
Push or Remove Destination Profile Values
API Endpoint: https://<tenant-url>/api/v2/profiles/destinations/<destination-profile-id>/values
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"operation": {
"op": "append",
"values": [
"www.example.com/mypath1",
"www.example.com/mypath2"
]
}
}
OR
{
"operation": {
"op": "remove",
"values": [
"www.example.com/mypath1",
"www.example.com/mypath2"
]
}
}
Sample API Response
{
"id": "dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47",
"name": "CTE Destination Profile",
"description": "my destination description",
"type": "insensitive",
"values": [
"example.com/resource/product-000001",
"www.example.com/mypath1",
"www.example.com/mypath2"
],
"values_count": 3,
"status": "applied",
"create_by": "NetskopeCE",
"create_time": "2026-04-01T08:43:21.661Z",
"modify_by": "NetskopeCE",
"modify_time": "2026-04-01T08:43:53.825Z",
"label_ids": []
}
Remove for Delete Retraction
{
"id": "dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47",
"name": "CTE Destination Profile",
"description": "my destination description",
"type": "insensitive",
"values": [
"example.com/resource/product-000001"
],
"values_count": 1,
"status": "applied",
"create_by": "NetskopeCE",
"create_time": "2026-04-01T08:43:21.661Z",
"modify_by": "NetskopeCE",
"modify_time": "2026-04-01T08:50:12.81Z",
"label_ids": []
}
Apply Pending Changes for a Destination Profile
API Endpoint: https://<tenant-url>/api/v2/profiles/destinations/deploy
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Body
{
"ids": [
"dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47"
]
}
Sample API Response
{
"applied": [
"dfbd59ab-xxxx-xxxx-xxxx-81b7bc805f47"
]
}
Get DNS Profiles
API Endpoint: https://<tenant-url>/api/v2/profiles/dns
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Query Parameters
| Clé | Value | Description |
|---|---|---|
| limit | 150 | Pagination limit |
| offset | 0 | Pagination offset |
| champs | id,name | Fields to get in the API response |
| filter | Name eq “<Profile Name> | Used to get a DNS profile details by name |
Sample Response
{
"profiles": [
{
"id": "43b69ef8-47b1-11f1-b64b-86231e291fcc",
"name": "Netskope DNS Profile 1"
},
{
"id": "783e8454-4d26-11f1-a0bb-0e3351bf9dec",
"name": "Netskope DNS Profile 2"
}
],
"total": 2
}
Create DNS Profile
API Endpoint: https://<tenant-url>/api/v2/profiles/dns
Method: PUBLIER
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Request Body
{
"name": "My Profile",
"log_traffic": "Blocked DNS",
"domain_config": {
"security_categories": [
{
"name": "Newly Registered Domain",
"action": "Sinkhole"
}
],
"allow_list": [
{
"record_types": [
"All Record Types"
],
"domain_names": [
"abc.com"
]
}
],
"block_list": [
{
"record_types": [
"All Record Types"
],
"domain_names": [
"xyz.com"
]
}
],
"sinkhole_ip": "1.2.3.4",
"block_all_except_allow_list": false
}
}
Sample Response
{
"applied_time": "2026-05-15 10:41:26",
"create_by": "RBACv3",
"create_time": "Fri, 15 May 2026 10:41:26 GMT",
"custom_config": {
"bypass_original_dns": false,
"enable": false,
"fallback_to_netskope_dns": true,
"server_ip": []
},
"description": "",
"domain_config": {
"allow_list": [
{
"destination_profiles": [],
"domain_names": [
"abc.com"
],
"record_types": [
"All Record Types"
]
}
],
"block_all_except_allow_list": false,
"block_list": [
{
"destination_profiles": [],
"domain_names": [
"xyz.com"
],
"record_types": [
"All Record Types"
]
}
],
"security_categories": [
{
"action": "Sinkhole",
"name": "Newly Registered Domain"
}
],
"sinkhole_ip": "1.2.3.4"
},
"id": "9ffaa12c-504a-11f1-bd75-6ae4e2669381",
"log_traffic": "Blocked DNS",
"modify_by": "RBACv3",
"modify_time": "Fri, 15 May 2026 10:41:26 GMT",
"name": "My Profile",
"status": "Applied",
"tunnel_config": {
"allow_list": [],
"enable": false
}
}
Update DNS Profile
API Endpoint: https://<tenant-url>/api/v2/profiles/dns/{profile_id}
Method: PATCH
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Path Parameter
| Clé | Value |
|---|---|
| profile_id | 173axxxx-xxxx-xxxx-xxxx-xxxxe2669381 |
Request Body
{
"domain_config": {
"security_categories": [
{
"name": "Newly Registered Domain",
"action": "Sinkhole"
}
],
"allow_list": [
{
"record_types": [
"All Record Types"
],
"domain_names": [
"abc.com"
]
}
],
"block_list": [
{
"record_types": [
"All Record Types"
],
"domain_names": [
"xyz.com"
]
}
],
"sinkhole_ip": "1.2.3.4",
"block_all_except_allow_list": false
}
}
Sample Response
{
"applied_time": "2026-05-15 10:41:26",
"create_by": "RBACv3",
"create_time": "Fri, 15 May 2026 10:41:26 GMT",
"custom_config": {
"bypass_original_dns": false,
"enable": false,
"fallback_to_netskope_dns": true,
"server_ip": []
},
"description": "",
"domain_config": {
"allow_list": [
{
"destination_profiles": [],
"domain_names": [
"abc.com"
],
"record_types": [
"All Record Types"
]
}
],
"block_all_except_allow_list": false,
"block_list": [
{
"destination_profiles": [],
"domain_names": [
"xyz.com"
],
"record_types": [
"All Record Types"
]
}
],
"security_categories": [
{
"action": "Sinkhole",
"name": "Newly Registered Domain"
}
],
"sinkhole_ip": "1.2.3.4"
},
"id": "9ffaa12c-504a-11f1-bd75-6ae4e2669381",
"log_traffic": "Blocked DNS",
"modify_by": "RBACv3",
"modify_time": "Fri, 15 May 2026 10:41:26 GMT",
"name": "My Profile",
"status": "Applied",
"tunnel_config": {
"allow_list": [],
"enable": false
}
}
Get DNS Categories
API Endpoint: https://<tenant-url>/api/v2/profiles/dns/domaincategories
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Query Parameters
| Clé | Value |
|---|---|
| limit | 150 |
| offset | 0 |
| sortby | name |
| sortorder | asc |
Sample Response
{
"domaincategories": [
{
"category_type": "Security",
"id": "575",
"name": "Newly Observed Domain"
},
{
"category_type": "Security",
"id": "574",
"name": "Newly Registered Domain"
},
{
"category_type": "Security",
"id": "583",
"name": "Security Risk - Ad Fraud"
},
{
"category_type": "Security",
"id": "588",
"name": "Security Risk - Attack"
},
{
"category_type": "Security",
"id": "578",
"name": "Security Risk - Botnets"
},
{
"category_type": "Security",
"id": "579",
"name": "Security Risk - Command and Control server"
},
{
"category_type": "Security",
"id": "580",
"name": "Security Risk - Compromised/malicious sites"
},
{
"category_type": "Security",
"id": "589",
"name": "Security Risk - Cryptocurrency Mining"
},
{
"category_type": "Security",
"id": "594",
"name": "Security Risk - DGA"
},
{
"category_type": "Security",
"id": "584",
"name": "Security Risk - Hacking"
}
],
"total": 15
}
Get DNS Record Types
API Endpoint: https://<tenant-url>/api/v2/profiles/dns/recordstypes
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| User-Agent | netskope-ce-7.0.0 |
| Netskope-API-Token | <netskope_api_rbac3_token> |
| X-CE-Installation-Id | <installation_id> |
Query Parameters
| Clé | Value |
|---|---|
| limit | 150 |
| offset | 0 |
| sortby | name |
| sortorder | asc |
Sample Response
{
"recordtypes": [
{
"id": "13",
"name": "A"
},
{
"id": "62",
"name": "AAAA"
},
{
"id": "83",
"name": "ANY"
},
{
"id": "6",
"name": "All Record Types"
},
{
"id": "76",
"name": "CERT"
},
{
"id": "27",
"name": "CNAME"
},
{
"id": "48",
"name": "MX"
},
{
"id": "20",
"name": "NS"
},
{
"id": "41",
"name": "PTR"
},
{
"id": "34",
"name": "SOA"
}
],
"total": 12
}
Matrice de performance
Cette lecture est effectuée sur une grande pile CE avec ces spécifications en tirant et en poussant 100k IoCs.
| Description | Spécifications |
|---|---|
| Taille de la pile | Grandes dimensions RAM : 32 GB Cœur : 16 |
| Indicateurs extraits du locataire Netskope | ~45k per min |
| Indicators shared to Netskope tenant (URL List) | ~100k per min |
| Indicators shared to Netskope tenant (File Hash List) | ~200k per min |
| Indicators shared to Netskope tenant (Private App) | ~500 per min |
| Indicators shared to Netskope tenant (Destination Profile) | ~120k per min |
| Indicators shared to Netskope tenant (DNS Profile) | ~200k per min |
Note
- Une application privée a une limite maximale de 500, de sorte que les utilisateurs ne pourront pas partager plus de 500 IOC vers une seule application privée.
- Here the sharing performance is calculated with creating a new Destination profile. If the IoCs are shared in an existing Destination profile, the performance might be affected due to the API behaviour that only allows 10 IoCs in one batch while sharing to an existing Destination profile.
Agent utilisateur
netskope-ce-7.0.0
Workflow
- Configurez un profil de fichier.
- Configurez un profil de détection de logiciels malveillants.
- Configurer un profil de destination.
- Configurer un profil DNS.
- Configurez une politique de protection en temps réel.
- Configurez le plugin Threat Exchange.
- Activer la rétractation IoC.
- Configurer une règle de gestion
- Configurez le partage à l’aide du plugin source, de la règle de gestion, du plugin de destination et de la cible.
- Valider le plugin Threat Exchange.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Configurer un profil de fichier
- Saisissez une valeur provisoire dans le champ de texte. Netskope ne prend pas en charge la poursuite sans valeur dans ce champ, et nous vous recommandons d'utiliser une chaîne de 64 caractères composée de la lettre f, qui aura une très faible probabilité de correspondre à un format de fichier valide. Par exemple : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff.

- Cliquez sur Next.
- Saisissez un nom de profil et une description. N'utilisez pas d'espaces dans le nom de votre profil ; remplacez les espaces par des traits de soulignement.

- Cliquez sur Save.
- Pour utiliser ce profil dans une politique, cliquez sur Apply Changes en haut à droite de l'écran.
Configurer un profil de détection de logiciels malveillants
- Dans votre locataire Netskope, allez à Policies > Threat Protection > Malware Detection Profile et cliquez sur New Malware Detection Profile.

- Cliquez sur Next.
- Pour cet exemple, créez cette liste en tant que liste de blocage (cliquez sur les options Autoriser). Netskope prend en charge l'inclusion de listes d'autorisation et de blocage dans les profils de détection de logiciels malveillants. Cliquez Next.
- Select le profil de fichier que vous avez créé précédemment.

- Cliquez sur Save Malware Detection Profile.
- Pour utiliser ce profil dans une politique, cliquez sur Apply Changes en haut à droite de l'écran.
Configurer un profil de destination
-
Dans votre locataire Netskope, allez dans Policies > Profiles > Destination et cliquez sur New Destination Profile.

-
Indiquez Destination Profile Name et Description et sélectionnez les Match type.

-
Cliquez sur Save.
-
Pour utiliser ce profil dans une politique, cliquez sur View pending changes en haut de l'écran puis cliquez sur Apply changes.
Configure a DNS Profile
-
Dans votre locataire Netskope, allez dans Policies > Profiles > DNS et cliquez sur New DNS Profile.

-
Provide the profile name.

-
Cliquez sur Save.

Configurer une politique de protection en temps réel
- Dans votre locataire Netskope, allez sur Policies > Real-time Protection. La configuration de la politique n'est qu'un exemple. Modifiez-le en fonction de votre organisation.
- Cliquez sur New Policy puis sélectionnez Cloud App Access.

- Pour la source, laissez la valeur par défaut User = Any.
- Cliquez sur Category.
- La fenêtre s'agrandit pour vous permettre de rechercher et de sélectionner l'option All Categories.

- Cliquez en dehors de cette liste pour fermer la boîte de dialogue de recherche.
- Pour les activités et contraintes, cliquez Edit.
- Select Upload et Download.

- Cliquez sur Save.
- For Profile & Action, click the Add Profile dropdown, and select Threat Protection Profile.
- Cliquez dans le champ New Threat Protection Profile (Profil de protection contre les menaces), et une liste des profils disponibles s'affichera.
- Select le profil de détection des logiciels malveillants que vous avez créé précédemment.

- Cliquez sur Save en haut à droite de l'écran.
- Select l'option To the top lorsqu'elle se présente.
- Pour publier cette politique dans le locataire, cliquez sur Apply Changes en haut à droite de l'écran.
Configurer le plugin Threat Exchange
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin Netskope Threat Exchange v2.6.0 (CTE).

-
Saisissez les informations de base :
- Configuration Name: Entrez un nom de configuration unique.
- Sharing Sync Interval: Spécifiez le délai entre les synchronisations de partage.
- Tenant: Choisissez le locataire souhaité dans le menu déroulant. Le locataire principal est automatiquement sélectionné par défaut.
- Aging Criteria: Spécifiez les critères de vieillissement de l'indicateur, l'expiration étant fixée par défaut à 90 jours.
- Override Reputation: Attribuez une valeur [1-10] pour remplacer la réputation reçue de cette configuration ; laissez ce champ vide pour le réglage par défaut.
- Tags Aggregate Strategy: Choisissez d'ajouter les balises New au(x) IoC(s) existant(s) ou de les écraser. Ce paramètre de configuration détermine la manière dont les étiquettes sont stockées pour les indicateurs tirés dans le cadre de cette configuration.

-
Cliquez sur Next et entrez les paramètres de configuration :
- Enable Polling: Allows data polling from Netskope.
- Types of Threat Data to Pull: Selected indicator types will be extracted from Netskope malware alerts and stored on Threat Exchange.
- Initial Range (in days): Initial range for threat data to be pulled.
- Enable Tagging: The unshared tag indicators can be tagged using this feature.
- Enable Retrohunt: active/désactive l'interrogation de l'API Retrohunt pour les indicateurs propres. S'il est défini sur Yes, le plugin ne récupérera pas les indicateurs propres et si le retrait est activé (bouton de bascule Settings > Threat Exchange > IoCs Retraction), les indicateurs propres seront marqués comme retirés. S'il est défini sur No, le plugin récupérera tous les indicateurs. L'API Retrohunt nécessite une licence Advanced Threat Protection et l'option Retrohunt API Queryactivée sur votre locataire Netskope. Pour activer le retrait pour le module Threat Exchange, accédez à Settings > Threat Exchange et activez l'option de bascule de retrait des IOC.

Note
- Cela aura uniquement pour effet de retirer les IoC lorsque l'option Activer le rétrochassement (Enable Retrohunt) est définie sur Oui, et le retrait sera basé sur le champ verdict_updated.
- The Enable Retrohut is only for pulling the hashes (SHA256 and MD5).
-
Cliquez sur Save.

Configurer une règle de gestion pour Threat Exchange
-
Dans Threat Exchange, allez à Business Rules.

-
Cliquer sur Create New Rule, saisir un nom de règle et sélectionner les filtres selon vos besoins.

-
Cliquez sur Save.

Configurer le partage pour Threat Exchange
Afin d'ajouter une configuration de partage, un plugin Threat Exchange tiers, tel que CrowdStrike, doit être configuré avant de continuer. Vous avez besoin d'un plugin source et d'un plugin de destination (configurations) pour ajouter une configuration de partage.
Le plugin Threat Exchange prend en charge ces méthodes de partage :
- Ajouter à la liste des URL
- Cette action remplacera l'ancienne liste d'URL par les New URL sur votre locataire Netskope.
- La capacité maximale de partage est de 7 Mo par demande pour la liste d'URL et, dans l'ensemble, il prend en charge 300 000 URL sur la page de la liste d'URL.
- Si plus de 300000 URLs existent dans toutes les listes d'URLs, le plugin ne sera pas en mesure d'appliquer les changements sur le locataire Netskope comme mentionné dans le dépannage.
- Ajouter à la liste de hachage des fichiers
- Cette action remplacera l'ancienne liste de hachages de fichiers par les New Hashes sur votre locataire Netskope.
- La capacité maximale de partage est de 8 Mo par demande pour File Hash List.
- Les utilisateurs devront configurer le plugin Netskope Tenant avec un jeton API v1 pour "Ajouter à la liste de hachage des fichiers".
- Ajouter à l'application privée
- Cette action remplacera les hôtes (adresses IP/noms d'hôte) de l'application privée sur votre locataire Netskope.
- Vous pouvez également ajouter des balises aux applications privées.
- Add to Destination Profile
- This will append the new URLs in the already created Destination Profile or in the new Destination Profile.
- The maximum sharing capacity depends on the Match Type you have selected:
- The Regex Match Type supports only 1000 URLs per tenant.
- You can create up to 1,000 destination profiles in a tenant.
- A destination profile can have up to 100,000 destinations. Comments are unlimited. However, the maximum size for a destination profile (including comments) is 10 MB.
- A total of up to 300,000 destinations (excluding comments) is supported in a tenant. To increase this limit, a license is required.
- Add to DNS Profile
- This will append the new Domains/FQDNs in the already created DNS Profile or in the new DNS Profile.
- The maximum sharing capacity is 16 MB.
Ajouter à une liste d'URL
Cliquez ici pour regarder une vidéo.
-
Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.

-
Choisissez la manière de partager les indicateurs.
- Select le plugin source.
- Select la règle de gestion.
- Select le plugin de destination.
- Select the Target Add to URL List.
- Select the list name from the dropdown menu if you wish to add the URL to a list that has already been created, or create a New List by giving the name to the Create New List field.
- Select le type de liste pour lequel vous souhaitez stocker l'URL dans la liste : Exact ou Regex.
- Entrez la taille de la liste (la taille maximale de la limite est de 7 Mo).
- Enter a Default URL.
Note
The Add to URL List action will append the new URL List in the old URLs on the Netskope tenant.

-
Cliquez sur Save.
Ajouter à une liste de hachage de fichiers
Cliquez ici pour regarder une vidéo.
-
Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
-
Choisissez la manière de partager les indicateurs.
- Select le plugin source.
- Select la règle de gestion.
- Select le plugin de destination.
- Select la cible Add to File Hash List.
- Entrez le nom de la liste de hachage de fichiers sur Netskope.
- Saisissez une taille de liste [La taille limite maximale est de 8 Mo].
- Entrez un hachage de fichier par défaut.
Note
The Add to File Hash List action will replace the whole File Hash list on the Netskope tenant.

-
Cliquez sur Save.
Ajouter à une application privée
Cliquez ici pour regarder une vidéo.
-
Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
-
Choisissez la manière de partager les indicateurs.
- Select le plugin source.
- Select la règle de gestion.
- Select le plugin de destination.
- Select la cible Add to Private App.
- Select le nom de l'application privée dans le menu déroulant si vous souhaitez ajouter le domaine ou le nom d'hôte à une application déjà créée, ou cliquez sur Create New Private App.
- Select le protocole.
- Indiquez les ports TCP et UDP séparés par des virgules (pour le protocole sélectionné).
- Select l'éditeur.
- Choisissez d'utiliser le DNS Publisher ou non.
- Saisissez un hôte par défaut.
Note
- The Add to Private action will replace the Hosts (IP addresses/hostnames) of the Private app on the Netskope tenant.
- Les balises comportant plus de 30 caractères seront ignorées, ce qui signifie qu’elles ne seront pas partagées. Cette limite inclut également les caractères encodés.


-
Cliquez sur Save.
Ajouter à un profil de destination
Cliquez ici pour regarder une vidéo (la même que celle présentée au début de cet article).
-
Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
-
Choisissez la manière de partager les indicateurs.
- Select le plugin source.
- Select la règle de gestion.
- Select le plugin de destination.
- Select la cible Add to Destination Profile.
- Select le nom du profil de destination dans le menu déroulant si vous souhaitez ajouter l'URL à un profil déjà créé, ou cliquez sur Create New Profile.
- Provide Description for the profile if creating a new profile.
- Select a Match Type for the profile if creating a new profile.
- Select Apply Pending Changes as Yes if you want to always apply the pending changes of the profile before sharing the URL.


-
Cliquez sur Save.
Note
- Both of the Exact Match Types support 100k URLs per Destination Profile and 300k URLs per tenant.
- The Regex Match Type supports only 1000 URLs per tenant.
- Les plugins Netskope prennent en charge le profil de destination à partir de la version v2.4.0 avec CE v6.1.0.
Ajouter à un profil DNS
Cliquez ici pour regarder une vidéo.
-
Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
-
Choisissez la manière de partager les indicateurs.
- Select le plugin source.
- Select la règle de gestion.
- Select le plugin de destination.
- Select la cible Add to DNS Profile.
- Set the Action Type to perform on DNS Profile.
- Select an existing DNS Profile.
- Create DNS Profile with the given name. (Only Enter if you have selected ‘Create new profile’ in DNS Profile parameter) Create New Profile should be less than or equal to 255 characters.
- Fournissez la description pour créer un profil DNS doté d’une description donnée. (À renseigner uniquement si vous avez sélectionné Create New Profile dans le paramètre du profil DNS) La description du profil doit comporter 255 caractères ou moins.
- Select une ou plusieurs catégories ainsi que l'action à appliquer (Bloquer ou Sinkhole). La même catégorie ne peut pas être sélectionnée avec les actions Bloquer et Sinkhole. La sélection d'une variante de Sinkhole nécessite une valeur dans le paramètre IP Sinkhole.
- Enter a Sinkhole IP. (Only enter if you have selected a sinkhole category action in the Categories parameter).
- Select un ou plusieurs types d'enregistrements. Tous les types d'enregistrements ne peuvent pas être sélectionnés en même temps qu'une autre valeur de type d'enregistrement.
- Sous Tout bloquer sauf la liste des éléments autorisés,, sélectionnez Oui pour bloquer tout le trafic DNS à l’exception des domaines figurant sur la liste des éléments autorisés de ce profil ; sélectionnez Non pour autoriser tout le trafic à l’exception des domaines répertoriés.
Block All except Allow list ne peut pas être défini sur Oui avec le type d'action Add to Domain Block list.

-
Cliquez sur Save.
Activer la rétractation de l'IoC
Pour activer la rétractation IoC à partir de Cloud Exchange :
- Allez sur Setting > Threat Exchange.
- Activez IoC(s) Retraction et saisissez un intervalle de rétractation.
- Cliquez sur Save.

Note
Si des IoC sont initialement extraits dans Cloud Exchange et que l'extraction Retrohunt est activée, les IoC extraits de Netskope seront marqués comme rétractés si l'IoC est renvoyé comme propre par les API Retrohunt. Une fois que l'IoC est marqué comme rétracté sur la base des API Retrohunt, il sera également rétracté du tiers si celui-ci prend en charge la rétractation du push. Si un IoC tiers est partagé avec une liste d'URL Netskope ou une liste de hachages de fichiers, et qu'il est marqué comme rétracté dans Cloud Exchange, il sera également supprimé du locataire lors du déclenchement du partage suivant.
Valider le plugin Threat Exchange
Valider le retrait
Pour valider l'extraction d'Alert de Netskope, allez sur le site Logging dans Cloud Exchange et recherchez les journaux extraits.
You can add a filter like: message Like “pulled”.

Note
- If Enable Retrohunt is selected as yes, then after pulling malware from the tenant, the plugin will check the false positive status using Retrohunt, and if any indicator has verdict_updated: clean it will not be stored in Cloud Exchange and only malicious indicators will be stored. Also the plugin will store the severity of the indicator using the severity_updated field.
- Si vous devez mettre à jour la gravité de l'indicateur dans Cloud Exchange lorsqu'il est mis à jour sur le locataire Netskope, vous devez modifier la valeur Reconciliation Criteria en sélectionnant Higher Severity Source Override à partir de Settings >Threat Exchange. Et la gravité ne sera mise à jour que si elle passe d'un niveau inférieur à un niveau supérieur, mais pas dans le sens inverse.

Vous pouvez vérifier les indicateurs ignorés en raison de faux positifs en appliquant le message de filtre Like “<configuration_name>” dans Logging.

Après avoir stocké avec succès les indicateurs, lorsque le cycle de rétractation s'exécute, le plugin vérifie à nouveau le champ verdict_updated de Retrohunt. Si l'un des enregistrements stockés est passé d'une valeur malveillante à une valeur propre, l'indicateur sera marqué comme retiré dans Cloud Exchange.
Pour vérifier la rétractation des indicateurs, vous pouvez consulter les journaux à l'aide d'un filtre comme "[Retraction]".

Vous pouvez également vérifier les IoC rétractés à partir de la page Threat IoCs.
Ajoutez un filtre comme sources.source Est égal à "<configuration_name>" && sources.retracted Est égal à true.


Valider les indicateurs stockés
Pour valider l'indicateur stocké dans le Cloud Exchange, rendez-vous à Threat Exchange > Threat IoCs.


Validez la présence d'alertes dans votre locataire Netskope
- Cliquez sur Alerts, cliquez sur Add Filter et sélectionnez Alert Type > Malsite et Malware, puis cliquez sur Apply. Select une option dans le menu déroulant Last x Days dans le coin supérieur droit.

Valider le push
Pour valider le plugin workflow dans Cloud Exchange:
-
Allez à Logging et recherchez les indicateurs partagés avec le message de filtre Like « partagé ».
-
Les journaux partagés seront filtrés.



Validate the Push on the Netskope Tenant
Assurer le push des indicateurs sur le locataire Netskope à partir du plugin 3rd-party.
Validate the Add to URL List Sharing
And as this sharing supports push retraction, you can also validate the logs in the logging section by applying a filter as provided below:

And you can check the same indicators are deleted from the URL list on the Netskope tenant.

Validate the Add to File Hash List Sharing
- Cliquez sur le site File Name > File Hash pour lequel le hachage de fichier MD5 et SHA256 est stocké.

Validate the Add to Private App Sharing
Validate the Add to Destination Profile Sharing
-
Dans votre locataire Netskope, allez sur Policies.

-
Cliquez sur Profiles > Destination.

-
Click on the Profile Name on which the URL is shared.
-
La liste s'affiche ici.

Et comme ce partage prend en charge le retrait des publications, vous pouvez également valider les journaux dans la section de journalisation en appliquant un filtre comme indiqué ci-dessous :

And you can check the same indicators are deleted from the Destination Profile on the Netskope tenant.

Validate the Add to DNS Profile Sharing
-
Dans votre locataire Netskope, allez sur Policies.

-
Cliquez sur Profiles > DNS.

-
Open the DNS profile that was used while configuring the sharing.


This action also supports push retraction, which means the IOCs that were already shared to a DNS profile and are marked as retracted yes in Cloud Exchange will get deleted from the DNS profile in the next sharing sync interval.
Exemple :
Il s'agit d'un profil DNS qui possède le domaine cgotdz7us4.co. Cet IoC a été extrait de CrowdStrike et partagé avec ce profil DNS via le plugin Netskope Threat Exchange.

Maintenant, le domaine cgotdz7us4.co a été marqué comme retiré dans CE car il a été supprimé sur la plateforme CrowdStrike.

Après le prochain intervalle de synchronisation du partage du plugin Netskope Threat Exchange, il a été supprimé du profil DNS. Vous pouvez suivre l’état de la suppression via le champ de résultat de rétraction. Lorsque le résultat de la rétraction est CTE Netskope Threat Exchange : rétracté, cela signifie qu’il est supprimé du locataire Netskope.

La rétractation peut être vérifiée à partir de la page de journalisation en filtrant les logs liés à la configuration du plugin de destination.

Profil DNS après la suppression de l'IOC.

Dépannage du plugin Threat Exchange
Erreur lors de la configuration de Netskope Threat Exchange
J'obtiens l'erreur suivante : Le jeton Netskope tenant API V2 n'a pas les autorisations nécessaires configurées. Consultez la liste des points de terminaison pour lesquels le jeton n'a pas de permission. **

Cause: Le jeton V2 fourni n'a pas les autorisations minimales requises pour configurer le locataire dans Cloud Exchange.
What to do:
- Allez sur Logging et recherchez un journal d'avertissement similaire à celui-ci :
TENANT Netskope Tenant (Required) [Netskope Tenant] : Pour Netskope Tenant, a reçu une erreur 403 pour le(s) point(s) d'extrémité suivant(s) - Développez le journal et obtenez la liste des points de terminaison pour lesquels les autorisations sont manquantes.

- Mettez à jour les autorisations du jeton v2 et ajoutez l'autorisation pour la liste de points de terminaison ci-dessus à partir de l'interface utilisateur de Netskope.
La configuration de partage a toujours une taille de liste de 8 MB au lieu de 7MB dans la liste d'ajout d'URL après la mise à jour du plugin.
Depuis la version 2.2.0 du plugin, la taille de la liste est passée de 8 MB à 7MB. Si vous avez configuré le plugin, y compris les configurations de partage, avec des versions antérieures, mettez le plugin à jour avec la dernière version. La configuration a toujours la taille de liste 8, et lors de l'édition de la configuration de partage, une erreur se produit.
What to do:
- Modifiez la configuration et remplacez la taille de la liste par 7 Mo, puis enregistrez la configuration.
- Configurez un partage New en suivant les étapes mentionnées dans Ajouter à la liste des URL.
Réception d'une erreur après l'exécution réussie de l'option Ajouter à la liste d'URL
Si vous avez synchronisé le partage de la liste Add to URL, et que vous voyez cette erreur même après une exécution réussie, et dans le locataire Netskope, il y a une icône d'avertissement qui dit View pending changes (Voir les changements en attente). Ceci est dû au nombre limité d'URL (300000) autorisé sur le site Netskope Tenant mentionné dans cette documentation.


What to do:
Supprimez les URL inutiles de vos listes d'URL, puis cliquez sur Apply Changes.
Les balises non partagées ne sont pas attachées aux IoC qui ne sont pas partagés avec la plateforme tierce.
Il se peut que la fonctionnalité de marquage ne fonctionne pas correctement. Pour résoudre ce problème, vous devez mettre à jour le plugin avec la dernière version, puis les balises non partagées seront attachées aux IoC qui sont ignorés lors du partage avec Netskope Tenant.
What to do:
Mettez à jour le plugin avec Netskope Threat Exchange v2.3.0 ou une version plus récente.
Note
If the IoC is having an invalid host or invalid app tag attached to it, then the unshared tag will not be attached to that IoC.
Some of the IOCs not shared to Destination Profile even if the URLs are valid in Cloud Exchange
You might see only a few URLs shared to the Destination Profile even if the URLs are valid in Cloud Exchange. This might be due to below reasons:
- The URLs do not match the definition for the Match Type.
- The maximum number of valid URLs exceeds on the Netskope Tenant.
What to do:
-
Verify the URL matches the definition for the Match Type provided in the Destination Profile. For more information, refer to the documentation.


-
Verify the available URLs on the Destination Profiles as for both of the Exact Match Types, the maximum supported URLs are 100k per Profile and 300k per tenant. And for Regex Match Type, the maximum supported URLs are 1000 per tenant.
Erreur reçue lors de l'exécution de l'action du profil DNS
Si vous recevez une erreur 403 lors de l'exécution d'une action de profil DNS, cela sera dû à des autorisations insuffisantes dans le jeton V2.
What to do:
-
Clonez le rôle Netskope Cloud Exchange et ajoutez les autorisations ci-dessous au New rôle, puis générez un jeton avec ce rôle :

-
Modifier le rôle cloné.

-
Recherchez le profil DNS et mettez à jour ses autorisations sur Manage and Apply.

-
Cliquez sur Save, puis générez un jeton à l'aide de ce New rôle personnalisé.
Limites
- Une erreur se produira si la même liste de hachage de fichiers est partagée avec Netskope Tenant à partir de Cloud Exchange. Si une liste de hachages de fichiers contient la même liste de hachages de fichiers qui ont été poussés précédemment, et que Cloud Exchange essaie de la pousser à nouveau, l'API lancera une erreur comme indiqué ici :

- Si vous avez fourni plusieurs ports et plages lors de la configuration de l'ajout au partage privé d'applications, il se peut que les ports multiples soient convertis en une plage conformément aux limitations de l'API, comme indiqué ci-dessous :


Comportements connus
-
Starting from version 2.3.0, if the Enable Retrohunt field is selected as Yes, then the plugin will only pull malware data that does not have verdict: clean or verdict_updated: clean. However, during the retraction cycle, only verdict_updated: clean indicators are retracted. If you’ve already used an older version (v2.1.3 or earlier) and pulled indicators, upgrading to v2.3.0 will not retract indicators with only verdict: clean; only those with verdict_updated: clean will be retracted.
-
Lors de la mise à jour du plugin, si vous utilisez le bouton "skip", vous ne pourrez pas activer le plugin à partir de la version 2.3.0. Nous avons introduit un champ New Enable Retrohunt et sa valeur ne sera pas conservée si vous utilisez le bouton Skip lors de la mise à jour du plugin. Pour résoudre ce problème, vous devez éditer le plugin et activer/désactiver le champ retrohunt, sauvegarder le plugin, et ensuite vous pourrez activer le plugin.
-
Users will not be able to configure the same action with different business rules for DNS Profile and Destination profile.
-
Lorsque le même IoC est partagé avec plusieurs destinations/actions, le résultat du partage/de la rétractation peut s'afficher comme N/A si l'IoC est ignoré lors de la dernière exécution de l'action. Cela peut se produire même si l'IOC a été partagé avec succès avec une autre destination lors d'une exécution précédente. Par conséquent, la rétractation du push ne sera pas déclenchée pour de tels IOC.
Par exemple :
- L'utilisateur partage une adresse IP avec le profil de destination.
- Ensuite, l'utilisateur partage cette même adresse IP vers une liste de hachage de fichiers. Comme la liste de hachage de fichiers ne prend pas en charge les adresses IP, les IoC seront ignorées et leur résultat de partage sera marqué comme N/A
- Ensuite, l'adresse IP est rétractée en raison de la rétractation du pull du plugin Source.
- Par conséquent, le résultat du retrait sera marqué comme N/A et l'IoC ne sera pas retiré du profil de destination.
















