Ce document explique comment configurer le plugin AWS Security Hub OCSF v1.0.0 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer des charges de travail à partir de AWS Security Hub > Findings pour les ressources d'instance EC2 de Commercial Cloud. Ce plugin ne permet pas d'effectuer des actions sur le Security Hub.
Conditions préalables
Pour réaliser cette intégration, 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 Risk Exchange déjà configurés.
- Connectivité au hub de sécurité Amazon AWS.
Support du plugin AWS Security Hub
Le plugin récupère les enregistrements de charge de travail de type aws-ec2-instances à partir des résultats disponibles dans AWS Security Hub.
| Type de données extraites | Actions soutenues |
|---|---|
| Workloads | Non pris en charge |
Mises en correspondance
Les mappings sont utilisés pour visualiser les charges de travail tirées ainsi que leurs détails respectifs. Les champs mappés lors de la configuration du plugin sont visibles sur la page Enregistrements lorsque les données sont extraites. Voici la cartographie suggérée à utiliser lors de la configuration du plugin.
Mappage des charges de travail
| Risk Exchange Field | Type de données attendu | Nom de champ suggéré | CRE Aggregate Strategy |
|---|---|---|---|
| Recherche d'un identifiant | String | Recherche d'un identifiant | Unique |
| IP privé | String | IP privé | Unique |
| Region | String | Region | Overwrite |
| Nom de la ressource | String | Nom de la ressource | Overwrite |
| UID de la ressource | String | UID de la ressource | Overwrite |
| Resource Tags | List | Resource Tags | Overwrite |
| ID de sous-réseau | String | ID de sous-réseau | Overwrite |
| IP publique | String | IP publique | Overwrite |
| VPC ID | String | VPC ID | Overwrite |
| Sévérité | String | Sévérité | Overwrite |
| Nom du produit | String | Nom du produit | Overwrite |
| Titre de la constatation | String | Titre de la constatation | Overwrite |
| Description de la constatation | String | Description de la constatation | Overwrite |
| Première vue | Datetime | Première vue | Overwrite |
| Dernière visite | Datetime | Dernière visite | Overwrite |
| Trouver une classe | String | Trouver une classe | Overwrite |
Permissions
Les permissions du Hub de sécurité AWS à l'utilisateur IAM pour obtenir des informations sur les charges de travail sont GetFindings.
Détails de l'API
Liste des API utilisées
Ce plugin utilise des bibliothèques Python pour obtenir les résultats des ressources de type EC2 Instance à partir d'AWS SecurityHub.
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 Security Hub. Le SDK fournit une API orientée objet ainsi qu'un accès de bas niveau aux services AWS.
Creating Security Hub Client
securityhub_client = boto3.client(
"securityhub",
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.configuration["region_name"].strip(),
config=Config(
proxies=self.proxy,
user_agent=self.useragent,
retries={
"total_max_attempts": 3,
"mode": standard
}
),
)
Getting Security Hub CSPM Findings
Parameters
{
"Filters": {
"CompositeFilters": [
{
"StringFilters": [
{
"FieldName": "resources.type",
"Filter": {
"Value": "AWS::EC2::Instance",
"Comparison": "EQUALS",
},
}
],
"DateFilters": [
{
"FieldName": "finding_info.modified_time_dt",
"Filter": {
"Start": start_time,
"End": end_time,
}
}
]
},
]
},
"SortCriteria": [
{
"Field": "finding_info.modified_time_dt",
"SortOrder": "desc",
}
],
"MaxResults": 100,
}
response = securityhub_client.get_findings_v2(**params)
Matrice de performance
Voici la matrice de performance réalisée sur un Large CE Stack avec ces spécifications en tirant 500k périphérique.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| périphérique fetched from AWS Security Hub | ~20 minutes |
Agent utilisateur
APN/1.1 (ahq9d89xj9gspapczzdb59goq)
Workflow
- Générez des informations d'identification pour les méthodes d'authentification de AWS Security Hub.
- Configuration du plugin AWS Security Hub OCSF.
- Ajouter une règle de gestion.
- Ajouter une action.
- Validez le plugin AWS Security Hub.
Regardez une vidéo
Cliquez sur "play" pour regarder une vidéo :
Créer une politique pour le hub de sécurité AWS
- Click on the JSON tab, and enter this policy. Click Next: Tags, and then click Next: Review.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"securityhub:GetFindings"
],
"Resource": "*"
}
]
}
- Saisissez un nom et cliquez sur Create Policy.

- Attachez cette politique à l’utilisateur. Va sur IAM > Users. Select l'utilisateur auquel vous souhaitez associer une stratégie, puis cliquez sur Add permissions, puis cliquez sur Add permissions options.
- Select l'option Attach policies directly sous Permissions, puis recherchez et sélectionnez la politique que vous avez créée à l'étape précédente pour la file d'attente source.

- Cliquez sur Next, puis sur Add permissions. La politique sera rattachée à l'utilisateur.
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.
Veillez à 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 une ancre de confiance et un profil) et pour utiliser les rôles IAM Anywhere.
- Allez sur Policy Generator et sélectionnez IAM Policy comme type de politique, entrez les détails de Add Statement, et générez 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.

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

- Copiez la politique dans l'onglet JSON, cliquez sur Next:Tags puis sur Next:Review
.
- Saisissez un nom (par exemple Netskope-ce-rolesAnywhere-policy) et cliquez sur Save Changes.

Créer une autorité de certification privée
- Connectez-vous à la console AWS.
- Cherche Certificate Manager.

- Cliquez AWS Private CA.
- Cliquez sur Create a private CA.

- Pour Mode Options, sélectionnez General-purpose.
- Pour CA type options, sélectionnez Root.

- Entrez Organization (O).

- Pour Key algorithm options, sélectionnez RSA 2048.


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


- À partir de Actions, sélectionnez Install CA Certificate.

- Cliquez Confirm and Install.


Créer un ancrage de confiance
- Recherchez le service IAM , accédez à Rôles sous Gestion des accès, faites défiler jusqu'à Rôles Anywhere et sélectionnez Manage.

- Cliquez Create a Trust anchor.
- Voici un Trust anchor name.
- Select AWS Certificate Manager Private CA (créé dans les étapes précédentes) en tant que . Certificate authority (CA) source Select le certificat créé à l'étape précédente dans l'autorité de certification privée AWS.
- Ajoutez des étiquettes si nécessaire.
- Cliquez Create a trust anchor.

- Cliquez sur l'ancre de confiance créée et copiez le Trust Anchor ARN. Ce paramètre sera requis dans la configuration du plugin « Trust Anchor ARN » pour la méthode d'authentification AWS IAM Roles Anywhere.

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

- Dans le type d'entité de confiance, sélectionnez Custom Trust Policy.

- Remplacez la politique de fiducie personnalisée par cette politique de fiducie. 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 Next.
- Dans les politiques d'autorisation, sélectionnez la politique créée dans Créer une politique AWS Security Hub.

- Cliquez Next.
- Indiquez un nom de rôle (comme Netskope-ce-aws-verified-access-role) et une description pour le poste.

- Cliquez sur Create role. Recherchez le rôle créé et cliquez sur son nom.

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

Créer un profil
- Select Roles sous Access management.
- Faites défiler vers le bas jusqu’à Roles Anywhere et cliquez sur Manage.

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

- Saisissez un nom de profil.
- Select the role created in the Create IAM Role section.
- Supprimez le Inline Policy.

- Cliquez Create a profile.


- Select le profil créé et copiez l'ARN du profil.
Demander un certificat privé
- Va sur AWS Certificate Manager > Request certificate.
- Select Request a private certificate.

- Cliquez Next.
- Select l'autorité de certification créée à l'étape précédente.

- Indiquez un nom de domaine dans le champ Fully qualified domain name, comme Netskope-ce-verified-access.com.
- Select RSA 2048 comme algorithme de 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.

- Cliquez sur Export.

- Saisissez une phrase d'authentification. Notez la phrase d'authentification car elle sera nécessaire pour la configuration du plugin AWS Security Lake utilisant la méthode d'authentification AWS IAM Roles Anywhere.
- Cliquez 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.
Manuel de configuration du déploiement sur AWS
Créer un rôle
- Allez sur IAM services dans la console AWS.
- Cliquez sur Create role.

- Select la AWS Service.
- Sous Cas d'utilisation, sélectionnez EC2.
- Cliquez sur Next.

- Select la stratégie d'autorisation créée dans Créer une stratégie AWS Security Hub.

- Cliquez sur Next.

- Saisissez un nom de rôle et une description.
- Cliquez Create Role.
Attribuer un rôle à une instance EC2
- Connectez-vous à la console de votre instance EC2.
- Cliquez sur Instances sous Instances.


- Va sur Action > Security > Modify IAM Role.

- Select le rôle que vous avez créé ci-dessus dans Créer un rôle. (Netskope-ce-instance-role).
- Cliquez sur Add IAM Role ou Modify IAM Role.

Note :
L'instance EC2 et la file d'attente doivent se trouver dans la même région.
Configurer le plugin AWS Security Hub
- Dans Cloud Exchange, allez sur Settings > Plugins. Cherchez et sélectionnez la boîte de plugin AWS Security Hub OCSF v1.0.0 (CRE) .

- Saisissez un nom de configuration et modifiez l'intervalle de synchronisation.

- Voici 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é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 du client 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. 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.
- Initial Range: Nombre de jours pour extraire les données pour l'exécution initiale.
- Cliquez Next. Select l’Entité depuis le menu déroulant de l’Entité. Les champs d'entité peuvent être créés à partir de la page Éditeur de schéma ou en utilisant l'option + Ajouter un champ dans la liste déroulante des champs. Fournissez les correspondances de terrain. Pour les correspondances suggérées, reportez-vous à la section « Correspondance ».

- Cliquez Save.
Note :
Les champs Finding ID, Resource ID et adresse IPv4 sont nécessaires pour extraire les utilisateurs et l'identifiant de l'instance est nécessaire pour extraire les applications.
Ajouter une règle métier d'échange de risques pour le plugin AWS Security Hub
- Allez sur Risk Exchange > Business Rules.
- Cliquez sur Create New Rule dans le coin supérieur droit.
- Saisissez un nom de règle. Select l'entité pour laquelle des champs ont été configurés pour le plugin AWS Security Hub OCSF, et configurez la requête en fonction de vos besoins. L'exemple ci-dessous filtre les données extraites du plugin.

- Cliquez sur Save.
Ajouter des actions d'échange de risques pour le plugin AWS Security Hub
Le AWS Security Hub OCSF prend en charge le type d'action suivant :
No Action
Aucune action ne sera effectuée pour cette action. Vous pouvez générer des alertes UBA dans Ticket Orchestrator en utilisant cette action et en activant l'option Générer une alerte.

Note :
Pour les charges de travail tirées dans Cloud Exchange depuis le plugin AWS Security Hub, vous pouvez utiliser les actions Add host to Private App sur Netskope. Pour effectuer les actions liées à la charge de travail sur Netskope, reportez-vous au guide du plugin Risk Exchange.
Steps to configure the Action
- Aller à l’utilisateur Risk Exchange > Actions > Click on Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leur liste déroulante respective.
- Activez la case à cocher Require Approval si une approbation est nécessaire avant d'effectuer une action.
- Cliquez sur Save.
Valider le plugin AWS Security Hub
Valider dans Cloud Exchange
Pour valider l'extraction des périphériques dans Cloud Exchange à partir des résultats OCSF d'AWS Security Hub, accédez à Logging et recherchez un message tel que « CRE AWS Security Hub OCSF [CRE AWS Security Hub] OCSF » .

Pour valider les enregistrements stockés dans Cloud Exchange, allez sur Risk Exchange > Records. Select l’entité que vous avez utilisée lors de l’ajout de la correspondance dans la configuration du plugin, et vérifiez les enregistrements.


Valider dans AWS Security Hub
Dans AWS, le plugin extrait les détails AwsEc2Instance de AWS Security Hub > Findings.

Dépannage du plugin AWS Security Hub
Impossible d'extraire les charges de travail ou les valeurs des champs du plugin
Si vous ne parvenez pas à extraire des charges de travail des conclusions du Hub de sécurité AWS, cela peut être dû au fait qu'il n'y a pas de données disponibles à extraire, mais aussi à d'autres raisons :
- Aucune donnée disponible pour le tirage.
- Aucun champ n'est cartographié.
What to do:
- Allez sur AWS Security Hub > Findings. Vérifiez si les résultats sont disponibles pour la même période que celle indiquée dans la configuration du plugin.
- Si les résultats sont disponibles et qu'ils n'ont toujours pas été tirés, vérifiez la valeur de la ressource pour ces résultats. Seuls les résultats avec le type de ressource EC2 Instance ou AwsEc2Instance sont extraits.
- Si les résultats sont disponibles, assurez-vous que les champs sont mappés dans le plugin.
Notez que si le plugin est mis à jour pour récupérer des champs supplémentaires, les enregistrements existants sur la page Enregistrements ne contiendront pas les valeurs de ces champs New. Les champs New ne seront remplis que si le champ modified_time_dt de la recherche existante est mis à jour ; dans le cas contraire, seuls les résultats nouvellement générés comprendront tous les champs.
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 l'erreur suivante lors de la configuration du plugin :

What to do:
Cette erreur peut signifier que l'un des ARN de l'ancre de confiance, de l'ARN du rôle ou de l'ARN du profil possède 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 appartiennent à la même région.



