Connecter Microsoft Sentinel à Amazon Web Services pour ingérer les données des journaux des services AWS

Le connecteur de journal du service Amazon Web Services (AWS) est disponible en deux versions : le connecteur hérité pour la gestion cloudTrail et les journaux de données, et la nouvelle version qui peut ingérer les journaux à partir des services AWS suivants en les extrayant à partir d’un compartiment S3 (les liens sont vers la documentation AWS) :

L’onglet connecteur S3 explique comment configurer le connecteur AWS S3 en utilisant l’une des deux méthodes suivantes :

Prérequis

  • Vous devez disposer d’une autorisation d’é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 prêt à l’emploi de Microsoft Sentinel.

  • Installez PowerShell et AWS CLI sur votre ordinateur (pour l’installation automatique uniquement) :

  • 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 : .json fichier 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.

Configuration automatique

Pour simplifier le processus d’intégration, Microsoft Sentinel a fourni un script PowerShell pour automatiser la configuration du côté AWS du connecteur ; les ressources, identifiants et permissions AWS requis.

Le script :

  • Crée un fournisseur d’identité web OIDC pour authentifier Microsoft Entra ID utilisateurs auprès d’AWS. S’il existe déjà un fournisseur d’identité web, le script ajoute Microsoft Sentinel en tant qu’audience au fournisseur existant.

  • Crée un rôle IAM assumé 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 le compartiment S3 pour le stockage des journaux et la file d’attente SQS pour les notifications.

  • Configure toutes les stratégies d’autorisations IAM nécessaires et les applique au rôle IAM créé ci-dessus.

Pour les clouds Azure Government, un script spécialisé crée un autre fournisseur d’identité web OIDC et attribue le rôle IAM assumé à ce fournisseur.

Instructions

Pour exécuter le script afin de configurer le connecteur, procédez comme suit :

  1. Dans le menu de navigation Microsoft Sentinel, sélectionnez Connecteurs de données.

  2. Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.

    Si vous ne voyez pas le connecteur, installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel.

  3. Dans le volet d’informations du connecteur, sélectionnez Ouvrir la page du connecteur.

  4. Dans la section Configuration, dans 1. Configurez votre environnement AWS, développez Configuration avec un script PowerShell (recommandé).

  5. Suivez les instructions à l’écran pour télécharger et extraire le script d’installation AWS S3 (lien télécharge un fichier zip contenant le script d’installation principal et les 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 spécialisé de configuration AWS S3 Gov.

  6. Avant d’exécuter le script, exécutez la aws configure commande à partir de votre ligne de commande PowerShell et entrez les informations appropriées comme vous y êtes invité. Consultez Interface de ligne de commande AWS | Informations de base sur la configuration (à partir de la documentation AWS) pour plus d’informations.

  7. À présent, exécutez le script. Copiez la commande à partir de la page du connecteur (sous « Exécuter le script pour configurer l’environnement ») et collez-la dans votre ligne de commande.

  8. Le script vous invite à entrer votre ID d’espace de travail. Cet ID apparaît sur la page du connecteur. Copiez-le et collez-le à l’invite du script.

    Capture d’écran de la commande permettant d’exécuter le script d’installation et l’ID d’espace de travail.

  9. Lorsque le script a terminé son exécution, copiez le Role ARN et l’URL SQS depuis la sortie du script et collez-les dans leurs champs respectifs de la page connecteur sous 2. Ajouter une connexion.

    Capture d’écran de la sortie du script de configuration du connecteur A WS.

    Capture d’écran montrant le collage des informations sur le rôle AWS provenant du script dans le connecteur S3.

  10. Sélectionnez un type de données dans la liste déroulante Table de destination . Cela indique au connecteur le service AWS dont cette connexion doit collecter les journaux, ainsi que la table Log Analytics dans laquelle les données ingérées sont stockées. Sélectionnez ensuite Ajouter une connexion.

Remarque

L’exécution du script peut prendre jusqu’à 30 minutes.

Configuration manuelle

Nous vous recommandons 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 fonctionnalité, suivez les étapes ci-dessous pour configurer le connecteur manuellement.

  1. Configurez votre environnement AWS comme décrit dans Configurer votre environnement Amazon Web Services pour collecter les journaux AWS pour Microsoft Sentinel.

  2. Dans la console AWS :

    1. Entrez le service Gestion des identités et des accès (IAM) et accédez à la liste des rôles. Sélectionnez le rôle que vous avez créé ci-dessus.

    2. Copiez ARN dans votre presse-papiers.

    3. Accédez au Simple Queue Service, sélectionnez la file d’attente SQS que vous avez créée, puis copiez l’URL de la file d’attente dans votre presse-papiers.

  3. Dans Microsoft Sentinel, sélectionnez Connecteurs de données dans le menu de navigation.

  4. Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.

    Si vous ne voyez pas le connecteur, 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 prêt à l’emploi de Microsoft Sentinel.

  5. Dans le volet d’informations du connecteur, sélectionnez Ouvrir la page du connecteur.

  6. Sous 2. Ajouter une connexion :

    1. Collez l’ARN du rôle IAM que vous avez copié depuis la console AWS IAM dans le rôle pour ajouter le champ.
    2. Collez l’URL de la file d’attente SQS que vous avez copiée depuis la console AWS Simple Queue Service dans le champ URL SQS .
    3. Sélectionnez un type de données dans la liste déroulante Table de destination . Cela indique au connecteur le service AWS dont cette connexion doit collecter les journaux, ainsi que la table Log Analytics dans laquelle les données ingérées sont stockées.
    4. Sélectionnez Ajouter une connexion.

    Capture d’écran de l’ajout d’une connexion de rôle A WS au connecteur 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 être stockés dans le même chemin.

  • Chaque file d’attente SQS doit pointer vers un type de message. Si vous souhaitez ingérer les résultats GuardDuty et les journaux de flux VPC, configurez des files d'attente distinctes pour chaque type.

  • Une seule file d'attente SQS ne peut desservir qu'un seul chemin dans un compartiment S3. Si vous stockez des logs dans plusieurs chemins, chaque chemin nécessite sa propre file d’attente SQS dédiée.

Résolution des problèmes

Pour les étapes de dépannage, voir Problèmes de connecteur Amazon Web Services S3.

Envoyer des événements CloudWatch mis en forme à S3 à l’aide d’une fonction lambda (facultatif)

Si vos journaux CloudWatch ne sont pas dans le format accepté par Microsoft Sentinel - .csv fichier au format GZIP sans en-tête - utilisez une fonction lambda, consultez le code source dans AWS pour envoyer les événements CloudWatch vers un bucket S3 dans .csv format GZIP sans en-tête.

La fonction lambda utilise le runtime Python 3.12 et l’architecture x86_64.

Pour déployer la fonction lambda :

  1. Dans AWS Management Console, sélectionnez le service lambda.

  2. Sélectionnez Créer une fonction.

    Capture d’écran de l’écran Informations de base d’AWS Management Console.

  3. Tapez un nom pour la fonction et sélectionnez Python 3.12 comme runtime et x86_64 comme architecture.

  4. Sélectionnez Créer une fonction.

  5. Sous Choisir une couche, sélectionnez une couche, puis sélectionnez Ajouter.

    Capture d’écran de l’écran Ajouter une couche d’AWS Management Console.

  6. Sélectionnez Autorisations, puis, sous Rôle d’exécution, sélectionnez Nom du rôle.

  7. Sous Stratégies d’autorisations, sélectionnez Ajouter des autorisations>Attacher des stratégies.

    Capture d’écran de l’onglet Autorisations de la console de gestion AWS.

  8. Recherchez les stratégies AmazonS3FullAccess et CloudWatchLogsReadOnlyAccess, puis attachez-les.

    Capture d’écran de l’écran Ajouter des stratégies d’autorisations d’AWS Management Console.

  9. Revenez à la fonction, sélectionnez Code, puis collez le lien du code sous Source du code.

  10. Les valeurs par défaut des paramètres sont définies à l’aide de variables d’environnement. Si nécessaire, vous pouvez ajuster manuellement ces valeurs directement dans le code.

  11. Sélectionnez Déployer, puis Test.

  12. Créez un événement en remplissant les champs obligatoires.

    Capture d’écran de l’écran « Configurer l’événement de test » dans AWS Management.

  13. Sélectionnez Test pour voir comment l’événement apparaît dans le bucket S3.