Notes de mise à jour
1.0.1 (Minimum required CE version 5.1.2)
Changed
- Gestion mise à jour du filtrage des champs.
1.0.0
Added
- Initial release.
Ce document explique comment configurer le plugin Azure Netskope LogStreaming v1.0.1 avec le module Log Shipper de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour extraire les alertes Netskope (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, Content), les événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint, Client Status) et les données WebTx des conteneurs Azure à l'aide de la file d'attente de stockage du compte de stockage Microsoft Azure.
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).
- Une instance Netskope Cloud Exchange avec le plugin Tenant et le plugin Log Shipper déjà configurés.
- Azure Netskope LogStreaming service enabled in Netskope Tenant.
- Un plugin tiers (comme Syslog) déjà configuré.
- Abonnement de niveau standard incluant le service de comptes de stockage.
- Connectivité aux hôtes suivants : https://portal.azure.com/
- Pour plus d’informations sur le compte de stockage, consultez cette documentation.
Support du plugin Azure LogStreaming
Ce plugin est utilisé pour extraire les données Netskope alertes (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, Content), événements (Page, Application, Audit, Infrastructure, Réseau, Incident, Endpoint, Statut client) et WebTx des conteneurs Azure via la file d’attente de stockage du compte Microsoft Azure.
| Type de données | Support |
|---|---|
| Événements | Oui (Page, Application, Audit, Infrastructure, Réseau, Incident et Statut du client) |
| Alertes | Oui (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique et Content) |
| WebTx | Oui |
| Journal de bord CE | Non |
Mises en correspondance
Le plugin Syslog actuel ne dispose pas de fichier de mappage pour les alertes, les événements et les transactions Web d'Azure Netskope LogStreaming ; les utilisateurs doivent ajouter un fichier de mappage personnalisé pour transformer ces données d'alertes, d'événements et de transactions Web. Ce fichier de mappage permet d'ingérer les données au format JSON.
Exemple de fichier de cartographie :
{
"delimiter": "|",
"syslog_map_version": "3.2.0",
"cef_version": "0",
"validator": "valid_extensions.csv",
"taxonomy": {
"json": {
"alerts": {
"dlp": [],
"malware": [],
"policy": [],
"Compromised Credential": [],
"Malsite": [],
"Quarantine": [],
"Remediation": [],
"Security Assessment": [],
"Watchlist": [],
"uba": [],
"ctep": [],
"content": [],
"device": []
},
"events": {
"application": [],
"audit": [],
"infrastructure": [],
"page": [],
"network": [],
"incident": [],
"clientstatus": []
},
"webtx": {
"v2": []
}
}
}
}
Permissions
Voici les autorisations nécessaires pour votre compte Azure : si vous créez votre propre stockage de blob Azure, assurez-vous d’avoir les autorisations pour créer et gérer des comptes de stockage et des groupes de ressources.
- Storage Account Contributor: Créer, supprimer et gérer le compte de stockage lui-même, y compris la mise en réseau et les clés d'accès.
- Storage Blob Data Contributor: Pour effectuer des opérations de données sur les blobs (chargement, téléchargement, suppression).
- Storage Queue Data Contributor: Pour gérer les messages de la file d'attente (ajout, lecture, suppression).
- EventGrid Contributor: Nécessaire pour créer le sujet système (sur le compte de stockage) et l’abonnement à l’événement.
Détails de l'API
Ce plugin utilise des bibliothèques Python pour récupérer les alertes Netskope, les événements et les journaux Webtx à partir des conteneurs configurés dans le compte de stockage Microsoft Azure.
Utilisation : Les bibliothèques azure-storage-queue et azure-storage-blob font partie du SDK Azure pour Python et permettent d'interagir avec les services Azure Storage. azure-storage-queue est utilisé pour envoyer, recevoir et gérer des messages dans des files d'attente, prenant en charge les architectures découplées et basées sur les événements. azure-storage-blob permet de charger, de télécharger et de gérer des fichiers dans Azure Blob Storage. Ensemble, ils sont couramment utilisés dans les flux de travail où les téléchargements de blobs déclenchent des événements de traitement via des messages de file d'attente.
Initialiser le client du service Blob
Crée un client pour interagir avec le compte Azure Blob Storage à l'aide de la chaîne de connexion.
blob_service_client = BlobServiceClient.from_connection_string(
conn_str=connection_string, user_agent=self._get_user_agent()
)
Initialiser le client de la file d'attente
Crée un client pour se connecter à la file d'attente de stockage Azure spécifiée en utilisant la chaîne de connexion fournie.
queue_client = QueueClient.from_connection_string(
conn_str=connection_string,
queue_name=queue_name,
user_agent=self._get_user_agent(),
)
Initialiser le client du service de mise en file d'attente
Crée un client pour interagir avec le service Azure Storage Queue, permettant des opérations telles que la liste des files d'attente dans le compte de stockage.
queue_service = QueueServiceClient.from_connection_string(
conn_str=connection_string, user_agent=self._get_user_agent()
)
Recevoir des messages d'une file d'attente
Récupère un lot de messages de la file d'attente de stockage Azure qui sont actuellement visibles et disponibles pour traitement.
messages = queue_client.receive_messages(
messages_per_page=20, visibility_timeout=3000
)
Supprimer des messages d'une file d'attente
Supprime définitivement un message spécifique de la file d'attente de stockage Azure en utilisant l'identifiant du message et le récépissé.
queue_client.delete_message(
message=msg.id,
pop_receipt=msg.pop_receipt,
)
Matrice de performance
Ces performances sont celles d'un Cloud Exchange Large Stack testé sur ces spécifications de VM. Ces relevés sont complétés par les considérations suivantes sur les données :
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Alertes-Événements pull | ~200 EPM |
| Alertes-Événements extraits et infiltrés dans un plugin tiers Log Shipper | ~180K EPM |
| WebTx pull | ~200K EPM |
| WebTx pull et ingéré dans un plugin tiers Log Shipper | ~165K EPM |
Agent utilisateur
netskope-ce-6.1.0-cls-azure-netskope-logstreaming-v1.0.1
Workflow
- Générez les informations d'identification pour le plugin Azure Netskope Log Streaming.
- Configurez le plugin Azure Netskope Log Streaming.
- Configurez une règle de gestion.
- Configurez la livraison des journaux.
- Validez le plugin.
Regardez une vidéo
Cliquez sur "play" pour regarder une vidéo :
Générer les informations d'identification pour le flux de données du journal Azure Netskope
Pour configurer le plugin Azure Netskope LogStreaming, vous devez configurer une file d’attente dans un compte de stockage.
Pour configurer un compte de stockage :
-
Connectez-vous à votre instance Microsoft Azure et recherchez le service Compte de stockage.

-
Cliquez dessus, et si vous avez déjà configuré un compte de stockage, celui-ci apparaîtra sur cette page.

-
Pour configurer un New compte de stockage, cliquez sur Create.

-
Fournissez toutes les informations requises et cliquez sur Review + create.
-
Après avoir créé avec succès le compte de stockage, allez à {storage_account} > Security + networking > Access keys, copiez la chaîne de connexion et utilisez-la dans le plugin.

-
Créez maintenant un conteneur et une file d’attente. Allez dans Data storage > Containers et cliquez sur Add container.

-
Indiquez un nom pour le contenant, puis cliquez Create. Votre conteneur sera listé sur cette page.
-
Pour configurer la file d’attente, allez dans Data storage > Queues, cliquez sur +Queue, indiquez un nom pour la file d’attente, puis cliquez sur OK.

-
Après avoir configuré ces fonctionnalités, vous devez créer un abonnement à l’événement pour la file d’attente. Va sur {storage_account} > Events.
-
Cliquez sur +Event subscription, fournissez tous les détails, puis cliquez sur Create. Fournissez un nom et un nom de sujet système, définissez le schéma d'événement sur Event Grid Schema et filtrez les types d'événements sur Blob Created.

-
Configurez le point de terminaison avec le compte de stockage et la file d'attente que vous venez de créer.

-
Cliquez sur Create.

La configuration est terminée. Lorsque vous avez des fichiers valides disponibles dans le conteneur, le plugin récupère les données de ce fichier et les ingère dans une plateforme tierce Log Shipper.
Note Cela déclenchera un événement chaque fois qu’un blob est créé dans un répertoire. Pour déclencher un événement lorsqu’un blob est créé dans un répertoire spécifique, vous devez activer Activer le filtrage sujet et ajouter ce chemin de répertoire spécifique dans l’option filtre. Exemple :

Configure Log Streaming on Netskope Tenant
-
Connectez-vous à Netskope Tenant, puis cliquez sur Settings.
-
Dans les paramètres, allez à Tools > Log Streaming.

-
Cliquez sur Create Stream.
-
Fournir ces paramètres :
-
Name: Entrez le nom du ruisseau.
-
Data Collections: Si vous souhaitez diffuser les journaux de transactions vers votre bucket cloud, sélectionnez la case Événements de transaction. Sinon, il ne diffusera que les alertes et événements vers votre bucket cloud.
Note
- Assurez-vous de sélectionner l’ordre 2 de l’analyseur si vous comptez l’utiliser avec Syslog v4.1.2 le plugin, car le mappage par défaut pour Syslog v4.1.2 est compatible avec l’ordre 2 de l’analyseur.
- Assurez-vous que le champ x-cs-timestamp est activé, car Cloud Exchange utilise ce champ pour identifier les données WebTx.
-
Destination: Select la destination de la diffusion et fournissez les informations la concernant. Saisissez le nom du compte de stockage, le nom du conteneur, le chemin et la clé d’accès pour votre conteneur Azure.

-
Compression: Select le type de compression que vous voulez.

-
-
Click Save.
Configurer le plugin Azure Netskope LogStreaming
-
Dans Cloud Exchange, accédez à Settings > Plugin Store.
-
Recherchez et sélectionnez le plugin Azure Netskope LogStreaming v1.0.1 (CLS).

-
Saisissez le Configuration Name et Pull Interval du plugin.

-
Cliquez sur Next et entrez les paramètres de configuration :
- Microsoft Azure Storage Account Connection String: La chaîne de connexion de clé d’accès au compte de stockage Microsoft Azure créée précédemment.
- Microsoft Azure Data Storage Queue Name: Le nom de file d’attente de stockage de données Microsoft Azure pour l’abonnement à l’événement créé précédemment. Assurez-vous que la file d’attente fournie est préconfigurée dans votre compte de stockage Microsoft Azure. Une file d’attente New ne sera pas créée si la file d’attente fournie n’existe pas.

-
Click Save. Plugin configuration will be available on the Log Shipper > Plugins page.
Vous devez avoir un plugin tiers Log Shipper, comme Syslog avec Splunk, déjà configuré pour ingérer les données extraites du plugin Azure Netskope LogStreaming.
Configurez une règle métier Log Shipper pour le streaming Azure Log
-
Dans Log Shipper, allez à Business Rules.
-
Par défaut, une règle de gestion filtre toutes les alertes et tous les événements. Si vous souhaitez filtrer des types d'alertes ou d'événements spécifiques, cliquez sur Create New Rule et configurez une règle de gestion New en ajoutant le nom de la règle et le filtre.

-
Cliquez sur Save.

Configurez la livraison de logs par expéditeur pour Azure LogStreaming
-
Dans Log Shipper, allez dans Log Delivery et cliquez sur Add Log Delivery Configuration.
-
Select le plugin Source (CLS Azure Netskope LogStreaming), le plugin Destination (comme Syslog), Select et la règle métier, puis cliquez sur Save.

-
Après la configuration de la Livraison des logs, les données commenceront à être extraites du locataire Azure Netskope LogStreaming, transformées et intégrées dans la plateforme de plugins tierces.

Validez le plugin Azure LogStreaming
Valider le retrait
Pour valider l'extraction des indicateurs du locataire Netskope :
Dans Cloud Exchange, allez dans Logging et recherchez les journaux extraits avec le filtre « message contains pulled ».




Valider le push
Pour valider le push dans Cloud Exchange :
-
Allez à Logging et recherchez les événements ingérés avec le filtre « message contient ingéré ».
-
Les journaux ingérés seront filtrés.






-
Pour visualiser les données ingérées sur Splunk (par exemple), recherchez les données ingérées en utilisant le port TCP et l’identifiant source Log utilisés lors de la configuration du plugin Log Shipper Syslog.



Dépannage du plugin Azure Netskope LogStreaming
Problèmes lors de la configuration du plugin New
Si vous créez un plugin New et que vous obtenez cette erreur, cela peut indiquer que le nom de la file d'attente spécifié dans la configuration n'existe pas dans le compte de stockage Microsoft Azure associé à la chaîne de connexion fournie.

What to do:
Fournissez un nom de file d'attente valide pour le compte de stockage associé à la chaîne de connexion fournie.
Problèmes lors de la récupération d'alertes/événements ou de données WebTx à partir de la file d'attente configurée
Si vous avez configuré le plugin Azure Netskope LogStreaming et une plateforme tierce avec succès, et que vous ne recevez toujours aucun message après avoir configuré la livraison des logs pour le plugin, cela peut être dû à toutes les alertes/événements/données webtx qui sont consommées et qu’il n’y a rien de disponible à extraire de la file d’attente.

What to do:
Vérifiez que vous avez des données à consommer dans la file d'attente. Allez sur {Storage_account} > Data Storage > Queues >{Queueue}.

Faire face aux problèmes tout en transformant les événements tirés
Après avoir réussi à extraire des événements du plugin Azure Netskope LogStreaming, vous ne parvenez pas à les transformer. La cause principale de ce problème pourrait être que le type d'événement pour lequel l'erreur est reçue n'est pas ajouté au fichier de mappage.
What to do:
Assurez-vous d'avoir utilisé le fichier de mappage fourni ci-dessus pour l'ingestion des événements, des alertes et des données WebTx au format JSON.
Problèmes lors de l'utilisation du plugin avec un proxy
Si vous utilisez le serveur proxy et configurez le plugin avec un proxy, vous pourriez rencontrer cette erreur :

Cela peut être dû au fait que le serveur proxy est déployé sur l’instance locale, et que vous utilisez le plugin sur une instance cloud.
What to do:
Déployez votre serveur proxy sur une instance cloud au lieu d'utiliser une instance locale.
Comportement connu
Si RBACv3 est activé dans votre locataire Netskope, vous ne pourrez pas utiliser les services Netskope LogStreaming.
Limitation
Ce plugin n'est supporté que sur Cloud Exchange déployé sur une instance Cloud.

