Ce document explique comment configurer le logiciel ThreatQ v1.1.0. se branche sur le module Threat Exchange de la plateforme Netskope Cloud Exchange. Le plugin ThreatQ est utilisé pour récupérer les indicateurs de type URL, IP (IPv4, IPv6), FQDN, SHA256 et MD5 à partir de la page Indicateurs de la bibliothèque ThreatQ > sur la plateforme ThreatQ. Ce plugin ne prend pas en charge le partage d'indicateurs vers la plateforme ThreatQ.
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 abonnement à Netskope Secure Web Gateway pour le partage d'URL.
- Un abonnement de prévention des menaces pour le partage de fichiers malveillants.
- A Netskope Cloud Exchange tenant with the Tenant plugin and Threat Exchange plugin already configured.
- Une instance ThreatQ.
- Connectivité à l'hôte suivant : URL de l'instance ThreatQ
Exemple :https://<IP>/ ; ici l'IP est l'IP de la machine où votre instance ThreatQ est hébergée.
Prise en charge du plugin ThreatQ
Le plugin ThreatQ récupère les indicateurs de type URL, IP (IPv4, IPv6), FQDN, SHA256 et MD5 de la plateforme ThreatQ. Ce plugin prend en charge le partage des indicateurs.
| Types d'indicateurs prédéfinis | Types d'indicateurs partagés |
|---|---|
| URL, IP (IPv4, IPv6), FQDN, SHA256 et MD5 | Non pris en charge |
Mises en correspondance
Cartographie des tractions
| Champs CE de Netskope | Champs ThreatQ |
|---|---|
| value | value |
| type | type |
| reputation | score |
| active | status |
| extendedInformation | <THREATQ URL>/indicators/<IOC ID>/details |
| tags | tags (Tags associés à l'indicateur) |
Notez que tous les statuts de ThreatQ, à l'exception de Expiré, seront considérés comme Actifs dans Cloud Exchange.
Cartographie de la gravité
| Sévérité de l'EC Netskope | Score ThreatQ |
|---|---|
| Critique | 10 |
| Haut | 9 |
| Moyen | 8 |
| Moyen | 7 |
| Faible | 6 |
| Faible | 5 |
| Faible | 4 |
| Faible | 3 |
| Faible | 2 |
| Faible | 1 |
| Faible | 0 |
Détails de l'API
Ce plugin utilise des bibliothèques Python pour s'authentifier auprès de l'API ThreatQ et récupérer des indicateurs de la plateforme ThreatQ.
Library: threatqsdk (version = '1.8.0')
Créer un objet ThreatQ
tq = Threatq(
host,
(client_id, client_secret),
private=True,
verify=verify,
proxy=proxy_info,
)
Indicateurs de recherche
FIELDS = [“id”, “value”, “type”, “score”, “status”, “tags”]
tlsearch = ThreatLibrary(tq, fields=FIELDS)
Donnez tous les résultats de la recherche TL en utilisant ThreatQ Search Names
tlsearch.get_saved_search(search_name).execute(
"indicators"
)
Matrice de performance
Voici la lecture des performances réalisée pour récupérer et pousser 100 000 IOC dans chaque cycle de vie du plugin sur une instance Large CE avec ces spécifications.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Indicateurs extraits de ThreatQ | ~23k IOCs per minute |
Agent utilisateur
netskope-ce-5.1.1-cte-threatq-v1.1.0
Workflow
- Obtenez votre ID client et votre secret client ThreatQ.
- Créez un nom de recherche sur ThreatQ.
- Configurez le plugin ThreatQ.
- Configurez une règle de gestion pour ThreatQ.
- Configurez le partage pour ThreatQ.
- Validez le plugin ThreatQ.
Cliquer sur « play » pour regarder une vidéo.
Obtenez votre ID client et votre secret client ThreatQ
- Connectez-vous à votre VM ThreatQ.
- Exécutez la commande suivante pour générer un identifiant et un secret client.
sudo /var/www/api/artisan threatq:oauth2-client --name=Netskope
- Copiez l'identifiant et le secret du client. Ils sont nécessaires pour configurer le plugin ThreatQ.
Créer un nom de recherche sur ThreatQ
- Dans votre instance ThreatQ, allez à Threat Library > Indicators.
- Appliquez les filtres selon vos besoins.
Par exemple, les indicateurs de filtre de type MD5.
- Cliquez sur Save As pour créer le nom de la recherche.
- Nommez votre collection de données.

- Cliquez sur Save Data Collection.
Notez que le nom de votre collection de données sera utilisé comme nom de recherche lors de la configuration du plugin ThreatQ.
Configurer le plugin ThreatQ
- Dans Cloud Exchange, accédez à Settings > Plugins.
- Cherchez et sélectionnez la boîte de plugin ThreatQ v1.1.0 (CTE) .

- Pour les informations de base, entrez ces paramètres :
- Nom de la configuration : Nom unique de la configuration.
- Intervalle de synchronisation : Laissez la valeur par défaut.
- Critères de vieillissement : Durée d'expiration du plugin en jours. (Valeur par défaut : 90)
- Ignorer la réputation : Définissez une valeur pour remplacer la réputation des indicateurs reçus de cette configuration.
- Activer la validation SSL : Active la validation du certificat SSL.
- Utiliser le proxy du système : Activez cette option si un proxy est nécessaire pour la communication.

- Cliquez sur Next.
- For Configuration Parameters, enter these values:
- URL ThreatQ : Il s'agit de l'URL de l'instance ThreatQ.
- ID du client ThreatQ : Il s'agit de l'ID du client ThreatQ Oauth2.
- Secret du client ThreatQ : Il s'agit du secret du client ThreatQ Oauth2.
- Noms de recherche ThreatQ : Il s'agit des noms de recherche ThreatQ qui contiennent les données à importer. Il doit s'agir d'une liste de noms de recherche séparés par des virgules ou d'un seul nom de recherche.

Notez que si l'un des noms de recherche fournis n'existe pas sur l'instance ThreatQ, ou s'il est invalide, vous ne pourrez pas enregistrer la configuration. - Cliquez Save.

Configurer une règle de gestion Threat Exchange pour ThreatQ
Pour partager des indicateurs extraits de ThreatQ vers Cloud Exchange, vous devez disposer d'une règle de gestion qui filtrera les indicateurs que vous souhaitez partager. Pour configurer une règle de gestion :
- Allez à Threat Exchange > Business Rule et cliquez sur Create New Rule.
- Ajoutez des filtres selon vos besoins dans la règle, puis cliquez sur Save.

Configurer le partage Threat Exchange pour ThreatQ
Pour partager les IoC de l'EC Netskope vers le locataire Netskope :
- Allez à Threat Exchange > Sharing et cliquez sur Add Sharing Configuration.
- Select votre configuration source (CTE ThreatQ), une règle de gestion, une configuration de destination (CTE Netskope) et une cible.
- Cliquez Save.

Valider le plugin ThreatQ
Valider le retrait
Pour vérifier les IoCs tirés, allez sur Logging et recherchez les IoCs avec le nom du plugin.
Les données extraites seront répertoriées sur le site Threat IoCs. Vous pouvez filtrer les IoCs extraits de la plateforme en utilisant le filtre: sources.source Like "<plugin name>"

Nous pouvons valider les IoC extraits à Threat IoCs:






Pour vérifier les IoCs disponibles sur la plateforme ThreatQ, rendez-vous à l'adresse suivante ThreatQ Platform > ThreatLibrary > Indicators.

Notez que si vous avez besoin de filtrer les IoC en fonction des noms de recherche utilisés lors de la configuration du plugin.
Validez la rétractation
Vous pouvez filtrer les journaux relatifs à la rétractation en utilisant le filtre : sources.source Like "<plugin configuration name> [Retraction]".
Notez que pour le plugin ThreatQ, le travail de rétractation est basé sur les noms de recherche ThreatQ. Cela signifie que seuls les indicateurs qui ont déjà été retirés et qui ne sont plus présents dans les noms de recherche fournis seront marqués comme rétractés (par exemple : Soit les indicateurs ont été supprimés de la plateforme source, soit le nom de recherche dans la configuration du plugin a été mis à jour).

Vous pouvez valider la même chose à Threat IoCs:

Notez que la rétractation ne fonctionne que pour les indicateurs actifs. Les indicateurs inactifs ne seront pas marqués comme rétractés dans Cloud Exchange.
Ce plugin ne prend pas en charge le partage des IoC avec la plateforme ThreatQ, mais les IoC extraits du plugin ThreatQ peuvent être partagés avec d'autres plateformes tierces. Lorsque les éléments de configuration partagés entre ThreatQ et une tierce partie sont supprimés de cette plateforme, ils sont marqués comme "<plugin-config-name>: retracted " dans le résultat de la rétractation. S'ils ne sont pas supprimés de la plateforme tierce, le résultat de la rétractation sera en attente ou sera rétracté.

Les IoC extraits de ThreatQ ont été partagés avec une liste d'URL CTE Demo sur le locataire Netskope.

Si l'un des IoC partagés est marqué comme rétracté dans Cloud Exchange, il sera également supprimé du locataire Netskope. Ici, vous pouvez voir les IoCs qui ont été marqués Retracted "Yes" dans la capture d'écran de rétractation, et qui ont également été supprimés de la liste d'URL sur le locataire Netskope.

Dépannage du plugin ThreatQ
Impossible de configurer le plugin ThreatQ
Cela peut être dû à l'une des raisons suivantes :
- Invalid configuration parameters
- Vérification SSL
What to do: Identifiez la cause première et suivez les étapes de la solution.
- Paramètres de configuration non valides. Suivez les étapes de la section Configurer le plugin ThreatQ pour vérifier que les paramètres de configuration sont valides.
- Vérification SSL : Vous pouvez rencontrer cette erreur lors de la vérification SSL.
| 21/03/2025 17:25:51 | – | error | CTE ThreatQ [CTE ThreatQ] : Une erreur de validation inattendue s’est produite lors de l’authentification. Erreur : HTTPSConnectionPool(host='10.50.1.21′, port=443) : Au maximum de tentatives dépassées avec URL : /api/token ?grant_type=client_credentials (Causé par SSLError(SSLCertVerificationError(1, '[SSL : CERTIFICATE_VERIFY_FAILED] vérification du certificat échouée : impossible d’obtenir le certificat de l’émetteur local (_ssl.c :1147)'))) |
Si votre instance ThreatQ est hébergée sur une machine locale, vous devez désactiver la vérification SSL lors de la configuration du plugin.

Impossible d'extraire des CIO de la plateforme ThreatQ
Après la configuration du plugin, si les IoC ne sont pas extraits de la plateforme, cela peut être dû à l'une des raisons suivantes :
- Aucun IoC n'est disponible sur la plateforme pour tirer
- Aucun IoC n'est disponible en rapport avec le nom de recherche fourni sur la plate-forme à extraire.
What to do: Identifiez la cause première et appliquez la solution.
Si aucun IoC n'est disponible sur la plateforme à extraire, vérifiez si les IoC sont présents sur la plateforme à extraire.
Pour vérifier les IoC, allez à ThreatQ Platform > ThreatLibrary > Indicators.

Si aucun IOC n'est disponible en rapport avec le nom de recherche fourni sur la plateforme à extraire, filtrez les enregistrements sur ThreatQ en fonction du nom de recherche utilisé lors de la configuration du plugin.
Pour vérifier les IoC, allez à ThreatQ Platform > ThreatLibrary > Indicators.
Par exemple, vous pouvez voir les IoCs pour le nom de recherche "All_indicators" dans la capture d'écran ci-dessous :

Obtention d'une erreur pour Nom(s) de recherche ThreatQ non valide(s)
Le champ Noms de recherche ThreatQ accepte des valeurs séparées par des virgules et si l'une des valeurs fournies n'est pas valide, ce qui signifie que le nom de recherche n'existe pas dans votre instance ThreatQ, vous rencontrerez l'erreur suivante.
| 21/03/2025 18:05:19 | – | error | CTE ThreatQ [CTE ThreatQ] : Nom(s) de recherche ThreatQ non valide(s) fourni(s) dans les paramètres de configuration. Erreur : Aucune recherche sauvegardée ne correspond au nom fourni |
What to do: Vérifiez si tous les noms de recherche fournis sont présents sur votre instance ThreatQ. Si l'un d'eux est absent, suivez les étapes décrites dans la section « Configurer le plugin ThreatQ ».

