Ce document explique comment configurer le plugin STIX/TAXII v3.2.0 avec le module Threat Exchange de la plateforme Netskope Cloud Exchange. Ce plugin récupère les IoCs de type Domain, URL et Hash (MD5 et SHA256) pour la version 1.1 et les IOCs de type Domain, URL, IPv4, IPv6, et Hash (MD5 et SHA256) pour la version 2.1/2.2 à partir des flux TAXII et en extrait les observables. Ce plugin supporte la rétractation des IoCs tirés des flux TAXII. Ce plugin ne permet pas le partage d'indicateurs vers les flux TAXII.
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 locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Threat Exchange déjà configurés.
- Un abonnement à Secure Web Gateway pour le partage d'URL.
- Un serveur STIX/TAXII pour tirer les indicateurs.
- Détails des informations d'identification de l'API STIX/TAXII. Contactez le support STIX/TAXII pour obtenir un Discovery URL/API Root URL approprié.
- Connectivité avec STIX/TAXII Partner login URL.
Support des plugins STIX/TAXII
Ce plugin est utilisé pour récupérer les IoCs de type Domain, URL, et Hash (MD5 et SHA256) pour la version 1.1 et les IoCs de type Domain, URL, IPv4, IPv6, et Hash (MD5 et SHA256) pour la version 2.1/2.2 à partir des flux TAXII et en extrait les observables. Ce plugin supporte la rétractation des IoCs tirés des flux TAXII. Ce plugin ne permet pas le partage d'indicateurs vers les flux TAXII.
| Types d'indicateurs prédéfinis | Types d'indicateurs partagés |
|---|---|
| URL, domaine, IPv4, IPv6 et hachage (MD5 et SHA256) | Non pris en charge |
Mappings for Pulled IoCs (correspondances pour les IoCs tirés)
For version 1.1
| Champs de Cloud Exchange | Champs STIX/TAXII |
|---|---|
| value | ioc_value |
| type | ioc_type |
| commentaires | observable.description ou indicator.description ou « Valide à partir du : 2025-12-16T07:04:38.935940Z, valable jusqu’au : 2025-12-16T07:04:38.935940Z » ou « » |
| firstSeen | firstseen |
| lastSeen | lastseen |
| reputation | Valeur.de.confiance.de.l'indicateur (par défaut 5) |
| sévérité | Indicateur.likely_impact.value (par défaut UNKNOWN) |
For version 2.x
| Champs de Cloud Exchange | Champs STIX/TAXII |
|---|---|
| Value | ioc_value |
| Reputation | int(o.get("confidence", 50) / 10) |
| Comments | o.get(« description ») ou o.get(« pattern ») « Valide à partir de : 2025-12-16T07:04:38.935940Z, valable jusqu’à : 2025-12-16T07:04:38.935940Z » ou « » |
| Firstseen | created_time |
| Lastseen | modified_time |
Permissions
Les autorisations peuvent varier d'une plateforme à l'autre. Pour la plateforme XSOAR, vous aurez besoin d'un rôle d'administrateur.
Détails de l'API
Ce plugin utilise des bibliothèques Python pour récupérer des objets des versions 1x et 2x de STIX/TAXII.
STIX/TAXII version 1x : chauffeur de taxi (https://pypi.org/project/cabby/)
STIX/TAXII version 2x : taxii2client (https://pypi.org/project/taxii2-client/)
Usage of libraries:
- Cabby :
1) Client creation:
from cabby import create_client
client = create_client(
base,
port=port,
use_https=True,
discovery_path=discovery_url,
)
2) Fetch collections:
client.get_collections(uri=collection_uri)
3) Poll objects:
content_blocks = client.poll(
collection_name=collection,
begin_date=start_time,
)
- Taxii2client :
1) ApiRoot object creation:
apiroot = ApiRoot21(
configuration["discovery_url"].strip(),
user=username,
password=password,
verify=self.ssl_validation,
proxies=self.proxy,
)
2) Fetch collections:
collections = apiroot.collections
3) Fetch objects:
pages = as_pages21(
func,
per_request=batch_size,
added_after=start_time,
next=next,
with_header=True,
headers=headers
)
Matrice de performance
Voici les relevés de performance effectués pour récupérer 100K IoCs dans chaque cycle de vie de plugin sur une instance de Large Cloud Exchange avec les spécifications ci-dessous.
Un serveur XSOAR TAXII a été utilisé pour extraire les données.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Indicateurs récupérés via le plugin STIX/TAXII | ~3k per minute |
Agent utilisateur
netskope-ce-6.0.0-cte-stix/taxii-v3.2.0
Workflow
- Obtenez votre Discovery URL/API Root URL, votre nom d'utilisateur et votre mot de passe.
- Configurez le plugin STIX/TAXII.
- Configurez une règle de gestion.
- Configurer le partage.
- Validez le plugin.
Un serveur XSOAR TAXII a été utilisé pour extraire les données dans ces instructions.
Regardez une vidéo
Cliquez sur "play" pour regarder une vidéo :
Configurer le serveur TAXII2
- Saisissez les informations suivantes :
- Name: Entrez le nom STIX/TAXII.
- TAXII2 Server version: 2.1 ou 2.0.
- Listen Port: Le port sur lequel vous voulez envoyer les flux.
- Username: Le nom d'utilisateur pour le serveur STIX (Il sera nécessaire lors de la configuration du plugin).
- Password: Le mot de passe pour le serveur stix (Il sera demandé lors de la configuration du plugin).
- Collection JSON: Nom de collection pour Stix.
- Response Size: La taille de la réponse que vous souhaitez recevoir du serveur. Notez que Netskope Cloud Exchange ne prend en charge que l'extraction jusqu'à une taille de 1000 CI.
Note
Exemple de collecte JSON :
{
"url_collection": {
"query": "type: URL",
"description": "This is a test collection"
},
"hashes_collection": {
"query": "type: File",
"description": "This is a test collection"
},
"domain_collection": {
"query": "type: Domain",
"description": "This is a test collection"
},
"IPv4_collection": {
"query": "type:IP",
"description": "Collection of IPv4 indicators for internal network analysis"
},
"IPv6_collection": {
"query": "type:IPv6",
"description": "Collection of IPv6 indicators for external threat tracking"
}
}
- Cliquez Save. Pour plus d’informations, voir : https://xsoar.pan.dev/docs/reference/integrations/taxii2-server.
Configurer le plugin STIX/TAXII
- Dans Cloud Exchange, accédez à Settings > Plugins.
- Recherchez et sélectionnez le plugin STIX/TAXII v3.2.0 (CTE).

- Saisissez les informations de base :
- Configuration Name: Nom de la configuration du plugin.
- Sync Interval: Intervalle de récupération des données de cette source de plugin.
- Aging Criteria: Les indicateurs expirent après une période déterminée.
- Override Reputation: Définissez la valeur pour ignorer la réputation des indicateurs reçus de cette configuration. Laissez vide pour conserver la valeur par défaut (la valeur par défaut sera 5).
- Tags Aggregate Strategy: Choisissez d'ajouter les balises New aux IoC existants ou de les écraser. Ces paramètres de configuration déterminent la manière dont les étiquettes sont stockées pour les indicateurs tirés dans le cadre de cette configuration.
- Enable SSL Validation: Activer/désactiver la validation du certificat SSL.
- Use System Proxy: Utiliser le proxy système configuré dans les Paramètres.

- Cliquez sur Next et entrez les paramètres de configuration :
- STIX/TAXII Version: Select version STIX/TAXII selon votre instance.
- Discovery URL/API Root URL: URL de découverte/flux du serveur TAXII pour la version 1.x et URL racine API pour la version 2.x. Contactez votre support STIX/TAXII pour obtenir une URL de découverte appropriée/URL Racine de l’API.
- UsernameNom d'utilisateur requis pour l'authentification, le cas échéant.
- Password: Mot de passe requis pour l’authentification, s’il y en a un.
- Collection Names: Des virgules séparent les noms des collections dont les données doivent être récupérées. Laissez vide pour récupérer les données de toutes les collections.
Format :“<collection1>,<collection2>,<collection3>” - Initial Range: Nombre de jours pour extraire les données de la première exécution.
- Look Back (in minutes): Nombre de minutes à rétrodater par rapport à l'heure de début de la récupération des données. Les valeurs valides sont comprises entre 0 et 1440.
- Type of Threat data to pull: Type de données de menace à obtenir. Note : IPv4/IPv6 est uniquement pris en charge pour STIX/TAXII version 2.x.
- Severity: Seuls les indicateurs présentant un niveau de gravité correspondant seront récupérés. La version 2.x de STIX/TAXII ne prend en charge que la gravité inconnue ; par conséquent, pour extraire des données à l'aide de la version 2.x de STIX/TAXII, il est obligatoire de sélectionner « Inconnu » dans le champ de gravité. Consultez la section Dépannage si vous rencontrez des problèmes lors de l'extraction des IOC.
- Reputation: Seuls les indicateurs dont la réputation est égale ou supérieure à ce niveau seront enregistrés dans Netskope Cloud Exchange.
- Pagination Method: Méthode de pagination à utiliser lors du tirage des indicateurs. Contactez votre assistance STIX/TAXII pour choisir l'option appropriée.
- Batch Size: Nombre d'indicateurs à récupérer par lot. Doit être un entier compris entre 1 et 1000.
- Retraction Interval (in days): Nombre de jours à examiner pour vérifier les rétractations. Laisser vide pour désactiver la rétraction. Doit être un entier compris entre 0 et 365.


Note
- Seule la gravité inconnue sera disponible dans les paramètres de configuration pour la version 2.x.
- La taille des lots est comprise entre 1 et 1000 pour la version 2.1 et entre 2 et 1000 pour la version 2.0.
- Pour la version 1.1, le paramètre de configuration Taille du lot ne sera pas présent.

- Cliquez sur Save.

Ajouter une règle de gestion de l'échange de menaces pour STIX/TAXII
La règle de gestion est utilisée pour filtrer les indicateurs qui doivent être partagés. Pour partager des IOC avec un plugin tiers, vous devez créer une règle de gestion :
- Dans Threat Exchange, allez à Business Rules et cliquez sur Create New Rule.
- Ajoutez le nom de la règle et sélectionnez les champs à travers lesquels vous souhaitez filtrer les IoC.

Ajouter le partage de l'échange de menaces pour STIX/TAXII
Pour configurer le partage :
- Dans Threat Exchange, allez à Sharing et cliquez sur Add Sharing Configuration.
- Select une configuration Source (source à partir de laquelle vous souhaitez partager des données), une règle de gestion et une configuration Destination.
- Select la valeur cible et le type d'action.
- Cliquez sur Save.

Notez que le plugin STIX/TAXII ne permet pas le partage d'indicateurs vers les flux TAXII.
Validez le plugin STIX/TAXII
Valider le retrait
Les indicateurs stockés dans Cloud Exchange peuvent être vérifiés dans Threat Exchange à l'adresse Threat IoCs. Recherchez les IOCs STIX/TAXII en filtrant les indicateurs du plugin STIX TAXII.
Exemple : Ajoutez une requête sur la page IoCs Menace comme"sources.source Is equal "CTE STIX TAXII" && type IN ("< IOC_TYPE<IOC_TYPE> >")"





Vous pouvez également vérifier les indicateurs extraits dans Cloud Exchange à partir des journaux disponibles sur Logging.

Pour vérifier si des IoC sont présents sur la plateforme XSOAR, connectez-vous à votre instance et allez sur Indicators.


Dépannage du plugin STIX/TAXII
Impossible de configurer le plugin STIX/TAXII
Si vous ne parvenez pas à configurer le plugin, cela peut être dû à l'une des raisons suivantes :
- URL de découverte ou URL racine de l'API non valide.
- Nom d'utilisateur ou mot de passe invalide.
- J'obtiens l'erreur suivante lors de la configuration du plugin :
CTE STIX/TAXII [CTE STIX TAXII]: Could not fetch the collection list from the server. Error: ('Connection broken: IncompleteRead(586 bytes read)', IncompleteRead(586 bytes read)) - Erreur lors de la configuration du plugin avec l'instance on-premise pour STIX/TAXII version 1.1.
What to do:
- Vérifiez que l'URL de découverte/l'URL racine de l'API que vous utilisez est correcte. Si vous n'êtes pas sûr de l'URL de découverte ou de l'URL racine de l'API, contactez votre équipe de support STIX/TAXII pour les plates-formes respectives.
- Vérifiez le nom d'utilisateur et le mot de passe. Ils doivent être identiques à ceux utilisés lors de la configuration du serveur TAXII.
- Vérifiez le JSON de la collection fourni dans le serveur STIX. Il doit être tel que prévu dans la configuration du plugin.
- Cela peut être dû au fait que l'hôte n'a pas été ajouté dans le conteneur. Pour ajouter l'hôte, suivez les étapes ci-dessous :
- SSH à la VM où votre Cloud Exchange est installé et arrêtez tous les conteneurs en utilisant "sudo ./stop" le scénario.
- Editez votre fichier docker-compose en utilisant la commande "vi docker-compose.yml".
- Ajoutez des hôtes supplémentaires dans la section "core".
- Format:
extra_hosts: "<your domain>:<your ip>" - Enregistrez le fichier.
- Démarrez Netskope Cloud Exchange en utilisant la commande
sudo ./start. - Configurez le plugin avec vos identifiants valides pour une installation sur site.

Impossible d'extraire des données avec le plugin STIX/TAXII
Si vous rencontrez un problème lors de l'extraction des données via le plugin STIX/TAXII, cela peut être dû à l'une des raisons suivantes :
- Aucune donnée n'est présente sur la plate-forme du troisième parti.
- Cela peut être dû aux filtres sélectionnés lors de la configuration du plugin.
What to do:
- Vérifiez si les IoC sont présents sur votre plateforme. Dans le cas de la plateforme XSOAR, vous pouvez le vérifier sur la page Indicateurs.
- Les données correspondant au filtre défini dans les paramètres de configuration seront enregistrées. Par exemple, pour le filtre de gravité, seuls les indicateurs présentant la gravité correspondante seront récupérés. La version 2.x de STIX/TAXII ne prend en charge que le niveau de gravité inconnu . Par conséquent, pour extraire des données à l'aide de la version 2.x de STIX/TAXII, il est obligatoire de sélectionner « Inconnu » dans le champ de gravité. Si le filtre de gravité a toutes les valeurs sauf la gravité inconnue , aucun indicateur ne sera stocké dans Netskope Cloud Exchange et vous pourrez voir les journaux pour l'extraction à Logging.
Erreur lors de l'activation du plugin après une mise à jour du plugin
Lorsque vous mettez à jour le plugin STIX/TAXII vers la dernière version, et que vous utilisez le bouton "skip" lors de la mise à jour, le plugin sera désactivé par défaut, et le champ Type de données de menace à extraire aura une valeur plus ancienne, de sorte que vous rencontrerez cette erreur lors de l'activation de ce plugin.
| 29/07/2025 12:19:48 | – | error | CTE STIX/TAXII [CTE STIX] : Valeur non valide pour le type de données de menace à tirer fournies dans les paramètres de configuration. Les valeurs disponibles sont "sha256", "md5", "url", "ipv4", "ipv6", "domain". |

What to do:
Si vous ne parvenez pas à activer le plugin après sa mise à jour, modifiez le plugin et assurez-vous que la valeur de Type de données sur les menaces à extraire est valide. Après la mise à jour du plugin, vous devez supprimer manuellement les anciennes valeurs de Type de menace données pour extraire le champ, et ajouter New valeurs à partir de la liste disponible.
Les types pris en charge sont les suivants :

Comportements connus
- Nous avons observé que si l'utilisateur met à jour le plugin fraîchement configuré à partir d'une ancienne version vers STIX/TAXII v3.1.0, et si l'exécution initiale n'est pas exécutée, le plugin ne tirera aucun IoC pour la plage fournie dans l'exécution initiale.
- Seules les données correspondant au filtre défini dans les paramètres de configuration seront stockées. Par exemple, si le filtre Sévérité a toutes les valeurs sauf la sévérité Inconnu, aucun indicateur ne sera stocké dans Cloud Exchange mais vous pourrez voir les logs de tirage dans la page Logging.
Limitation
Le paramètre de configuration du plugin Last Run At affiché lors de l'édition de la configuration du plugin ne sera pas utile pour STIX/TAXII v2.x (car nous avons implémenté un disjoncteur).







