Notes de mise à jour
1.1.0 (Minimum required CE version 7.0.0)
Changed
- Les alertes, les événements et les journaux WebTx récupérés sont désormais balisés avec le format dans lequel ils ont été sérialisés, de sorte que Cloud Exchange analyse chaque lot selon le format déclaré plutôt que de l'inférer à partir du contenu.
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 Azure Netskope Log Streaming v1.1.0 plugin avec le module Log Shipper de la plate-forme Netskope Cloud Exchange. Ce plugin les récupère depuis les conteneurs Azure en utilisant la file d'attente de stockage d'un compte de stockage Microsoft Azure :
- Alertes (DLP (Prévention des pertes de données), logiciel malveillant, politique, identifiants compromis, site malveillant, mise en quarantaine, remédiation, évaluation de la sécurité, liste de surveillance, UBA, CTEP, périphérique, contenu).
- Événements (page, application, audit, infrastructure, réseau, incident, point de terminaison, état du client).
- WebTx data.
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 Log Streaming 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/
- Un compte de stockage, un conteneur, une file d'attente et un abonnement à un événement pour la file d'attente déjà configurés sur votre compte Azure.
- Pour plus d'informations sur les comptes de stockage, consultez la documentation Microsoft Azure.
Prise en charge du plugin de streaming de journaux Azure
Ce plugin prend en charge l'ingestion aux formats CEF et JSON.
| Type de données | Support |
|---|---|
| Événements | Oui (page, application, audit, infrastructure, réseau, incident, point de terminaison et état 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 |
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 | ~200K 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-7.0.0-cls-azure-netskope-logstreaming-v1.1.0
Workflow
- Générez les informations d'identification pour le plugin Azure Netskope Log Streaming.
- Configure Log Streaming on a Netskope Tenant.
- 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 de diffusion de journaux Azure Netskope, 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.
-
Une fois le compte de stockage créé avec succès, allez sur {storage_account} > Security + networking > Access keys, copiez la chaîne de connexion et utilisez-la lors de la configuration du plugin.

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

-
Saisissez un nom pour le conteneur et cliquez sur Create. Votre conteneur sera listé sur cette page.
-
Pour configurer la file d'attente, allez dans Data storage > Queues et cliquez sur +Queue. Donnez un nom à la file d'attente (notez le nom pour configurer le plugin), 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
Ceci déclenchera un événement chaque fois qu'un blob est créé dans n'importe quel 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 par objet et ajouter ce chemin de répertoire spécifique dans l'option de filtre. Exemple :

Configure Log Streaming on a Netskope Tenant
-
Connectez-vous à votre locataire Netskope et allez 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 de streaming des logs Azure Netskope
-
Dans Cloud Exchange, accédez à Settings > Plugin Store.
-
Recherchez et sélectionnez le plugin Azure Netskope LogStreaming v1.1.0 (CLS).

-
Saisissez un nom de configuration et sélectionnez un intervalle d'extraction pour le plugin.

-
Cliquez sur Next et entrez les paramètres de configuration :
- Microsoft Azure Storage Account Connection String: Chaîne de connexion au compte de stockage Microsoft Azure obtenue précédemment. Exemple : DefaultEndpointsProtocol=https;AccountName={NOM_DU_COMPTE_DE_STOCKAGE};
- Microsoft Azure Data Storage Queue Name: Nom de la file d'attente du stockage de données Microsoft Azure (obtenu précédemment) pour laquelle l'abonnement à l'événement est configuré.
Assurez-vous que la file d'attente fournie est préconfigurée dans votre compte de stockage Microsoft Azure et que l'abonnement à l'événement est également configuré pour cette file d'attente. Une New file d'attente ne sera pas créée si la file d'attente fournie n'existe pas.

-
Cliquez sur Save. La configuration de votre plugin sera disponible sur la page Log Shipper > Plugins.
Vous devez disposer d'un plugin de transfert de journaux tiers, tel que le plugin Syslog avec Splunk, déjà configuré pour ingérer les données extraites du plugin Azure Netskope Log Streaming.
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(s) filtre(s).

-
Cliquez sur Save.

Configurer la livraison des logs Log Shipper pour le streaming de logs Azure
-
Dans Log Shipper, allez dans Log Delivery et cliquez sur Add Log Delivery Configuration.
-
Select the plugin source (CLS Azure Netskope LogStreaming), le plugin de destination (comme Syslog) et une règle métier, puis cliquer sur Save.

-
Une fois la configuration de remise des journaux enregistrée, les données sont extraites de la file d’attente à l’intervalle d’extraction défini dans la configuration du plugin, puis intégrées au plugin tiers.
Valider le plug-in Azure Log Streaming
Valider le retrait
Pour valider que le plugin extrait les données de la file d'attente :
Dans Cloud Exchange, accédez à Logging et recherchez les journaux extraits à l’aide du filtre message Like “pulled” ou message Like “CLS Azure Netskope LogStreaming”.
Exemples de journaux pour les alertes extraites :


Exemples de journaux pour les événements extraits :


Exemples de logs pour les WebTx récupérés :

Valider le push
Pour valider le push dans Cloud Exchange :
-
Accédez à Logging et recherchez les alertes et événements ingérés avec le filtre message contient ingéré. Vous pouvez également utiliser le nom du plugin de destination comme filtre.
Exemples de journaux pour les alertes ingérées :



Exemples de journaux pour les événements ingérés :



Exemples de journaux pour les WebTx ingérés :

-
Pour visualiser les données ingérées dans Splunk (par exemple), filtrez les données par l'identifiant de la source de log utilisé dans la configuration du plugin Syslog, ainsi que par le port TCP et le type de source utilisés pour configurer l'entrée TCP sur le serveur Splunk.
Exemple de données ingérées au format CEF :



Exemple de données ingérées au format JSON :



Dépannage du plugin de streaming de journaux Azure Netskope
Problèmes lors de la configuration du plugin New
Si vous créez un New plug-in et que cette erreur s’affiche, cela peut indiquer que le nom de la file d’attente spécifié dans la configuration n’existe pas dans le compte Microsoft Azure Storage 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 Log Streaming et une plateforme de plugin tierce avec succès, et que vous ne recevez toujours pas de messages après avoir configuré la distribution des logs pour le plugin, cela peut être dû au fait que toutes les données d'alertes/événements/webtx sont consommées et qu'il n'y a rien à 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}.

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 de diffusion de logs Netskope.
Limitation
Ce plugin n'est supporté que sur Cloud Exchange déployé sur une instance Cloud.

