Ce document explique comment configurer le plugin Elastic v2.3.0 dans le module Log Shipper de la plateforme Netskope Cloud Exchange. Ce plugin prend en charge l'ingestion d'alertes (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantine, Remediation, Security Assessment, Watchlist, UBA, CTEP) et d'événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint) aux formats ECS (Elastic Common Schema) et JSON vers la plateforme Elastic. Pour plus de détails sur le déploiement d'Elastic Agent, veuillez consulter la documentation.
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 Log Shipper déjà configurés.
- L'adresse et le port du serveur TCP de votre serveur Elastic (Filebeat).
- Connectivité à l'hôte suivant : Elastic Server.
Note
Ce plugin ne permet pas d'envoyer les logs WebTx à Elastic.
Support des plugins Elastic
Le plugin Elastic est utilisé pour ingérer toutes les alertes et tous les événements au format ECS et JSON dans l'onglet Discover d'Elastic.
| Type | Description |
|---|---|
| Soutien aux alertes | Oui (informations compromises, politique, sites, logiciels malveillants, prévention des pertes de données, évaluation de la sécurité, liste de surveillance, quarantaine, remédiation, UBA, CTEP) |
| Soutien aux événements | Oui (Page, Application, Audit, Infrastructure, Réseau, Incident, Point final) |
| Soutien WebTx | Non pris en charge |
| Journal de bord CE | Non pris en charge |
Permissions
Les ports utilisés dans l'intégration Netskope sur Elastic doivent être accessibles via Cloud Exchange.
Détails de l'API
Le plugin utilise la bibliothèque socket de Python pour établir une connexion avec le serveur Elastic.
Plus précisément, le plugin utilise la méthode socket.connect pour initier la connexion en utilisant les protocoles socket.AF_INET et socket.SOCK_STREAM . Cela garantit que la connexion établie avec le serveur est fiable et orientée flux.
De plus, le plugin exploite la méthode socket.sendall pour transmettre les journaux au serveur Elastic. Cette méthode garantit que toutes les données sont envoyées avec succès avant leur retour.
Matrice de performance
Cette analyse des performances a été réalisée sur un CE à grande pile avec les spécifications de VM ci-dessous. Les relevés ci-dessous sont ajoutés en tenant compte du fait qu'il s'agit d'ingérer environ 10 000 alertes et événements en ~80 secondes sur la plateforme Elastic.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Alertes/événements ingérés dans le SIEM d'un tiers | ~200K EPM |
Workflow
- Configurez une intégration Netskope dans Elastic.
- Configurez le plugin Elastic.
- Configurez une règle de gestion de l'expéditeur de journaux pour Elastic.
- Configurez les correspondances SIEM de Log Shipper pour Elastic.
- Validez le plugin Elastic.
Cliquer sur « play » pour regarder une vidéo.
Configurer une intégration Netskope dans Elastic
- Connectez-vous à Elastic.

- Recherchez et sélectionnez Integrations.

- Recherchez Netskope et cliquez sur la case Netskope .

- Cliquez Add Netskope.

- Développez le menu déroulant.

- Si le serveur Elastic et l'emplacement de déploiement de Cloud Exchange correspondent, gardez l'adresse d'écoute à localhost. Sinon, ajoutez 0.0.0.0 dans l'adresse d'écoute. Modifiez le port d'écoute en fonction de vos besoins. Assurez-vous que le port configuré sera accessible à Cloud Exchange.

- Activez le bouton Preserve original event pour les alertes Netskope et les événements Netskope.


- Pour ajouter une balise personnalisée, cliquez sur Advanced options et ajoutez la balise.

- Cliquez Save and continue.

- Cliquez Save and deploy changes.

- La politique d'intégration qui vient d'être créée apparaît dans la section Politiques d'intégration.

Si vous souhaitez ingérer les données au format JSON, suivez les étapes suivantes pour déployer l'intégration.
- Recherchez et sélectionnez Integrations.

- Cherchez TCP et cliquez sur la case Custom TCP Logs .

- Cliquez Add Custom TCP Logs.

- Développez le menu déroulant.

- Si le serveur Elastic et l'emplacement de déploiement de Cloud Exchange correspondent, gardez l'adresse d'écoute à localhost. Sinon, ajoutez 0.0.0.0 dans l'adresse d'écoute.

- Cliquez Save and continue.

- Cliquez Save and deploy changes.

- La politique d'intégration nouvellement créée apparaît sous l'onglet Politiques d'intégration.

Configurer le plugin Elastic
- Dans Cloud Exchange, allez sur Settings > Plugins. Cherchez et sélectionnez la case CLS Elastic .

- Ajoutez le nom de la configuration du plugin et assurez-vous d'avoir sélectionné le fichier Elastic Default Mappings (recommandé).
Désactivez le bouton de bascule pour transformer les journaux si vous souhaitez ingérer les données au format JSON ; laissez-le activé si vous souhaitez ingérer les données au format ECS. Cliquez sur Next.
- Enter values for these parameters:
- Adresse du serveur : Adresse IP du serveur Elastic dans lequel les données seront ingérées.
- Port du serveur : le port TCP utilisé lors de la création de la politique d'intégration sur Elastic.

- Cliquez Save. Ce plugin New sera disponible sur la page Log Shipper > Plugins .

Configurer une règle de gestion de l'expéditeur de logs pour Elastic
- Dans Cloud Exchange, accédez à Log Shipper > Business Rules.
- Par défaut, une règle métier filtre toutes les alertes et tous les événements. Si vous souhaitez filtrer certains types d'alertes ou d'événements, cliquez sur Create New Rule et configurez une New règle métier en ajoutant le nom de la règle et le(s) filtre(s).

- Cliquez sur Save.
Configurer les correspondances SIEM de Log Shipper pour Elastic
- Dans Cloud Exchange, allez dans Log Shipper > SIEM Mappings et cliquez sur Add SIEM Mappings.
- Select le plugin Source (Netskope CLS), le plugin Destination (Elastic), et votre règle métier, puis cliquez sur Save.
- Une fois le mappage SIEM ajouté, les données commenceront à être extraites du locataire Netskope, transformées et ingérées dans la plateforme Elastic.

Validez le plugin Elastic
Valider le retrait
Accédez à Logging dans Cloud Exchange et recherchez les journaux extraits.

Valider le push
Pour valider le workflow du plugin dans Cloud Exchange, accédez à Logging et recherchez les événements et alertes ingérés avec le message de filtre contient ingéré. Les journaux ingérés seront filtrés.

Pour valider l'envoi dans Elastic :
- Connectez-vous à Elastic.

- Recherchez et sélectionnez Discover.

- Cherchez data_stream.dataset : «Netskope.alerts » ou data_stream.dataset : «Netskope.events » et cliquez sur Update. Ou cherchez des balises : « <le tag ajouté lors de la configuration de l’intégration Netskope <the tag that was added while configuring the Netskope integration>> »











JSON Format


Dépannage du plugin Elastic
Si vous rencontrez des difficultés pour sauvegarder le plugin Elastic
Malgré la saisie de tous les paramètres et le clic sur Save, une erreur peut survenir, possiblement pour la raison suivante :
La configuration du serveur/port peut différer des paramètres spécifiés (Cloud Exchange/Elastic).
Accédez à la plateforme Elastic et recherchez les intégrations. Accédez à Intégrations installées, cliquez sur Netskope card > Integration policies, puis sur Stratégie d'intégration (la configuration que vous avez utilisée).
Assurez-vous que les deux sont identiques.
Comportement connu
Si vous rencontrez l'une des erreurs suivantes lors de l'ingestion, cela peut être dû à des problèmes liés aux sockets. Nous avons identifié un problème non résolu du côté d'Elastic.
Pour plus d'informations, veuillez consulter : Exception d'analyse JSON – Caractère illégal (Ctrl char)- Le processeur 'json' avec la balise 'json_message' a échoué avec le message 'Unexpected character ('*' (code 42)) : expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n at [Source : (org.elasticsearch.common.io.stream.ByteBufferStreamInput) ; line : 1, column : 2]'
- Le processeur 'json' avec la balise 'json_message' a échoué avec le message 'Caractère illégal ((CTRL-CHAR, code 3)) : seuls les espaces blancs réguliers (\\\\r, \\\\n, \\\\t) sont autorisés entre les tokens\n at [Source : (org.elasticsearch.common.io.stream.ByteBufferStreamInput) ; line : 1, column : 2]'
- Le processeur 'json' avec la balise 'json_message' a échoué avec le message 'Invalid UTF-8 start byte 0xbf\n at [Source : (org.elasticsearch.common.io.stream.ByteBufferStreamInput) ; line : 1, column : 3]'

Limitation connue
Le plugin CLS Elastic (ELK) existant ne prend pas actuellement en charge l'ingestion de données WebTx. En effet, l'intégration Elastic Netskope existante, à laquelle nous envoyons des journaux, ne prend en charge que les alertes et les événements. Par conséquent, nous ne pouvons pas ajouter la prise en charge de WebTx dans le plugin actuel. Pour la prise en charge de WebTx, l'équipe d'Elastic devra mettre à jour son intégration de Netskope.
Pour résoudre ce problème, vous pouvez utiliser le plugin Syslog pour envoyer des données WebTx à Elastic en utilisant l'intégration Custom TCP Logs. Cette méthode permet d'envoyer des journaux bruts, et non des journaux transformés par ECS. Suivez ces étapes pour configurer l'intégration des journaux TCP personnalisés dans Elastic.
- Dans Elastic, accédez à Integrations et recherchez l'intégration des journaux TCP personnalisés .

- Cliquez Add Custom TCP Logs situé en haut à droite.

- Indiquez le nom et la description de l'intégration.
- Assurez-vous que Custom TCP Logs est activé. Développez-le et saisissez l'adresse d'écoute, le port d'écoute et le nom de l'ensemble de données. Indiquez également les balises pour filtrer les journaux ingérés, puis cliquez sur Save and continue.

- Ensuite, configurez le plugin CLS Syslog de Netskope CE.
Notez que si vous avez une configuration On-Premises pour Elastic, assurez-vous de fournir l'adresse d'écoute comme 0.0.0.0. Lorsque vous ajoutez le port, assurez-vous qu'il est exposé.

