Ce document explique comment configurer le plugin AWS S3 Events, Alerts v1.2.0 avec le module Log Shipper de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer les alertes (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) et les événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint et Client Status) depuis le site Netskope Tenant.
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.
- Autorisations pour les seaux Amazon S3 pour l'utilisateur IAM.
- ListBucket
- CreateBucket
- ListAllMyBuckets
- GetBucketPolicy
- GetBucketPublicAccessBlock
- PutEncryptionConfiguration
- PutBucketPublicAccessBlock
- PutBucketPolicy
- GetBucketLocation
- PutObject
- Connectivité avec les hôtes suivants : AWS S3 Bucket access.
Support du plugin AWS S3 Events, Alerts
Ce plugin est utilisé pour récupérer les alertes (DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantaine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, et Content) et les événements (Page, Application, Audit, Infrastructure, Network, Incident, Endpoint et Client Status) depuis le site Netskope Tenant.
| Type de données | Description |
|---|---|
| Soutien aux événements | Oui : Page, Application, Audit, Infrastructure, Réseau, Incident, Point final et Statut du client |
| Support d'alerte | Oui : DLP (Prévention des pertes de données), Malware, Policy, Compromised Credential, Malsite, Quarantaine, Remediation, Security Assessment, Watchlist, UBA, CTEP, périphérique, et Content |
| Soutien WebTx | Non |
Permissions
Autorisations pour l'utilisateur IAM d'envoyer des données d'événements et d'alertes aux buckets Amazon S3.
- ListBucket
- CreateBucket
- ListAllMyBuckets
- GetBucketPolicy
- GetBucketPublicAccessBlock
- PutEncryptionConfiguration
- PutBucketPublicAccessBlock
- PutBucketPolicy
- GetBucketLocation
- PutObject
Détails de l'API
Liste des API utilisées
Ce plugin utilise des bibliothèques Python pour créer des objets fichiers dans AWS S3.
Library: 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) 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.
Create a 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),
)
Create a Bucket
bucket = s3_client.create_bucket(
Bucket=bucket_name,
CreateBucketConfiguration=location,
)
Upload to File to the Bucket
s3_client.upload_file(
file_name,
bucket_name,
object_name,
)
Get an AWS Resource
s3_resource = boto3.resource(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self. user-agent),
)
Matrice de performance
Ces performances sont celles d'un CE à grande pile testé avec ces spécifications de VM. Ces données sont ajoutées en tenant compte du fait qu'il ingère des fichiers d'une taille d'environ 10K en 30 secondes.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Evénements, alertes ingérés dans le SIEM d'une tierce partie | ~ 200K EPM |
Agent utilisateur
User-Agent : APN/1.1 (ahq9d89xj9gspapczzdb59goq)
Workflow
- Générez les informations d'identification requises pour l'accès au seau AWS S3.
- Créez un S3 Bucket et une Policy.
- Générer la clé privée, le corps du certificat, la phrase de passe, l'ARN du profil, l'ARN du rôle, l'ARN de l'ancre de confiance si vous utilisez AWS IAM Role Anywhere.
- Configurez le plugin AWS S3 Events, Alerts.
- Configurez les règles commerciales de Log Shipper pour le plugin AWS S3 Events, Alerts.
- Configurez les correspondances SIEM Log Shipper pour le plugin AWS S3 Events, Alerts.
- Validez le plugin AWS S3 Events, Alerts.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Création d'un bac source AWS S3
Ce seau sera utilisé dans le paramètre de configuration AWS S3 Source Bucket lors de la configuration du plugin.
- Enter Bucket Name, scroll down, and click Create Bucket. Example: netskope-ce-source-bucket.
- Cliquez sur Edit dans la section Bloquer l'accès public (paramètres du compartiment) . Décochez toutes les cases et cliquez sur Save Changes. Une confirmation vous sera demandée ; confirmez-la et cliquez sur Confirm.

- Select S3 Bucket policy comme type de politique, ajoutez les détails de la déclaration et générez la politique :
Remplacez <user-arn> par l'ARN de l'utilisateur utilisé pour accéder au seau source et <bucket-name> par le seau source créé ci-dessus. Échantillon<user-arn>: arn:aws:iam::7111xxxxxxxx:user/xxxxxxxx, and <bucket-name>: netskope-ce-source-bucket- Select Type de politique : Politique relative aux seaux S3
- Effet : Autoriser
- Principal: <user-arn>
- Actions :
- GetBucketAcl
- GetBucketPolicy
- ARN: arn:aws:s3:::<bucket-name>
- Cliquez sur Add Statement.

- Remontez vers le haut et ajoutez une autre déclaration.
- Select Type de politique : Politique relative aux seaux S3
- Effet : Autoriser
- Principal: <user-arn>
- Actions :
- PutObject
- PutObjectAcl
- ARN: arn:aws:s3:::<bucket-name>/*
- Cliquez sur Add Statement.


- Cliquez sur Generate Policy. Veillez à copier la politique générée à cette étape, car elle sera utilisée à l'étape suivante pour attacher le seau source.

- Ajoutez cette politique dans la boîte de texte. Faites défiler jusqu’en bas et cliquez Save Changes.

Création d'une politique de gestion des seaux
- Recherchez IAM dans la zone de recherche, et dans le panneau de gauche, cliquez sur Policies.
- Cliquez sur Create Policy.

- On the JSON tab, enter this policy. Click Next: Tags, and click Next: Review.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetBucketPublicAccessBlock",
"s3:PutEncryptionConfiguration",
"s3:PutBucketPublicAccessBlock",
"s3:ListAllMyBuckets",
"s3:PutBucketPolicy",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetBucketPolicy",
"s3:GetBucketLocation"
"s3:PutObject"
],
"Resource": "*"
}
]
}
- 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, puis cliquez à nouveau sur Add permissions.

- Select Attach policies directly sous 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.
Note
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 AWS S3 Source Bucket.
Créer une politique IAM
Cette politique contient les autorisations requises pour la création d'un certificat d'autorité de certification privé (y compris les autorisations pour la création d'une ancre de confiance et d'un profil) et l'utilisation des rôles IAM Anywhere.
- Accédez au générateur de politiques et cliquez sur Add Statement pour générer une politique.
- 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.

- 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.

- 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.

- 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.

- 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.
- Accédez à la console AWS et sélectionnez IAM dans Tous les services. Cliquez sur Policies dans le panneau de gauche, puis sur Create Policy.

Créer une autorité de certification privée
- Add tags if any (optional).
- Enable the checkbox in the CA permissions options section.
- Enable the checkbox in the Pricing section.
- Cliquez sur Create pour créer le certificat CA.


Créer un ancrage de confiance
- Recherchez le service IAM et accédez à Roles sous Gestion des accès. Faites défiler vers le bas jusqu'à Rôles Anywhere 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).
- Ajoutez des étiquettes si nécessaire.
- Cliquez sur Create a trust anchor.


Créer un rôle IAM
- Accédez aux services IAM dans la console AWS.
- Click Role under Access management.
- Cliquez sur Create Role.

- Remplacez la politique de confiance personnalisée par la politique de confiance ci-dessous - cette politique contient les autorisations d'utilisation du service Roles Anywhere :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"rolesanywhere.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole",
"sts:TagSession",
"sts:SetSourceIdentity"
]
}
]
}
- Cliquez sur Next.
- Dans les politiques de permissions, sélectionnez la politique de seau créée précédemment.

- Cliquez sur Next.
- Donnez un nom de rôle, comme Netskope-ce-roleAnywhere, et ajoutez une description pour le rôle.
- Cliquez sur Create role.

- Notez l'adresse Role ARN car elle sera requise dans le paramètre de configuration du plugin : Rôle ARN pour la méthode d'authentification AWS IAM Roles Anywhere.

Créer un profil
- Select Roles under Access management.
- 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.

- Enter a Profile name, like netskope-ce-profile.
- Select le rôle créé dans la section Create IAM Role (Netskope-ce-roleAnywhere).

Demander un certificat privé
- Indiquez un nom de domaine dans le champ Fully Qualified Domain Name, comme Netskope-ce.com.
- Select RSA 2048 pour l'algorithme de la 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 le passphrase. 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 Certificates car ils ne seront plus visibles. Pour New certificats, il faudra l’exporter à nouveau. Pour plus d’informations, rendez-vous sur AWS IAM Role Anywhere

Déployé sur AWS Configuration
Créer un rôle
- Saisissez un nom de rôle, comme Netskope-ce-instance-role, et ajoutez une description.
- Cliquez sur Create Role.


Attribuer un rôle à une instance EC2
- Select le rôle que vous avez créé auparavant (comme Netskope-ce-instance-role).
- Cliquez sur Update IAM Role.

Attribuer un rôle à une instance de Fargate
- Allez sur IAM > Roles.
- Search for the ExistingECSTaskRole parameter value. Otherwise, search for NetskopeCloudExchangeTaskRole-<CFN name> and select the role.

- Attachez à ce rôle la politique de création de seaux créée précédemment.
- Cliquez sur Add permission > Attach policies.

- Recherchez et sélectionnez la politique de seau précédemment créée (Netskope-ce-s3-policy).
- Cliquez sur Add permissions.

Attribuer le rôle à une instance de K8s
- Ouvrez votre rôle créé pour ServiceAccount lors de la création de l'instance K8s.
- Rattachez la politique de gestion des seaux créée précédemment.
Configurer le plugin AWS S3 Events, Alerts
- Dans Cloud Exchange, accédez à Settings > Plugin Store.
- Recherchez et sélectionnez le plugin AWS S3 Events, and Alerts v1.2.0 (CLS).

- Cliquez sur Next et entrez les paramètres de configuration :
- Authentication Method: Select la méthode à utiliser pour l'authentification (déployé sur AWS/AWS IAM Roles Anywhere)
- Private Key: Clé privée pour déchiffrer le certificat d'autorité de certification privée AWS. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- Certificate Body: Organe de certification pour le certificat d'autorité de certification public/privé AWS. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- Password Phrase: Phrase de passe pour déchiffrer le certificat de l'autorité de certification. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- Profile ARN: AWS Profile ARN pour l’authentification client AWS. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- Role ARN: AWS Role ARN pour l’authentification client AWS. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- Trust Anchor ARN: AWS Trust Anchor ARN pour l’authentification client AWS. Obligatoire pour le type d’authentification AWS IAM Roles Anywhere.
- AWS S3 Bucket Region Name: AWS S3 Bucket Region Nom de la région à partir de laquelle vous pouvez obtenir le AWS S3 Bucket. Assurez-vous que le nom de la région correspond à celui de l'ARN du profil et de l'ARN de l'ancre de confiance.
- AWS S3 Bucket Name: AWS S3 Bucket Nom dans lequel l'objet de données sera stocké.



- Cliquez sur Save. La configuration de votre plugin sera disponible sur la page Cloud Log Shipper > Plugins.

Configurer une règle de gestion de l'expéditeur de journaux pour les événements et alertes AWS S3
- 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 un type spécifique d'alerte ou d'événement, 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 un mappage SIEM pour les événements et alertes AWS S3
- Allez à SIEM Mappings et cliquez sur Add SIEM Mapping.
- Select le plugin Source (Netskope CLS), le plugin Destination (AWS S3 Events, Alerts), votre règle métier et 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 AWS.

Validez le plugin AWS S3 Events, Alerts
Valider le retrait
Pour valider l'extraction des indicateurs du locataire Netskope.
Allez sur Logging dans Cloud Exchange et recherchez les journaux tirés.


Valider le push
Pour valider le plugin workflow, sur Netskope Cloud Exchange.
- Allez sur Logging et recherchez les événements ingérés avec le filtre "message contains ingested".
- Les journaux ingérés seront filtrés.


Pour valider le push de la plateforme AWS S3 :
- Va chez AWS S3. Dans la barre de recherche, recherchez et sélectionnez Buckets.
- Recherchez le seau que vous avez utilisé lors de la création du plugin.
- Cliquez sur le nom du seau.
Note
La structure du dossier sera la suivante : alerts/feedname/year/month/day/hour/filename.gz
Example: awsdemobucket/alerts/feedname=Malware/year=2023/month=11/day=30/hour=9/1701336881_139977276685128.txt



Après avoir téléchargé le fichier, l'alerte/événement se présentera comme suit :


Dépannage du plugin d'alertes et d'événements AWS S3
Problèmes dans la configuration existante du plugin après la mise à jour du plugin
Si vous avez récemment mis à jour votre plugin AWS S3, il se peut que la modification de la configuration existante du plugin conduise à une interface Cloud Exchange vierge. Ce problème peut survenir dans les versions 4.2.0 et 5.0.0 de Cloud Exchange si les utilisateurs essaient de modifier la configuration du plugin après la mise à jour et naviguent vers la page Paramètres de configuration.
Voici ce que vous pouvez faire sur votre version de Cloud Exchange :
Pour les versions 4.2.0, 5.0.0 : La seule solution disponible est de supprimer la configuration actuelle du plugin et d’en créer un New depuis zéro.
Problèmes lors de la configuration du plugin New
Si vous créez un plugin New avec AWS IAM Roles Anywhere et que vous rencontrez une erreur de 400, la cause principale de l'impossibilité de sauvegarder le plugin peut être trouvée dans la section de journalisation lorsque vous développez les journaux.


What to do:
En développant le journal, vous pouvez voir 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 de la même région.









































