Connecter Microsoft Sentinel à Amazon Web Services pour ingérer les données des journaux des services AWS
Utilisez les connecteurs Amazon Web Services (AWS) pour extraire des journaux des services AWS dans Microsoft Sentinel. Ces connecteurs fonctionnent en accordant à Microsoft Sentinel l’accès à vos journaux de ressources AWS. La configuration du connecteur établit une relation d’approbation entre Amazon Web Services et Microsoft Sentinel. Pour ce faire, un rôle est créé sur AWS, qui autorise Microsoft Sentinel à accéder à vos journaux AWS.
Ce connecteur est disponible en deux versions : l'ancien connecteur pour la gestion CloudTrail et les journaux de données, et la nouvelle version qui peut ingérer les journaux des services AWS suivants en les extrayant d'un compartiment S3 (les liens renvoient vers la documentation AWS) :
- Cloud privé virtuel (VPC) Amazon - Journaux de flux VPC
- Amazon GuardDuty - Résultats
- AWS CloudTrail - Événements de gestion et de données
- AWS CloudWatch - Journaux CloudWatch
Cet onglet explique comment configurer le connecteur AWS S3. Le processus de configuration de celui-ci comporte deux parties : le côté AWS et le côté Microsoft Sentinel. Le processus de chaque côté produit des informations utilisées par l’autre côté. Cette authentification bidirectionnelle crée une communication sécurisée.
Prérequis
Assurez-vous que les journaux de votre service AWS sélectionné utilisent le format accepté par Microsoft Sentinel :
- Amazon VPC : .csv fichier au format GZIP avec des en-têtes ; délimiteur : espace.
- Amazon GuardDuty : formats json-line et GZIP.
- AWS CloudTrail : fichier .json au format GZIP.
- CloudWatch : .csv fichier au format GZIP sans en-tête. Si vous devez convertir vos journaux dans ce format, vous pouvez utiliser cette fonction lambda CloudWatch.
Vous devez disposer de l’autorisation d’accès en écriture sur l’espace de travail Microsoft Sentinel.
Installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel. Pour plus d’informations, consultez Découvrir et gérer le contenu Microsoft Sentinel prêt à l’emploi.
Présentation de l'architecture
Ce graphique et le texte qui suit montrent comment les parties de cette solution de connecteur interagissent.
Les services AWS sont configurés pour envoyer leurs journaux à des compartiments de stockage S3 (Simple Stockage Service).
Le compartiment S3 envoie des messages de notification à la file d’attente de messages SQS (Simple Queue Service) chaque fois qu’il reçoit de nouveaux journaux.
Le connecteur Microsoft Sentinel AWS S3 interroge la file d’attente SQS à intervalles réguliers et fréquents. S’il y a un message dans la file d’attente, il contient le chemin d’accès aux fichiers journaux.
Le connecteur lit le message contenant le chemin d’accès, puis extrait les fichiers du compartiment S3.
Pour se connecter à la file d'attente SQS et au compartiment S3, Microsoft Sentinel utilise un fournisseur d'identité Web fédéré (Microsoft Entra ID) pour s'authentifier auprès d'AWS via OpenID Connect (OIDC) et assumer un rôle AWS IAM. Le rôle est configuré avec une stratégie d'autorisations lui donnant accès à ces ressources.
Connecter le connecteur S3
Dans votre environnement AWS :
Configurez vos services AWS pour envoyer des journaux à un compartiment S3.
Créez une file d’attente SQS (Simple Queue Service) pour fournir une notification.
Créez un fournisseur d'identité Web pour authentifier les utilisateurs auprès d'AWS via OpenID Connect (OIDC).
Créez un rôle assumé pour accorder des autorisations aux utilisateurs authentifiés par le fournisseur d'identité Web OIDC pour accéder à vos ressources AWS.
Attachez les stratégies d'autorisations IAM appropriées pour accorder au rôle assumé l'accès aux ressources appropriées (compartiment S3, SQS).
Nous avons mis à disposition, dans notre dépôt GitHub, un script qui automatise le côté AWS de ce processus. Consultez les instructions relatives à l’installation automatique plus loin dans ce document.
Dans Microsoft Sentinel :
- Activez et configurez le connecteur AWS S3 dans le portail Microsoft Sentinel. Voir les instructions ci-dessous.
Installation automatique
Pour simplifier le processus d’intégration, Microsoft Sentinel a fourni un script PowerShell pour automatiser l’installation du côté AWS du connecteur (les ressources AWS, les informations d’identification et les autorisations requises).
Le script effectue les actions suivantes :
Crée un fournisseur d'identité Web OIDC pour authentifier les utilisateurs Microsoft Entra ID auprès d'AWS.
Crée un rôle assumé IAM avec les autorisations minimales nécessaires, pour accorder aux utilisateurs authentifiés par OIDC l'accès à vos journaux dans un compartiment S3 et une file d'attente SQS donnés.
Permet aux services AWS spécifiés d’envoyer des journaux à ce compartiment S3 et des messages de notification à cette file d’attente SQS.
Si nécessaire, crée ce compartiment S3 et cette file d’attente SQS.
Configure toutes les stratégies d’autorisations IAM nécessaires, et les applique au rôle IAM créé ci-dessus.
Pour les cloud Azure Government, un script spécialisé crée un autre fournisseur d'identité Web OIDC, auquel il attribue le rôle assumé IAM.
Conditions préalables à la configuration automatique
- Vous devez disposer de PowerShell et de l’interface CLI AWS sur votre machine.
- Instructions d’installation pour PowerShell
- Instructions d'installation pour l'AWS CLI (à partir de la documentation AWS)
Instructions
Pour exécuter le script pour configurer le connecteur, procédez comme suit :
Dans le menu de navigation de Microsoft Sentinel, sélectionnez Connecteurs de données.
Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.
Si vous ne voulez pas voir le connecter, installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel.
Dans ce volet d’informations pour le connecteur, sélectionnez Ouvrir la page du connecteur.
Dans la section Configuration, sous 1. Installer votre environnement AWS, développez Installer avec un script PowerShell (recommandé).
Suivez les instructions à l’écran pour télécharger et extraire le Script d’installation d’AWS S3 (le lien télécharge un fichier zip contenant le script d’installation principal et des scripts d’assistance) à partir de la page du connecteur.
Remarque
Pour ingérer des journaux AWS dans un cloud Azure Government, téléchargez et extrayez plutôt ce script de configuration AWS S3 Gov spécialisé.
Avant d’exécuter le script, exécutez la commande
aws configure
à partir de votre ligne de commande PowerShell, puis entrez les informations pertinentes quand vous y êtes invité. Voir Interface de ligne de commande AWS | Bases de configuration (à partir de la documentation AWS) pour plus de détails.Maintenant, exécutez le script. Copiez la commande à partir de la page du connecteur (sous « Exécuter le script pour installer l’environnement ») et collez-la dans votre ligne de commande.
Le script vous invite à entrer l’ID d votre espace de travail. Cet ID s’affiche sur la page du connecteur. Copiez-le et collez-le à l’invite du script.
Une fois l’exécution du script terminée, copiez le ARN du rôle et l’URL SQS à partir de la sortie du script (consultez l’exemple de la première capture d’écran ci-dessous), puis collez-les dans les champs correspondants de la page du connecteur, sous 2. Ajouter une connexion (voir la deuxième capture d’écran ci-dessous).
Sélectionnez un type de données dans la liste déroulante Table de destination. Cela indique au connecteur les journaux du service AWS pour la collecte desquels cette connexion est établie, et la table Log Analytics dans laquelle stocker les données ingérées. Sélectionnez Ajouter une connexion.
Notes
L’exécution du script peut prendre jusqu’à 30 minutes.
Configuration manuelle
Microsoft recommande d’utiliser le script d’installation automatique pour déployer ce connecteur. Si, pour une raison quelconque, vous ne souhaitez pas tirer parti de cette commodité, suivez les étapes ci-dessous pour configurer le connecteur manuellement.
- Préparez vos ressources AWS
- Créer un rôle donné AWS et accorder l’accès au compte Sentinel AWS
- Ajoutez le rôle AWS et les informations de file d'attente au connecteur de données S3
- Configurer un service AWS pour exporter les journaux vers un compartiment S3
Préparez vos ressources AWS
Créez un compartiment S3 vers lequel vous expédierez les journaux de vos services AWS – VPC, GuardDuty, CloudTrail ou CloudWatch.
- Consultez les instructions pour créer un compartiment de stockage S3 dans la documentation AWS.
Créez une file d'attente de messages Simple Queue Service (SQS) standard dans laquelle le compartiment S3 publiera des notifications.
- Consultez les instructions pour créer une file d'attente Simple Queue Service (SQS) standard dans la documentation AWS.
Configurez votre compartiment S3 pour envoyer des messages de notification à votre file d'attente SQS.
- Consultez les instructions pour publier des notifications dans votre file d'attente SQS dans la documentation AWS.
Installer le connecteur de données AWS et préparer l'environnement
Dans Microsoft Sentinel, sélectionnez Connecteurs de données dans le menu de navigation.
Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.
Si vous ne voulez pas voir le connecter, installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel. Pour plus d’informations, consultez Découvrir et gérer le contenu Microsoft Sentinel prêt à l’emploi.
Dans ce volet d’informations pour le connecteur, sélectionnez Ouvrir la page du connecteur.
Sous Configuration, développez Configuration avec le script PowerShell (recommandé), puis copiez l'ID externe (ID de l'espace de travail) dans votre presse-papiers.
Créer un fournisseur d'identité Web Open ID Connect (OIDC) et un rôle assumé par AWS
Dans une autre fenêtre ou un autre onglet du navigateur, ouvrez la console AWS.
Créez un fournisseur d'identité Web. Suivez ces instructions dans la documentation AWS :
Création de fournisseurs d'identité OpenID Connect (OIDC).Paramètre Sélection / Valeur Commentaires ID client - Ignorez cela, vous l'avez déjà. Voir Ligne d'Audience ci-dessous. Type de fournisseur OpenID Connect Au lieu du SAML par défaut. URL du fournisseur Commercial : sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Gouvernement :sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
Empreinte 626d44e704d1ceabe3bf0d53397464ac8080142c
S'il est créé dans la console IAM, la sélection Obtenir une empreinte devrait vous donner ce résultat. Audience Commercial : api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Gouvernement :api://d4230588-5f84-4281-a9c7-2c15194b28f7
Créez un rôle assumé IAM. Suivez ces instructions dans la documentation AWS :
Création d'un rôle pour l'identité Web ou la fédération OpenID Connect.Paramètre Sélection / Valeur Commentaires Type d’entité approuvé Identité Web Au lieu du service AWS par défaut. Fournisseur d’identité Commercial : sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/
Gouvernement :sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
Le fournisseur que vous avez créé à l'étape précédente. Audience Commercial : api://1462b192-27f7-4cb9-8523-0f4ecb54b47e
Gouvernement :api://d4230588-5f84-4281-a9c7-2c15194b28f7
Audience que vous avez définie pour le fournisseur d'identité à l'étape précédente. Autorisations à attribuer AmazonSQSReadOnlyAccess
AWSLambdaSQSQueueExecutionRole
AmazonS3ReadOnlyAccess
ROSAKMSProviderPolicy
- Politiques supplémentaires pour l'ingestion des différents types de journaux de service AWS
Pour plus d'informations sur ces stratégies, consultez la page pertinente sur les stratégies d'autorisations du connecteur AWS S3, dans le référentiel Microsoft Sentinel GitHub. Nom « OIDC_MicrosoftSentinelRole » Choisissez un nom significatif qui inclut une référence à Microsoft Sentinel.
Le nom doit inclure le préfixe exactOIDC_
, sinon le connecteur ne fonctionnera pas correctement.Modifiez la stratégie de confiance du nouveau rôle et ajoutez une autre condition :
"sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"
Important
La valeur du paramètre
sts:RoleSessionName
doit avoir le préfixe exactMicrosoftSentinel_
; sinon, le connecteur ne fonctionnera pas correctement.La stratégie de confiance terminée devrait ressembler à ceci :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::XXXXXXXXXXXX:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7", "sts:RoleSessionName": "MicrosoftSentinel_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } } } ] }
XXXXXXXXXXXX
est votre ID de compte AWS.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
est votre identifiant d’espace de travail Microsoft Sentinel.
Mettez à jour (enregistrez) la stratégie lorsque vous avez terminé la modification.
Ajoutez le rôle AWS et les informations de file d'attente au connecteur de données S3
Dans l'onglet du navigateur ouvert sur la console AWS, entrez le service Identity and Access Management (IAM) et accédez à la liste des Rôles. Sélectionnez le rôle que vous avez créé ci-dessus.
Copiez l'ARN dans votre presse-papiers.
Entrez dans le Service Simple Queue, sélectionnez la file d'attente SQS que vous avez créée et copiez l'URL de la file d'attente dans votre presse-papiers.
Revenez à l'onglet de votre navigateur Microsoft Sentinel, qui doit être ouvert sur la page du connecteur de données Amazon Web Services S3 (Aperçu). Sous 2. Ajouter une connexion :
- Collez l'ARN du rôle IAM que vous avez copié il y a deux étapes dans le champ Rôle à ajouter.
- Collez l’URL de la file d’attente SQS que vous avez copiée à la dernière étape dans le champ URL SQS.
- Sélectionnez un type de données dans la liste déroulante Table de destination. Cela indique au connecteur les journaux du service AWS pour la collecte desquels cette connexion est établie, et la table Log Analytics dans laquelle stocker les données ingérées.
- Sélectionnez Ajouter une connexion.
Configurer un service AWS pour exporter les journaux vers un compartiment S3
Consultez la documentation Amazon Web Services (lien ci-dessous) pour obtenir les instructions d'envoi de chaque type de journal à votre compartiment S3 :
Publiez un journal de flux VPC dans un compartiment S3.
Notes
Si vous choisissez de personnaliser le format du journal, vous devez inclure l’attribut start, car celui-ci mappe au champ TimeGenerated dans l’espace de travail log Analytics. Dans le cas contraire, le champ TimeGenerated contiendra l’heure d’ingestion de l’événement, ce qui ne décrit pas précisément l’événement de journal.
Exportez vos résultats GuardDuty dans un compartiment S3.
Remarque
Dans AWS, les résultats sont exportés par défaut toutes les 6 heures. Ajustez la fréquence d'exportation des résultats actifs mis à jour en fonction des exigences de votre environnement. Pour accélérer le processus, vous pouvez modifier le paramètre par défaut pour exporter les résultats toutes les 15 minutes. Voir Définition de la fréquence d'exportation des résultats actifs mis à jour.
Le champ TimeGenerated est renseigné avec la Date de mise à jour du résultat.
Par défaut, les traçages d’AWS CloudTrail sont stockés dans des compartiments S3.
Exportez vos données de journal CloudWatch vers un compartiment S3.
Problèmes connus et résolution des problèmes
Problèmes connus
Différents types de journaux peuvent être stockés dans le même compartiment S3, mais ne doivent pas l’être dans le même chemin d’accès.
Chaque file d’attente SQS devant pointer vers un type de message, si vous souhaitez ingérer les résultats GuardDuty et les journaux de flux VPC, vous devez configurer des files d’attente distinctes pour chaque type.
De même, une seule file d’attente SQS ne pouvant servir qu’un seul chemin d’accès dans un compartiment S3, si pour une raison quelconque vous stockez des journaux dans plusieurs chemins d’accès, chacun d’eux requiert sa propre file d’attente SQS dédiée.
Résolution des problèmes
Découvrez comment résoudre les problèmes de connecteur Amazon Web Services S3.
Étapes suivantes
Dans ce document, vous avez appris à vous connecter à des ressources AWS pour ingérer leurs journaux dans Microsoft Sentinel. Pour en savoir plus sur Microsoft Sentinel, consultez les articles suivants :
- Découvrez comment avoir une visibilité sur vos données et les menaces potentielles.
- Prise en main de la détection des menaces avec Microsoft Sentinel.
- Utilisez des classeurs pour superviser vos données.