Comment configurer une règle EventBridge pour que GuardDuty envoie des notifications SNS personnalisées si des types d'événements de services AWS spécifiques se déclenchent ?

Date de la dernière mise à jour : 10/01/2022

J'ai créé une règle Amazon EventBridge pour déclencher des types d'événements de services pour Amazon GuardDuty, mais les réponses sont au format JSON. Comment recevoir une notification par e-mail avec une réponse personnalisée ?

Brève description

Utilisez un modèle d'événement personnalisé avec la règle EventBridge pour établir une correspondance avec un type de résultat spécifique. Acheminez ensuite la réponse vers une rubrique Amazon Simple Notification Service (Amazon SNS).

Résolution

Cet exemple utilise le type d'événement Amazon GuardDuty UnauthorizedAccess:EC2/MaliciousIPCaller.Custom.

Remarque : vous pouvez remplacer le nom du service et le type d'événement pour votre service AWS spécifique.

1.    Si vous n'avez pas déjà créé de rubrique Amazon SNS, rendez-vous sur la page Mise en route d'Amazon SNS et suivez les instructions affichées.

Remarque : la rubrique Amazon SNS doit se trouver dans la même région que votre service Amazon GuardDuty.

2.    Ouvrez la console EventBridge.

3.    Sélectionnez Create rule (Créer une règle).

4.    Saisissez un nom pour votre règle. Vous pouvez éventuellement saisir une description.

5.    Dans Define pattern (Définir le modèle), sélectionnez Event pattern (Modèle d'événement).

6.    Choisissez Pre-defined pattern by service (Modèle prédéfini par service).

7.    Pour le fournisseur de services, choisissez AWS.

8.    Pour Service name (Nom du service), choisissez GuardDuty.

9.    Pour Event type (Type d'événement), choisissez GuardDuty Finding (Résultat GuardDuty).

10.    Dans la section d'aperçu du modèle d'événement, sélectionnez Edit (Modifier).

11.    Copiez le code suivant et collez-le dans la section d'aperçu du modèle d'événement, puis choisissez Save (Enregistrer).

{
  "source": [
    "aws.guardduty"
  ],
  "detail": {
    "type": [
      "UnauthorizedAccess:EC2/MaliciousIPCaller.Custom"
     ]
  }
}

12.    Pour Select event bus (Sélectionner un bus d'événements), sélectionnez AWS default event bus (Bus d'événements AWS par défaut).

13.    DansSelect targets (Sélectionner les cibles), choisissez SNS topic (Rubrique SNS), puis la rubrique SNS que vous avez créée précédemment.

14.    Développez Configurer input (Configurer l'entrée), puis sélectionnez Input Transformer (Transformateur d'entrée).

15.    Copiez le code suivant. Collez-le dans Input Path (Chemin d'entrée).

{
    "severity": "$.detail.severity",
    "Finding_ID": "$.detail.id",
    "instanceId": "$.detail.resource.instanceDetails.instanceId",
    "port": "$.detail.service.action.networkConnectionAction.localPortDetails.port",
    "eventFirstSeen": "$.detail.service.eventFirstSeen",
    "eventLastSeen": "$.detail.service.eventLastSeen",
    "count": "$.detail.service.count",
    "Finding_Type": "$.detail.type",
    "region": "$.region",
    "Finding_description": "$.detail.description"
}

16.    Copiez le code suivant. Collez-le dans Input Template (Modèle d'entrée).

"You have a severity <severity> GuardDuty finding type <Finding_Type> for the EC2 instance <instanceId> in the region <region> as the <Finding_description> on the port <port>. The first attempt was on <eventFirstSeen> and the most recent attempt on <eventLastSeen> . The total occurrence is <count>. For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"

17.    Allez au bas de la page et sélectionnez Create (Créer).

18.    Si un type d'événement est déclenché, vous recevez une notification SNS par e-mail avec les champs personnalisés renseignés de l'étape 16, comme suit :

"You have a severity 5 GuardDuty finding type UnauthorizedAccess:EC2/MaliciousIPCaller.Custom for the EC2 instance EXAMPLEID in the region EXAMPLEREGION as the EC2 instance EXAMPLE is communicating with a disallowed IP address EXAMPLEREMOTEIP on the EXAMPLELIST on the port EXAMPLEPORT. The first attempt was on EXAMPLEDATE1 and the most recent attempt on EXAMPLEDATE2. The total occurrence is COUNTEXAMPLE. For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?EXAMPLEREGION"