View a markdown version of this page

Traitement des GuardDuty résultats avec Amazon EventBridge - Amazon GuardDuty

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traitement des GuardDuty résultats avec Amazon EventBridge

GuardDuty publie (envoie) automatiquement les résultats sous forme d'événements à Amazon EventBridge (anciennement Amazon CloudWatch Events), un service de bus d'événements sans serveur. EventBridge fournit un flux de données en temps quasi réel provenant d'applications et de services à des cibles telles que les rubriques, les AWS Lambda fonctions et les flux Amazon Kinesis d'Amazon Simple Notification Service (Amazon SNS). Pour plus d'informations, consultez le guide de EventBridge l'utilisateur Amazon.

EventBridge permet la surveillance et le traitement automatisés des GuardDuty résultats en recevant des événements. EventBridge reçoit des événements pour les résultats nouvellement générés et les résultats agrégés, où les occurrences ultérieures d'une découverte existante sont combinées avec l'original. Un identifiant de GuardDuty découverte est attribué à chaque découverte et un EventBridge événement est GuardDuty créé pour chaque découverte avec un identifiant de recherche unique. Pour plus d'informations sur le fonctionnement de l'agrégation GuardDuty, consultezGuardDuty recherche d'agrégation.

Outre la surveillance et le traitement automatisés, l'utilisation de EventBridge permet de conserver à plus long terme les données de vos résultats. GuardDuty stocke les résultats pendant 90 jours. Avec EventBridge, vous pouvez envoyer les données des résultats vers votre plate-forme de stockage préférée et les stocker aussi longtemps que vous le souhaitez. Pour conserver les résultats plus longtemps, GuardDuty soutientExportation des résultats générés vers Amazon S3.

Comprendre la fréquence des EventBridge notifications dans GuardDuty

Cette section explique à quelle fréquence vous recevez des notifications de recherche EventBridge et comment mettre à jour la fréquence pour les occurrences de recherche suivantes.

Notifications pour les résultats nouvellement générés avec un identifiant de recherche unique

GuardDuty envoie ces notifications en temps quasi réel lorsqu'il génère une découverte avec un identifiant de recherche unique. La notification inclut toutes les occurrences ultérieures de cet identifiant de recherche au cours du processus de génération de la notification.

La fréquence des notifications pour les nouveaux résultats est quasiment en temps réel. Par défaut, vous ne pouvez pas modifier cette fréquence.

Notifications pour les occurrences de résultat ultérieures

GuardDuty regroupe toutes les occurrences ultérieures d'un type de découverte particulier qui se produisent dans les intervalles de 6 heures en un seul événement. Seul un compte administrateur peut mettre à jour la fréquence des EventBridge notifications pour les occurrences de détection ultérieures. Un compte membre ne peut pas mettre à jour cette fréquence pour son propre compte. Par exemple, si le compte GuardDuty administrateur délégué met à jour la fréquence à une heure, tous les comptes membres recevront également des notifications d'une heure concernant les occurrences de recherche ultérieures envoyées à EventBridge. Pour de plus amples informations, veuillez consulter Plusieurs comptes sur Amazon GuardDuty.

En tant que compte administrateur, vous pouvez personnaliser la fréquence par défaut des notifications concernant les occurrences de détection suivantes. Les valeurs possibles sont 15 minutes, 1 heure ou, par défaut, 6 heures. Pour plus d'informations sur la configuration de la fréquence de ces notifications, veuillez consulter Étape 5 — Définition de la fréquence d'exportation des résultats actifs mis à jour.

Pour plus de détails sur la réception EventBridge des notifications relatives aux comptes membres par le compte administrateur, consultezEventBridge règle pour les environnements multicomptes.

Configurer une rubrique et un point de terminaison Amazon SNS (Email, Slack et Amazon Chime)

Amazon Simple Notification Service (Amazon SNS) est un service entièrement géré qui permet de transmettre des messages aux abonnés par les éditeurs. Les éditeurs communiquent de manière asynchrone avec les abonnés en envoyant des messages à une rubrique. Une rubrique est un point d'accès logique et un canal de communication qui vous permettent de regrouper plusieurs points de terminaison tels qu' AWS Lambda Amazon Simple Queue Service (Amazon SQS) et une adresse e-mail. HTTP/S

Note

Vous pouvez ajouter une rubrique Amazon SNS à votre règle d' EventBridge événement préférée pendant ou après la création de la règle.

Création d'une rubrique Amazon SNS

Pour commencer, vous devez d'abord configurer une rubrique dans Amazon SNS et ajouter un point de terminaison. Pour créer une rubrique, suivez les étapes décrites à l'Étape 1 : Création d'une rubrique dans le Guide du développeur Amazon Simple Notification Service. Une fois la rubrique créée, copiez l'ARN de la rubrique dans le presse-papiers. Vous utiliserez l'ARN de cette rubrique pour continuer avec l'une des configurations préférées.

Choisissez une méthode préférée pour déterminer où vous souhaitez envoyer les données de GuardDuty recherche.

Email setup

Pour configurer un point de terminaison de messagerie

Après vousCreate an Amazon SNS topic, l'étape suivante consiste à créer un abonnement à cette rubrique. Suivez les étapes décrites à l'étape 2 : Création d'un abonnement à une rubrique Amazon SNS du manuel Amazon Simple Notification Service Developer Guide.

  1. Pour l'ARN de rubrique, utilisez l'ARN de rubrique créé à l'Create an Amazon SNS topicétape. Le sujet ARN ressemble à ce qui suit :

    arn:aws:sns:us-east-2:123456789012:your_topic
  2. Pour Protocol, sélectionnez Email.

  3. Pour Endpoint, entrez l'adresse e-mail à laquelle vous souhaitez recevoir les notifications d'Amazon SNS.

    Une fois l'abonnement créé, vous devrez le confirmer via votre client de messagerie.

Slack setup

Pour configurer un développeur Amazon Q dans un client d'applications de chat : Slack

Après vousCreate an Amazon SNS topic, l'étape suivante consiste à configurer le client pour Slack.

Suivez les étapes décrites dans Tutoriel : Démarrez avec Slack dans le Guide de l'administrateur des applications de chat Amazon Q pour développeurs.

Chime setup

Pour configurer un développeur Amazon Q dans un client d'applications de chat - Chime

Après vousCreate an Amazon SNS topic, l'étape suivante consiste à configurer Amazon Q Developer pour Chime.

Suivez les étapes décrites dans Tutoriel : Démarrez avec Amazon Chime dans le Guide de l'administrateur d'Amazon Q Developer in chat applications.

Utiliser Amazon EventBridge pour les GuardDuty résultats

Avec EventBridge, vous créez des règles pour spécifier les événements que vous souhaitez surveiller. Ces règles spécifient également les services et applications cibles qui peuvent effectuer des actions automatisées si de tels événements se produisent. Une cible est une destination (une ressource ou un point de terminaison) qui EventBridge envoie un événement lorsque celui-ci correspond au modèle d'événement défini dans la règle. Chaque événement est un objet JSON conforme au EventBridge schéma des AWS événements et contenant une représentation JSON d'une découverte. Vous pouvez personnaliser la règle pour n'envoyer que les événements qui répondent à certains critères. Pour plus d'informations, consultez [Rubrique sur le schéma JSON]. Les données des résultats étant structurées comme un EventBridge événement, vous pouvez surveiller, traiter et agir en fonction des résultats à l'aide d'autres applications, services et outils.

Pour recevoir des notifications concernant des GuardDuty résultats basés sur des événements, vous devez créer une EventBridge règle et une cible pour GuardDuty. Cette règle permet EventBridge d'envoyer des notifications pour les résultats GuardDuty générés à la cible spécifiée dans la règle.

Note

EventBridge et les CloudWatch événements sont le même service sous-jacent et la même API. Il EventBridge inclut toutefois des fonctionnalités supplémentaires qui vous permettent de recevoir des événements provenant d'applications SaaS (Software as a Service) et de vos propres applications. Étant donné que le service et l'API sous-jacents sont identiques, le schéma d'événements pour GuardDuty les résultats est également le même.

Comment GuardDuty fonctionnent les résultats archivés et non archivés avec EventBridge

Pour les résultats que vous archivez manuellement, les occurrences initiales et toutes les occurrences suivantes de ces résultats (générées une fois l'archivage terminé) sont envoyées en EventBridge fonction d'une fréquence de notification spécifique. Pour de plus amples informations, veuillez consulter Comprendre la fréquence des EventBridge notifications dans GuardDuty.

Pour les résultats qui sont automatiquement archivés avecRègles de suppression, la première occurrence et toutes les occurrences suivantes de ces résultats (générées une fois l'archivage terminé) ne sont pas envoyées à EventBridge. Vous pouvez consulter ces résultats archivés automatiquement dans la GuardDuty console.

Schéma d'événement

Un modèle d'événement définit les données EventBridge utilisées pour déterminer s'il faut envoyer l'événement à la cible. Le format de l' EventBridgeévénement GuardDuty est le suivant :

{ "version": "0", "id": "cd2d702e-ab31-411b-9344-793ce56b1bc7", "detail-type": "GuardDuty Finding", "source": "aws.guardduty", "account": "111122223333", "time": "1970-01-01T00:00:00Z", "region": "us-east-1", "resources": [], "detail": {GUARDDUTY_FINDING_JSON_OBJECT} }

La detail valeur renvoie les détails JSON d'une seule découverte en tant qu'objet, au lieu de renvoyer la syntaxe de réponse complète des résultats qui prend en charge plusieurs résultats dans un tableau.

Pour une liste complète de tous les paramètres inclus dansGUARDDUTY_FINDING_JSON_OBJECT, voir GetFindings. Le paramètre id qui apparaît dans GUARDDUTY_FINDING_JSON_OBJECT est l'ID du résultat décrit précédemment.

Création d'une EventBridge règle pour les GuardDuty résultats

Les procédures suivantes expliquent comment utiliser la EventBridge console Amazon et le AWS Command Line Interface (AWS CLI) pour créer une EventBridge règle pour les GuardDuty résultats. La règle détecte les EventBridge événements qui utilisent le schéma et le modèle d'événements pour GuardDuty les résultats, et elle envoie ces événements à une AWS Lambda fonction pour traitement.

AWS Lambda est un service de calcul que vous pouvez utiliser pour exécuter du code sans provisionner ni gérer de serveurs. Vous empaquetez votre code et vous le chargez AWS Lambda en tant que fonction Lambda. AWS Lambda exécute ensuite la fonction lorsque celle-ci est invoquée. Une fonction peut être appelée manuellement, par vous, automatiquement en réponse à des événements, ou en réponse à des demandes d'applications ou de services. Pour en savoir plus sur la création et l'invocation de fonctions Lambda, consultez le Guide du développeur AWS Lambda.

Choisissez votre méthode préférée pour créer une EventBridge règle qui envoie vos GuardDuty résultats à une cible.

Console

Suivez ces étapes pour utiliser la EventBridge console Amazon afin de créer une règle qui envoie automatiquement tous les événements de GuardDuty recherche à une fonction Lambda pour traitement. La règle utilise les paramètres par défaut pour les règles qui s'exécutent lorsque des événements spécifiques sont reçus. Pour plus d'informations sur les paramètres des règles ou pour savoir comment créer une règle utilisant des paramètres personnalisés, consultez la section Création de règles qui réagissent aux événements dans le Guide de EventBridge l'utilisateur Amazon.

Avant de créer cette règle, créez la fonction Lambda que vous souhaitez que la règle utilise comme cible. Lorsque vous créez la règle, vous devez spécifier cette fonction comme étant la cible de la règle. Votre cible peut également être la rubrique SNS que vous avez créée précédemment. Pour de plus amples informations, veuillez consulter Configurer une rubrique et un point de terminaison Amazon SNS (Email, Slack et Amazon Chime).

Pour créer une règle d'événement à l'aide de la console
  1. Connectez-vous au Console de gestion AWS et ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, sous Bus, sélectionnez Règles.

  3. Dans la section Rules (Règles) choisissez Create rule (Créer une règle).

  4. Sur la page détaillée de définition de la règle, procédez comme suit :

    1. Pour Name (Nom), entrez le nom de la règle.

    2. (Facultatif) Dans Description, entrez une brève description de la règle.

    3. Pour le bus d'événements, assurez-vous que la valeur par défaut est sélectionnée et que l'option Activer la règle sur le bus d'événements sélectionné est activée.

    4. Pour Type de règle, choisissez Règle avec un modèle d’événement.

    5. Lorsque vous avez terminé, choisissez Suivant.

  5. Sur la page Créer un modèle d'événement, procédez comme suit :

    1. Dans Source de l'événement, sélectionnez AWS événements ou événements EventBridge partenaires.

    2. (Facultatif) Pour Exemple d'événement, consultez un exemple d'événement de recherche GuardDuty pour savoir ce qu'un événement peut contenir. Pour ce faire, choisissez AWS des événements. Ensuite, pour Exemples d'événements, choisissez GuardDuty Finding.

    3. Option 1 - Utiliser le formulaire de modèle, un modèle qui EventBridge fournit

      Dans la section Modèle d'événement, vous pouvez effectuer les opérations suivantes :

      1. Pour Méthode de création, sélectionnez Utiliser le formulaire de modèle.

      2. Pour Event source (Source d’événement), choisissez Services AWS.

      3. Pour Service AWS, choisissez GuardDuty.

      4. Pour Type d'événement, choisissez GuardDuty Finding (Résultat Amazon Macie).

      Lorsque vous avez terminé, choisissez Suivant.

    4. Option 2 - Utilisation d'un modèle d'événement personnalisé dans JSON

      Dans la section Modèle d'événement, vous pouvez effectuer les opérations suivantes :

      1. Pour Méthode de création, sélectionnez Modèle personnalisé (éditeur JSON).

      2. Pour Event pattern, collez le JSON personnalisé suivant qui créera une alerte pour les résultats moyens, élevés et critiques. Pour de plus amples informations, veuillez consulter Niveaux de gravité des résultats.

        { "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "severity": [ 4, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10, 10.0 ] } }

      Lorsque vous avez terminé, choisissez Suivant.

  6. Option A - Sélection Service AWS - AWS Lambda comme cible

    Sur la page Sélectionner une ou plusieurs cibles, procédez comme suit :

    1. Pour les types de cibles, sélectionnez Service AWS.

    2. Pour Select a target (Sélectionner une cible), choisissez Lambda Function (Fonction Lambda). Ensuite, dans Function, choisissez la fonction Lambda à laquelle vous souhaitez envoyer les événements de recherche.

    3. Dans Configure version/alias, entrez les paramètres de version ou d'alias pour la fonction Lambda cible.

    4. (Facultatif) Pour les paramètres supplémentaires, entrez des paramètres personnalisés pour spécifier les données d'événement que vous souhaitez envoyer à la fonction Lambda. Vous pouvez également spécifier comment gérer les événements qui ne sont pas correctement transmis à la fonction.

    5. Lorsque vous avez terminé, choisissez Suivant.

  7. Option B - Sélection d'un sujet SNS comme cible

    Sur la page Sélectionner une ou plusieurs cibles, procédez comme suit :

    1. Pour les types de cibles, sélectionnez Service AWS.

    2. Pour Sélectionner une cible, choisissez Rubrique SNS. Ensuite, pour Emplacement cible, sélectionnez l'option appropriée en fonction de votre emplacement cible. Dans Rubrique, choisissez le nom de la rubrique SNS que vous avez créée.

    3. Développer Additional settings (Paramètres supplémentaires). Pour Configurer l'entrée cible, choisissez Transformateur d'entrée.

    4. Choisissez Configure input transformer (Configurer le transformateur d'entrée).

    5. Copiez le code suivant et collez-le dans le champ Chemin d'entrée de la section Transformateur d'entrée cible.

      { "severity": "$.detail.severity", "Account_ID": "$.detail.accountId", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_Description": "$.detail.description" }
    6. Copiez le code suivant et collez-le dans le champ Modèle pour mettre en forme l'e-mail.

      {"message":"You have a severity <severity> GuardDuty finding type <Finding_Type> in the <region> Region.\n\nFinding Description:\n<Finding_Description>.\n\nFor more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"}
      Important

      Fournissez le modèle sous la forme d'un objet JSON sur une seule ligne avec le message encapsulé dans une clémessage, comme indiqué dans l'exemple précédent, et utilisez-le \n pour ajouter des sauts de ligne. GuardDuty trouver des champs tels que ceux qui description peuvent contenir des caractères de contrôle non échappés, y compris des sauts de ligne. Si vous fournissez le modèle sous forme de chaîne entre guillemets nus, ou si vous placez un tel champ dans un modèle multiligne (qui utilise des chaînes entre guillemets séparées sur des lignes distinctes), la valeur substituée peut produire un JSON non valide, ce qui entraîne EventBridge le rejet de l'événement et l'échec de l'envoi de la notification.

  8. Sur la page Configurer les balises, entrez éventuellement une ou plusieurs balises à attribuer à la règle. Ensuite, sélectionnez Suivant.

  9. Sur la page Réviser et créer, vérifiez les paramètres de la règle et vérifiez qu'ils sont corrects.

    Pour modifier un paramètre, choisissez Modifier dans la section qui contient le paramètre, puis entrez le réglage correct. Vous pouvez également utiliser les onglets de navigation pour accéder à la page contenant un paramètre.

  10. Lorsque vous avez terminé de vérifier les paramètres, choisissez Créer une règle.

API

La procédure suivante montre comment utiliser AWS CLI les commandes pour créer une EventBridge règle et une cible pour GuardDuty. Plus précisément, la procédure vous montre comment créer une règle qui permet d' EventBridge envoyer des événements pour tous les résultats GuardDuty générés à une AWS Lambda fonction en tant que cible de la règle.

Note

Dans cet exemple, nous utilisons une fonction Lambda comme cible pour la règle qui déclenche EventBridge. Vous pouvez également configurer d'autres AWS ressources comme cibles à déclencher EventBridge. GuardDuty et EventBridge prennent en charge les types de cibles suivants : les instances Amazon EC2, les flux Amazon Kinesis, les tâches Amazon ECS, les machines à AWS Step Functions états, la run commande et les cibles intégrées. Pour plus d'informations, consultez PutTargets le manuel Amazon EventBridge API Reference.

Pour créer une règle et une cible
  1. Pour créer une règle qui permet d' EventBridge envoyer des événements pour tous les résultats GuardDuty générés, exécutez la commande EventBridge CLI suivante.

    aws events put-rule --name your-rule-name --event-pattern "{\"source\":[\"aws.guardduty\"]}"

    Vous pouvez personnaliser davantage votre règle afin qu'elle indique d' EventBridge envoyer des événements uniquement pour un sous-ensemble des GuardDuty-generated résultats. Ce sous-ensemble est basé sur le ou les attributs de résultat qui sont spécifiés dans la règle. Par exemple, utilisez la commande CLI suivante pour créer une règle qui permet d' EventBridge envoyer uniquement des événements pour les GuardDuty résultats dont le niveau de gravité est 5 ou 8 :

    aws events put-rule --name your-rule-name --event-pattern "{\"source\":[\"aws.guardduty\"],\"detail-type\":[\"GuardDuty Finding\"],\"detail\":{\"severity\":[5,8]}}"

    À cette fin, vous pouvez utiliser n'importe quelle valeur de propriété disponible dans le JSON pour les GuardDuty résultats.

  2. Pour associer une fonction Lambda en tant que cible à la règle que vous avez créée à l'étape 1, exécutez la commande CloudWatch CLI suivante.

    aws events put-targets --rule your-target-name --targets Id=1,Arn=arn:aws:lambda:us-east-1:111122223333:function:your_function

    Assurez-vous de remplacer your-target-name la commande ci-dessus par votre fonction Lambda actuelle pour les GuardDuty événements.

  3. Pour ajouter les autorisations requises pour invoquer la cible, exécutez la commande d'interface de ligne de commande Lambda suivante.

    aws lambda add-permission --function-name your-target-name --statement-id 1 --action 'lambda:InvokeFunction' --principal events.amazonaws.com

    Assurez-vous de remplacer your_function la commande ci-dessus par votre fonction Lambda actuelle pour les GuardDuty événements.

EventBridge règle pour les GuardDuty environnements multicomptes

Lorsque vous utilisez un compte GuardDuty administrateur délégué, vous pouvez consulter les événements générés dans les comptes des membres et prendre des mesures à l'aide d'autres applications et services. EventBridge les règles de votre compte administrateur seront déclenchées en fonction des résultats applicables de vos comptes membres. Si vous configurez les notifications de recherche via EventBridge votre compte administrateur, vous recevrez des notifications de résultats provenant à la fois de votre compte et des comptes de membres. Par exemple, vous pouvez envoyer des types spécifiques de résultats à une fonction Lambda qui traite et envoie les données à votre système de gestion des incidents et des événements de sécurité (SIEM). EventBridge

Vous pouvez identifier le compte membre d'où provient la GuardDuty découverte à l'aide du accountId champ contenant les détails JSON de la découverte. Pour créer une règle d'événement personnalisée pour des comptes de membres spécifiques, créez une nouvelle règle et utilisez le modèle suivant dans Modèle d'événement. 123456789012Remplacez-le par le compte accountId du membre pour lequel vous souhaitez déclencher l'événement.

{ "source": [ "aws.guardduty" ], "detail-type": [ "GuardDuty Finding" ], "detail": { "accountId": [ "123456789012" ] } }
Note

Cet exemple crée une règle qui correspond à tous les résultats de l'ID de compte spécifié. Vous pouvez inclure plusieurs identifiants de compte en les séparant par des virgules, conformément à la syntaxe JSON.