Notes de mise à jour
1.1.0 (Requires minimum Cloud Exchange version 7.0.0)
Ajouté
- Ajout de la prise en charge des champs de configuration dynamique pour la méthode d'authentification. Les paramètres « AWS IAM Roles Anywhere » (clé privée, corps du certificat, phrase de mot de passe, ARN du profil, ARN du rôle et ARN de l'ancre de confiance) ne s'affichent désormais que lorsque cette méthode d'authentification est sélectionnée.
Changed
- Les alertes, événements et logs webtx récupérés sont désormais marqués avec le format dans lequel ils ont été sérialisés, de sorte que Cloud Exchange analyse chaque lot selon son format déclaré au lieu de le déduire du contenu.
1.0.0
Ajouté
- Initial release.
Ce document explique comment configurer le plugin AWS Log Streaming v1.1.0 plugin avec le module Log Shipper de la plate-forme Netskope Cloud Exchange. Ce plugin les récupère à partir d'un bucket S3 compatible avec la file d'attente AWS SQS :
- Alertes (DLP (Prévention des pertes de données), Malware (Logiciel malveillant), Politique, Identifiants compromis, Site malveillant, Mise en quarantaine, Remédiation, Évaluation de la sécurité, Liste de surveillance, UBA (Analyse du comportement des utilisateurs), CTEP (Plateforme d'protection de la technologie cloud), Périphérique et Contenu).
- Événements (page, application, audit, infrastructure, réseau, incident, endpoint et statut du client).
- WebTx logs.
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) avec le service AWS Netskope Log Streaming activé et Log Streaming configuré avec Amazon S3.
- Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Log Shipper déjà configurés.
- Un locataire Netskope Cloud Exchange avec un plugin tiers (comme Syslog) déjà configuré.
- La file d'attente Amazon SQS doit être activée sur le bucket S3 avec les autorisations suivantes pour l'utilisateur IAM. Assurez-vous qu'un utilisateur dispose d'un accès administrateur au compte AWS.
- GetObject (Lecture)
- GetObjectAttributes (Lecture)
- GetQueueAttributes (Lecture)
- GetQueueUrl (Lecture)
- ReceiveMessage (Lecture)
- DeleteMessage (Écriture)
- Connectivité à un hôte ayant accès à AWS S3 Bucket.
Support du plugin AWS LogStreaming
| Type de données | Support |
|---|---|
| Événements | Oui (Page, Application, Audit, Infrastructure, Réseau, Incident, Point final 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 |
Permissions
- Autorisations pour l'utilisateur IAM d'envoyer des événements, des alertes et des données WebTx dans les buckets Amazon S3.
- GetObject (Lecture)
- GetObjectAttributes (Lecture)
- Permissions Amazon SQS Queue à l'utilisateur IAM pour envoyer des données d'alertes à Queue.
- GetQueueAttributes (Lecture)
- GetQueueUrl (Lecture)
- ReceiveMessage (Lecture)
- DeleteMessage (Écriture)
Détails de l'API
Liste des API utilisées
Ce plugin utilise des bibliothèques Python pour lire les messages AWS SQS et télécharger ensuite les données du seau AWS S3 à partir de l'objet fichier reçu des messages SQS.
Bibliothèque : Le SDK AWS pour Python (Boto3)
Utilisation : Le SDK AWS pour Python (Boto3) pour créer, configurer et gérer les services AWS, tels que Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Queue Service et Amazon Simple Storage Service (Amazon S3). Le SDK fournit une API orientée objet ainsi qu'un accès de bas niveau aux services AWS.
Creating S3 the Client
s3_client = boto3.client(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
Creating SQS the Client
s3_client = boto3.client(
"sqs",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
To get the SQS Queue URL
response = sqs_client.get_queue_url(QueueName=str(queue_name))
To receive messages from the SQS Queue
response = sqs_client.receive_message(
QueueUrl=queue_url,
MaxNumberOfMessages=1,
WaitTimeSeconds=2,
MessageAttributeNames=["All"],
)
Matrice de performance
Ces performances sont celles d'un CE à grande pile testé avec ces spécifications de VM. Ces relevés sont complétés par les considérations suivantes sur les données :
- 50 Mo compressés ~500 Mo non compressés (~500k) Alertes/événements en ~3,3 minutes
- 50 Mo compressés ~500 Mo non compressés (~500k) Journaux WebTx en ~2,5 minutes
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Alertes - Les événements sont tirés et intégrés dans un système SIEM tiers. | ~170K EPM |
| WebTx pull et ingested to third-party SIEM | ~200K EPM |
Agent utilisateur
APN/1.1 (ahq9d89xj9gspapczzdb59goq)
Workflow
- Configurez la file d'attente avec les Amazon S3 Buckets.
- Créez une politique AWS Netskope LogStreaming.
- Générer des informations d'identification pour les méthodes d'authentification AWS Netskope LogStreaming.
- Configure Log Streaming on a Netskope Tenant.
- Configurez le plugin de streaming de journaux CLS AWS Netskope.
- 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 :
Configurer la file d'attente avec les Amazon S3 Buckets
Pour configurer le plugin, vous devez configurer une file d'attente avec un seau Amazon S3 :
- Connectez-vous à votre compte AWS et allez sur Amazon S3 > Buckets pour trouver vos buckets configurés.

- À partir de là, créez des notifications d'événements pour ingérer les données du dossier spécifié dans le seau S3 vers la file d'attente SQS configurée.
- Et à partir de Amazon SQS > Queues, vous pouvez trouver vos files d'attente configurées.

Créer une politique de journalisation AWS Netskope
- Dans l’onglet JSON, saisissez cette politique. Cliquez Next:Tags, puis cliquez Next:Review.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectAttributes"
],
"Resource": [
"arn:aws:s3:::*/*",
"arn:aws:s3:*:932414340604:accesspoint/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"sqs:DeleteMessage",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:GetQueueAttributes"
],
"Resource": "*"
}
]
}Note
Veillez à mettre à jour l'identifiant de votre compte AWS dans le modèle de politique ci-dessus.
- Attachez cette politique à l'utilisateur. Allez sur IAM > Users et sélectionnez l'utilisateur pour lequel vous voulez attacher une politique. Cliquez sur Add permissions et cliquez sur l'option Add permissions:

- Select Attach policies directly sous Options de permissions, puis recherchez et sélectionnez la politique créée à l'étape précédente pour la file d'attente source.

Méthodes d'authentification des plugins
Configuration de IAM Role Anywhere
Conditions préalables
Le service AWS Certificate Manager doit être activé pour authentifier le plugin à l'aide de la méthode d'authentification AWS IAM Roles Anywhere.
Assurez-vous de créer l'autorité de certification privée, l'ancre de confiance et le profil dans la même région que celle où se trouve votre file d'attente AWS SQS.
Créer une politique
Cette politique contient les autorisations requises pour créer un certificat d'autorité de certification privé (y compris les autorisations pour créer l'ancre de confiance et le profil) et pour utiliser les rôles IAM Anywhere.
- Allez sur Policy Generator et sélectionnez IAM Policy comme type de police. Saisissez les détails de l'ajout de la déclaration, puis générez la police.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Autorité de certification privée AWS
- Actions :
- Créer une autorité de certification
- DescribeCertificateAuthority
- Obtenir un certificat
- Obtenir un certificat d'autorité
- Obtenir l'autorité de certification (GetCertificateAuthorityCsr)
- ImportCertificateAuthorityCertificate
- Délivrer un certificat
- Liste des autorités de certification
- ARN : *
- Cliquez sur Add Statement.

- Faites défiler l'écran vers le haut pour ajouter une autre déclaration.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Gestion des identités et des accès (IAM) d'AWS
- Actions :
- Politique de rattachement des rôles
- Créer une clé d'accès
- Créer un rôle
- Supprimer un rôle
- PassRole
- ARN : *
- Cliquez sur Add Statement.

- Faites défiler l'écran vers le haut pour ajouter une autre déclaration.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Gestionnaire de certificats AWS
- Actions :
- Décrire le certificat
- Certificat d'exportation
- Obtenir un certificat
- Liste des certificats
- ListTagsForCertificate
- Demande de certificat
- ARN : *
- Cliquez sur Add Statement.
- Faites défiler l'écran vers le haut pour ajouter une autre déclaration.
- Select Type de politique : Politique IAM
- Effet : Autoriser
- Service AWS : Gestion des identités et des accès AWS Rôles en tout lieu
- Actions :
- Créer un profil
- CreateTrustAnchor
- Obtenir un profil
- GetTrustAnchor
- Liste des profils
- ListTrustAnchors
- ARN : *
- Cliquez sur Add Statement.

- Cliquez sur Generate Policy.

- Copiez la politique car elle sera utilisée dans l'étape suivante pour créer la politique nécessaire à la création des certificats de l'AC privée.
- Allez sur AWS Console et sélectionnez IAM depuis All Services. Cliquez sur Policies dans le panneau de gauche, puis cliquez sur Create Policy.

Créer une autorité de certification privée
- Add tags if any (optional).
- Cochez la case dans la section CA permissions options.
- Cochez la case dans la section Pricing.
- Cliquez sur Create pour créer le certificat CA.


Créer un ancrage de confiance
- Cherchez le service IAM , allez dans Roles sous Gestion d’accès, puis faites défiler jusqu’à Rôles n’importe où et sélectionnez Manage.

- Select AWS Certificate Manager Private CA (créé dans les étapes précédentes) en tant que source d'autorité de certification (CA). Select le certificat créé à l'étape précédente dans l'autorité de certification privée AWS.

Créer un rôle IAM
- Allez sur IAM services dans la console AWS.
- Cliquez sur Roles sous la rubrique Gestion de l'accès
- Cliquez sur Create Role.

- Remplacez la politique de confiance personnalisée par cette politique de confiance. Cette politique contient les autorisations pour l'utilisation du service Rôles n'importe où :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"rolesanywhere.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole",
"sts:TagSession",
"sts:SetSourceIdentity"
]
}
]
}
- Cliquez sur Next.
- In the Permissions policies, select the policy created previously in Create a Policy.

- Notez l’ARN du rôle car il sera requis dans le paramètre de configuration du plugin Role ARN pour la méthode d’authentification AWS IAM Roles Anywhere.

Créer un profil
- Allez sur IAM services dans la console AWS.
- Select Roles dans le cadre de la gestion de l'accès.
- Faites défiler vers le bas jusqu'à Rôles Anywhere et cliquez sur Manage.

- Développez les étapes de la configuration.
- Cliquez sur Step 2: Configure roles.
- Cliquez sur Configure a profile.

- Indiquez un nom de domaine dans le champ Fully qualified domain name, comme Netskope-ce-verified-access.com.
- Select RSA 2048 comme algorithme clé.

- Ajoutez des étiquettes si nécessaire.
- Confirmez les autorisations de renouvellement du certificat.
- Cliquez sur Request.

- Allez sur List certificates dans le volet de navigation d'AWS Certificate Manager.
- Select le certificat créé précédemment.

- Saisissez une phrase d'authentification. Notez la phrase d'authentification car elle sera nécessaire pour la configuration du plugin AWS S3 à l'aide de la méthode d'authentification AWS IAM Roles Anywhere.
- Cliquez sur Generate PEM Encoding.

- Téléchargez tous les certificats car ils ne seront plus visibles. Pour les certificats New, vous devrez les exporter à nouveau.

- L’organisme du certificat, Certificate Private Key, sera nécessaire pour la configuration du plugin AWS Verified Access en utilisant la méthode d’authentification AWS IAM Roles Anywhere . Pour plus d’informations, rendez-vous sur AWS IAM Role Anywhere.
Déployé sur AWS Authentification
Créer un rôle
- Cliquez sur Next.
- Saisissez un nom de rôle (comme Netskope-ce-instance-role) et une description.
- Cliquez sur Create Role.


Attribuer un rôle à une instance EC2
- Select the Role that you created above in Create a Role. (netskope-ce-instance-role).
- Cliquez sur Add IAM Role ou Modify IAM Role. Notez que l'instance EC2 et la file d'attente doivent se trouver dans la même région.

Attribuer un rôle à une instance de K8s
- Ouvrez votre rôle créé pour ServiceAccount lors de la création de l'instance K8s.
- Attach the policy created in Create a Policy.
Configure Log Streaming on a Netskope Tenant
-
Connectez-vous à votre locataire Netskope et cliquez sur Settings.
-
Allez sur Tools > Log Streaming.

-
Cliquez sur Create Stream.
-
Enter the configuration parameters:
-
Name: Fournissez le nom du flux.
-
Data Collections: Si vous souhaitez diffuser les journaux de transaction vers votre bucket cloud, cochez la case Événements de transaction. Ou bien il ne diffusera que les Alertes/Événements vers votre bucket cloud.
-
Destination: Select la destination du streaming et fournissez les informations sur celle-ci.

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

-
-
Click Save.
Configurer le plugin AWS LogStreaming
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin AWS Netskope LogStreaming v1.1.0 (CLS).
Vous pouvez voir deux plugins avec le même nom. Pour configurer ce plugin, vous devez sélectionner le plugin avec le logo Netskope. -
Entrez un nom de configuration et définissez l'intervalle d'extraction en fonction de vos besoins.

-
Cliquez sur Next et saisissez les paramètres de configuration en fonction de votre méthode d'authentification :
Deployed on AWS Authentication
- Authentication Method: Select la méthode à utiliser pour l'authentification du client AWS.
- AWS Region Name: Nom de la région AWS dans laquelle le compartiment S3 avec file d'attente SQS activée est configuré. Assurez-vous que le nom de la région correspond à celui de la région dans l'ARN du profil et l'ARN de l'ancre de confiance si vous avez sélectionné la méthode d'authentification AWS IAM Roles Anywhere.
- AWS SQS Queue Name: Nom de la file d'attente AWS SQS avec laquelle le bucket S3 est configuré. Pour obtenir les détails, accédez à AWS > SQS > QueueName. Remarque : assurez-vous que la file d'attente fournie est préconfigurée sur votre instance AWS. Une New file d'attente ne sera pas créée si la file d'attente fournie n'existe pas.

AWS IAM Roles Anywhere Authentication
- Authentication Method: Select la méthode à utiliser pour l'authentification du client AWS.
- Private Key: Clé privée pour décrypter le certificat privé de l'autorité de certification AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Certificate Body: Organisme de certification pour le certificat d'autorité de certification public/privé AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Password Phrase: Phrase du mot de passe pour décrypter le certificat de l'autorité de certification. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Profile ARN: ARN du profil AWS pour l'authentification des clients AWS. Requis pour le type d'authentification « AWS IAM Roles Anywhere ».
- Role ARN: ARN du rôle AWS pour l'authentification du client AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- Trust Anchor ARN: ARN de l'Ancre de confiance AWS pour l'authentification du client AWS. Requis pour le type d'authentification "AWS IAM Roles Anywhere".
- AWS Region Name: Nom de la région AWS dans laquelle le compartiment S3 avec file d'attente SQS activée est configuré. Assurez-vous que le nom de la région correspond à celui de la région dans l'ARN du profil et l'ARN de l'ancre de confiance si vous avez sélectionné la méthode d'authentification AWS IAM Roles Anywhere.
- AWS SQS Queue Name: Nom de la file d'attente AWS SQS avec laquelle le bucket S3 est configuré. Pour obtenir les détails, accédez à AWS > SQS > QueueName. Remarque : assurez-vous que la file d'attente fournie est préconfigurée sur votre instance AWS. 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.
Nous avons configuré ici le plug-in Syslog avec un serveur Splunk pour ingérer les données récupérées à partir du plug-in AWS Netskope LogStreaming.
Configurer une règle de gestion de l'expéditeur de logs pour AWS LogStreaming
- Dans Log Shipper, allez à Business Rules.
- Par défaut, une règle de gestion filtre toutes les alertes et tous les événements. Pour filtrer un type spécifique d’alerte ou d’événement, cliquez sur Create New Rule, puis saisissez le nom de la règle et le filtre.

- Lorsque vous avez terminé, cliquez sur Save. Votre règle métier apparaît sur la page Règles métier.

Configurer la livraison de journaux Log Shipper pour AWS LogStreaming
-
Dans Risk Exchange, allez à Log Delivery et cliquez sur Add Log Delivery Configuration.
-
Select le plugin source (Plugin AWS Netskope LogStreaming), le plugin de destination (Syslog CLS) et la règle métier, puis cliquer sur Save.

-
Une fois la livraison des journaux configurée, les données commenceront à être extraites de la file d'attente SQS selon l'intervalle d'extraction défini dans la configuration du plugin.
Validez le plugin AWS LogStreaming
Valider le retrait
Pour valider le retrait des indicateurs du locataire Netskope, accéder à Settings > Logging dans Cloud Exchange. Recherchez les journaux retirés avec le filtre « message contient retiré ».
Exemples de journaux pour les alertes extraites :


Exemples de journaux pour les événements extraits :


Exemples de journaux pour webtx extrait :

Valider le push
Pour valider le plugin workflow dans Cloud Exchange:
Allez dans Connexion et recherchez les événements/alertes ingérés avec le filtre “message contains ingested”, ou 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 valider le workflow du plugin dans Splunk, filtrez les données ingérées à l'aide de l'identifiant de source de log provenant de la configuration du plugin Syslog, ainsi que du port TCP et du type de source de l'entrée TCP sur votre serveur Splunk. Voici des exemples d'alertes, d'événements et de logs WebTx ingérés au format CEF :



Il s’agit d’exemples d’alertes, d’événements et de logs WebTx ingérés au format JSON :



Dépannage du plugin AWS LogStreaming
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 AWS Netskope LogStreaming et la plateforme SIEM tierce avec succès et que vous obtenez toujours une erreur après avoir configuré la livraison des journaux pour le plugin, cela peut être dû à l'une de ces raisons :
- Vous n'avez pas accès à la file d'attente configurée.
- Les autorisations accordées à l'utilisateur IAM sont insuffisantes.
- Toutes les alertes/événements/données webtx sont consommées et il n'y a plus rien à retirer de la file d'attente.

- La file d'attente fournie dans le plugin peut ne pas être activée dans le panier S3.
What to do:
- Vérifiez que la file d'attente est disponible sur le service AWS SQS.
- Vérifiez que l'utilisateur IAM a fourni les autorisations suffisantes. Pour connaître les autorisations minimales, vous pouvez consulter la rubrique Autorisations.
- Vérifiez que vous avez des données à consommer dans la file d'attente, pour cela vous devez aller à Amazon SQS > Queues.

- Pour vérifier la file d’attente activée dans le compartiment S3, suivre les étapes de Configurer la file d’attente avec les compartiments Amazon S3.
Problèmes lors de la configuration du plugin New
Si vous créez un plugin New avec AWS IAM Roles Anywhere et que vous obtenez une erreur de ce type :


What to do:
Après avoir développé le journal, vous verrez qu'au moins un des ARN de l'ancre de confiance, de l'ARN du rôle et de l'ARN du profil a un ID de compte différent. Vous devez donc vérifier que les paramètres fournis sont générés à partir du même compte et ont la même région.
Les données sont ignorées lors de l'extraction par le plugin AWS Netskope LogStreaming Plugin
Il se peut que vous soyez confronté à ce problème pour l'une des raisons suivantes :
- Fichier non valide ou fichier contenant des données non valides
- Pour les alertes/événements, les champs alert_type et record_type sont obligatoires et pour WebTx, le champ x-cs-timestamp est obligatoire. Si les données ne contiennent pas les champs suivants, elles seront ignorées.
What to doVérifiez que votre fichier est valide et contient des données valides. Vérifiez également que les données contiennent les champs obligatoires. Pour les alertes/événements, alert_type et record_type sont des champs obligatoires ; pour WebTx, x-cs-timestamp est le champ obligatoire.
Comportements connus
- Si RBACv3 est activé dans votre locataire Netskope, vous ne pourrez pas utiliser les services Netskope LogStreaming.
- Si vous redémarrez Netskope Cloud Exchange, ou si pour une raison quelconque votre Netskope Cloud Exchange redémarre automatiquement alors que le plugin AWS NLS est en cours d'exécution, la tâche de pull peut être bloquée en cours de traitement. Pour résoudre ce problème, vous pouvez reconfigurer la configuration de la livraison des journaux pour recommencer l'extraction.





































