View a markdown version of this page

Elaborazione dei GuardDuty risultati con Amazon EventBridge - Amazon GuardDuty

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elaborazione dei GuardDuty risultati con Amazon EventBridge

GuardDuty pubblica (invia) automaticamente i risultati come eventi ad Amazon EventBridge (in precedenza Amazon CloudWatch Events), un servizio di bus di eventi senza server. EventBridge fornisce un flusso di dati quasi in tempo reale da applicazioni e servizi a destinazioni come argomenti, AWS Lambda funzioni e stream Amazon Kinesis di Amazon Simple Notification Service (Amazon SNS). Per ulteriori informazioni, consulta Amazon EventBridge User Guide.

EventBridge consente il monitoraggio e l'elaborazione automatici dei GuardDuty risultati mediante la ricezione di eventi. EventBridge riceve eventi sia per i risultati di nuova generazione che per i risultati aggregati, in cui le occorrenze successive di un risultato esistente vengono combinate con l'originale. A ogni GuardDuty risultato viene assegnato un ID di ricerca e GuardDuty crea un EventBridge evento per ogni risultato con un ID di ricerca univoco. Per informazioni su come funziona l'aggregazione in GuardDuty, vedereGuardDuty trovare l'aggregazione.

Oltre al monitoraggio e all'elaborazione automatizzati, l'utilizzo di EventBridge consente la conservazione a lungo termine dei dati dei risultati. GuardDuty archivia i risultati per 90 giorni. Con EventBridge, puoi inviare i dati dei risultati alla tua piattaforma di archiviazione preferita e archiviarli per tutto il tempo che desideri. Per conservare i risultati per un periodo più lungo, GuardDuty supportaEsportazione dei risultati generati in Amazon S3.

Comprensione EventBridge della frequenza delle notifiche in GuardDuty

Questa sezione spiega la frequenza con cui si ricevono le notifiche di ricerca EventBridge e come aggiornare la frequenza delle successive occorrenze di ricerca.

Notifiche per i risultati appena generati con un ID di ricerca univoco

GuardDuty invia queste notifiche quasi in tempo reale quando genera un risultato con un ID di ricerca univoco. La notifica include tutte le occorrenze successive di questo ID di ricerca durante il processo di generazione della notifica.

La frequenza di notifica per i nuovi risultati generati è quasi in tempo reale. Per impostazione predefinita, non è possibile modificare questa frequenza.

Notifiche per occorrenze di esiti successive

GuardDuty aggrega tutte le occorrenze successive di un particolare tipo di risultato che si verificano entro gli intervalli di 6 ore in un unico evento. Solo un account amministratore può aggiornare la frequenza di EventBridge notifica per le successive occorrenze di ricerca. Un account membro non può aggiornare questa frequenza per il proprio account. Ad esempio, se l'account GuardDuty amministratore delegato aggiorna la frequenza a un'ora, a tutti gli account membri verrà inoltre inviata una frequenza di notifica di un'ora sulle successive occorrenze di ricerca inviate a. EventBridge Per ulteriori informazioni, consulta Account multipli su Amazon GuardDuty.

In qualità di account amministratore, puoi personalizzare la frequenza predefinita delle notifiche relative alle successive occorrenze di ricerca. I valori possibili sono 15 minuti, 1 ora o 6 ore (impostazione predefinita). Per ulteriori informazioni sull'impostazione della frequenza di queste notifiche, consulta Fase 5 — Impostazione della frequenza per esportare i risultati attivi aggiornati.

Per maggiori dettagli sull'account amministratore che riceve EventBridge notifiche per gli account membri, consultaEventBridge regola per ambienti con più account.

Configura un argomento e un endpoint Amazon SNS (e-mail, Slack e Amazon Chime)

Amazon Simple Notification Service (Amazon SNS) è un servizio completamente gestito che fornisce la consegna dei messaggi dagli editori agli abbonati. Gli editori comunicano in modo asincrono con gli abbonati inviando messaggi su un argomento. Un argomento è un punto di accesso logico e un canale di comunicazione che consente di raggruppare più endpoint come AWS Lambda Amazon Simple Queue Service (Amazon SQS) e un indirizzo email. HTTP/S

Nota

Puoi aggiungere un argomento Amazon SNS alla tua regola di EventBridge evento preferita durante o dopo la creazione della regola.

Crea un argomento Amazon SNS

Per iniziare, devi prima impostare un argomento in Amazon SNS e aggiungere un endpoint. Per creare un argomento, esegui i passaggi indicati nella Fase 1: Creazione di un argomento nella Amazon Simple Notification Service Developer Guide. Dopo aver creato l'argomento, copia l'ARN dell'argomento negli appunti. Utilizzerai questo argomento ARN per continuare con una delle impostazioni preferite.

Scegliete un metodo preferito per stabilire dove inviare i dati di GuardDuty ricerca.

Email setup

Per configurare un endpoint di posta elettronica

Dopo di teCreate an Amazon SNS topic, il passaggio successivo è creare un abbonamento a questo argomento. Esegui i passaggi indicati nella Fase 2: Creazione di un abbonamento a un argomento di Amazon SNS nella Amazon Simple Notification Service Developer Guide.

  1. Per Topic ARN, usa l'argomento ARN creato nella fase. Create an Amazon SNS topic L'argomento ARN è simile al seguente:

    arn:aws:sns:us-east-2:123456789012:your_topic
  2. Per Protocol (Protocollo), selezionare Email (E-mail).

  3. Per Endpoint, inserisci un indirizzo email al quale desideri ricevere le notifiche da Amazon SNS.

    Dopo aver creato l'abbonamento, dovrai confermarlo tramite il tuo client di posta elettronica.

Slack setup

Per configurare un Amazon Q Developer nel client delle applicazioni di chat: Slack

Dopo di teCreate an Amazon SNS topic, il passaggio successivo è configurare il client per Slack.

Esegui i passaggi descritti in Tutorial: Inizia a usare Slack nella Guida per l'amministratore di Amazon Q Developer in chat applications.

Chime setup

Per configurare un client di applicazioni Amazon Q Developer in chat: Chime

Dopo di teCreate an Amazon SNS topic, il passaggio successivo è configurare Amazon Q Developer for Chime.

Segui i passaggi descritti nel Tutorial: Inizia a usare Amazon Chime nella Amazon Q Developer in chat applications Administrator Guide.

Usare Amazon EventBridge per i risultati GuardDuty

Con EventBridge, si creano regole per specificare gli eventi che si desidera monitorare. Queste regole specificano anche i servizi e le applicazioni di destinazione che possono eseguire azioni automatiche se si verificano questi eventi. Un obiettivo è una destinazione (una risorsa o un endpoint) che EventBridge invia un evento quando l'evento corrisponde al modello di evento definito nella regola. Ogni evento è un oggetto JSON conforme allo EventBridge schema degli AWS eventi e contiene una rappresentazione JSON di un risultato. È possibile personalizzare la regola per inviare solo gli eventi che soddisfano determinati criteri. Per ulteriori informazioni, vedere [argomento dello schema JSON]. Poiché i dati dei risultati sono strutturati come un EventBridge evento, è possibile monitorare, elaborare e agire in base ai risultati utilizzando altre applicazioni, servizi e strumenti.

Per ricevere notifiche sui GuardDuty risultati in base agli eventi, è necessario creare una EventBridge regola e un obiettivo per GuardDuty. Questa regola consente EventBridge di inviare notifiche relative ai risultati GuardDuty generati alla destinazione specificata nella regola.

Nota

EventBridge e CloudWatch gli Events sono lo stesso servizio e la stessa API sottostanti. Tuttavia, EventBridge include funzionalità aggiuntive che consentono di ricevere eventi dalle applicazioni Software as a Service (SaaS) e dalle proprie applicazioni. Poiché il servizio e l'API sottostanti sono gli stessi, anche lo schema degli eventi per GuardDuty i risultati è lo stesso.

Come funzionano i risultati archiviati e non archiviati GuardDuty EventBridge

Per i risultati archiviati manualmente, le occorrenze iniziali e tutte le successive di tali risultati (generati al termine dell'archiviazione) vengono inviati a in EventBridge base a una frequenza di notifica specifica. Per ulteriori informazioni, consulta Comprensione EventBridge della frequenza delle notifiche in GuardDuty.

Per i risultati che vengono archiviati automaticamente conRegole di eliminazione, le occorrenze iniziali e tutte le successive di tali risultati (generati al termine dell'archiviazione) non vengono inviati a. EventBridge È possibile visualizzare questi risultati archiviati automaticamente nella console. GuardDuty

Schema degli eventi

Un pattern di eventi definisce i dati EventBridge utilizzati per determinare se inviare l'evento alla destinazione. L' EventBridgeevento per GuardDuty ha il seguente formato:

{ "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} }

Il detail valore restituisce i dettagli JSON di un singolo risultato come oggetto, anziché restituire l'intera sintassi di risposta dei risultati che supporta più risultati all'interno di un array.

Per un elenco completo di tutti i parametri inclusi inGUARDDUTY_FINDING_JSON_OBJECT, vedere. GetFindings Il parametro id visualizzato in GUARDDUTY_FINDING_JSON_OBJECT è l'ID risultato descritto precedentemente.

Creazione di una EventBridge regola per GuardDuty i risultati

Le seguenti procedure spiegano come utilizzare la EventBridge console Amazon e AWS Command Line Interface (AWS CLI) per creare una EventBridge regola per GuardDuty i risultati. La regola rileva EventBridge gli eventi che utilizzano lo schema e il modello degli eventi per GuardDuty i risultati e li invia a una AWS Lambda funzione per l'elaborazione.

AWS Lambda è un servizio di elaborazione che è possibile utilizzare per eseguire codice senza eseguire il provisioning o la gestione dei server. Si impacchetta il codice e lo si carica AWS Lambda come funzione Lambda. AWS Lambda quindi esegue la funzione quando la funzione viene richiamata. Puoi richiamare una funzione manualmente, come risposta automatica agli eventi o in risposta a richieste provenienti da applicazioni o servizi. Per ulteriori informazioni su come creare e richiamare le funzioni Lambda, consulta Guida per gli sviluppatori di AWS Lambda.

Scegliete il metodo preferito per creare una EventBridge regola che invii i GuardDuty risultati a un obiettivo.

Console

Segui questi passaggi per utilizzare la EventBridge console Amazon per creare una regola che invia automaticamente tutti gli eventi di GuardDuty ricerca a una funzione Lambda per l'elaborazione. La regola utilizza le impostazioni predefinite per le regole che vengono eseguite quando vengono ricevuti eventi specifici. Per dettagli sulle impostazioni delle regole o per scoprire come creare una regola che utilizza impostazioni personalizzate, consulta Creating rules that react to events nella Amazon EventBridge User Guide.

Prima di creare questa regola, crea la funzione Lambda che desideri che la regola utilizzi come obiettivo. Quando crei la regola, dovrai specificare questa funzione come sua destinazione. Il tuo obiettivo può anche essere l'argomento SNS che hai creato in precedenza. Per ulteriori informazioni, consulta Configura un argomento e un endpoint Amazon SNS (e-mail, Slack e Amazon Chime).

Per creare una regola di evento utilizzando la console
  1. Accedi Console di gestione AWS e apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/.

  2. Nel pannello di navigazione, in Autobus, scegli Regole.

  3. Nella sezione Rules (Regole), scegli Create rule (Crea regola).

  4. Nella pagina dei dettagli della definizione delle regole, procedi come segue:

    1. In Name (Nome), inserisci un nome per la regola.

    2. (Facoltativo) Per Descrizione, inserisci una breve descrizione della regola.

    3. Per Event bus, assicurati che l'impostazione predefinita sia selezionata e che Abilita la regola sul bus di eventi selezionato sia attivata.

    4. Per Tipo di regola, scegli Regola con un modello di eventi.

    5. Al termine, selezionare Next (Avanti).

  5. Nella pagina Crea pattern di eventi, effettuate le seguenti operazioni:

    1. Per Origine evento, scegli AWS Eventi o Eventi EventBridge partner.

    2. (Facoltativo) Per Sample event, esamina un esempio di evento di ricerca GuardDuty per scoprire cosa potrebbe contenere un evento. Per fare ciò, scegli AWS eventi. Quindi, per Eventi di esempio, scegli GuardDuty Ricerca.

    3. Opzione 1: utilizzo di pattern form, un modello che EventBridge fornisce

      Nella sezione Event pattern, puoi fare quanto segue:

      1. Per il metodo di creazione, seleziona Usa il modulo del modello.

      2. In Event source (Origine eventi), selezionare Servizi AWS.

      3. Per Servizio AWS, scegliere GuardDuty.

      4. Per Tipo di evento, scegli GuardDuty Ricerca.

      Al termine, selezionare Next (Avanti).

    4. Opzione 2: utilizzo di un modello di evento personalizzato in JSON

      Nella sezione Event pattern, puoi fare quanto segue:

      1. Per il metodo di creazione, seleziona Modello personalizzato (editor JSON).

      2. Per Event pattern, incolla il seguente JSON personalizzato che creerà un avviso per risultati medi, alti e critici. Per ulteriori informazioni, consulta Livelli di gravità dei risultati.

        { "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 ] } }

      Al termine, selezionare Next (Avanti).

  6. Opzione A - Selezione Servizio AWS - AWS Lambda come obiettivo

    Nella pagina Seleziona bersagli, procedi come segue:

    1. Per i tipi di destinazione, selezionare Servizio AWS.

    2. Per Select a target (Seleziona destinazione), scegli Lambda function (Funzione Lambda). Quindi, per Funzione, scegli la funzione Lambda a cui vuoi inviare gli eventi di ricerca.

    3. Per Configure version/alias, inserisci le impostazioni della versione o dell'alias per la funzione Lambda di destinazione.

    4. (Facoltativo) Per le impostazioni aggiuntive, inserisci le impostazioni personalizzate per specificare quali dati dell'evento desideri inviare alla funzione Lambda. Puoi anche specificare come gestire gli eventi che non vengono recapitati correttamente alla funzione.

    5. Al termine, selezionare Next (Avanti).

  7. Opzione B: selezione dell'argomento SNS come destinazione

    Nella pagina Seleziona destinatari, procedi come segue:

    1. Per i tipi di destinazione, selezionare Servizio AWS.

    2. Per Seleziona una destinazione, scegli Argomento SNS. Quindi, per Località di destinazione, seleziona l'opzione adatta in base alla posizione di destinazione. Per Argomento, scegli il nome dell'argomento SNS che hai creato.

    3. Espandere Additional settings (Impostazioni aggiuntive). Per Configura l'input di destinazione, scegli Trasformatore di ingresso.

    4. Seleziona Configura il trasformatore di input.

    5. Copia il codice seguente e incollalo nel campo Input Path nella sezione Target input transformer.

      { "severity": "$.detail.severity", "Account_ID": "$.detail.accountId", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_Description": "$.detail.description" }
    6. Copia il codice seguente e incollalo nel campo Modello per formattare l'email.

      {"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>"}
      Importante

      Fornisci il modello come oggetto JSON a riga singola con il messaggio racchiuso in una chiave comemessage, come mostrato nell'esempio precedente, e usalo \n per aggiungere interruzioni di riga. GuardDuty trovare campi che description possono contenere caratteri di controllo senza escape, comprese le nuove righe. Se fornisci il modello come stringa tra virgolette semplici o inserisci tale campo in un modello a più righe (uno che utilizza stringhe separate tra virgolette su righe separate), il valore sostituito può produrre un JSON non valido, con conseguente EventBridge rifiuto dell'evento e mancato recapito della notifica.

  8. Nella pagina Configura i tag, è possibile inserire uno o più tag da assegnare alla regola. Quindi scegli Successivo.

  9. Nella pagina Rivedi e crea, rivedi le impostazioni della regola e verifica che siano corrette.

    Per modificare un'impostazione, scegli Modifica nella sezione che contiene l'impostazione, quindi inserisci l'impostazione corretta. Puoi anche utilizzare le schede di navigazione per accedere alla pagina che contiene un'impostazione.

  10. Al termine della verifica delle impostazioni, scegli Crea regola.

API

La procedura seguente mostra come utilizzare AWS CLI i comandi per creare una EventBridge regola e un obiettivo per GuardDuty. In particolare, la procedura mostra come creare una regola che EventBridge consenta di inviare eventi per tutti i risultati GuardDuty generati a una AWS Lambda funzione come destinazione per la regola.

Nota

In questo esempio, stiamo utilizzando una funzione Lambda come destinazione per la regola che si attiva EventBridge. Puoi anche configurare altre AWS risorse come obiettivi da attivare. EventBridge GuardDuty e EventBridge supporta i seguenti tipi di destinazione: istanze Amazon EC2, stream Amazon Kinesis, attività Amazon ECS, macchine a AWS Step Functions stati, run comando e destinazioni integrate. Per ulteriori informazioni, consulta Amazon API Reference PutTargets. EventBridge

Per creare una regola e un target
  1. Per creare una regola che EventBridge consenta di inviare eventi per tutti i risultati GuardDuty generati, esegui il seguente comando EventBridge CLI.

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

    È possibile personalizzare ulteriormente la regola in modo che indichi di EventBridge inviare eventi solo per un sottoinsieme dei risultati. GuardDuty-generated Questo sottoinsieme è basato sull'attributo o sugli attributi di risultato specificati nella regola. Ad esempio, utilizzate il seguente comando CLI per creare una regola che EventBridge consenta di inviare solo eventi relativi ai GuardDuty risultati con una gravità di 5 o 8:

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

    A tale scopo, puoi utilizzare uno qualsiasi dei valori delle proprietà disponibili nel JSON per GuardDuty i risultati.

  2. Per allegare una funzione Lambda come destinazione per la regola creata nel passaggio 1, esegui il seguente comando CloudWatch CLI.

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

    Assicurati di sostituire il your-target-name comando precedente con la tua effettiva funzione Lambda per gli eventi. GuardDuty

  3. Per aggiungere le autorizzazioni necessarie per richiamare la destinazione, esegui il comando CLI di Lambda seguente.

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

    Assicurati di sostituire your_function il comando precedente con la tua effettiva funzione Lambda per gli GuardDuty eventi.

EventBridge regola per ambienti con GuardDuty più account

Quando si utilizza un account GuardDuty amministratore delegato, è possibile visualizzare gli eventi generati negli account dei membri e intervenire utilizzando altre applicazioni e servizi. EventBridge le regole del tuo account amministratore verranno attivate in base ai risultati applicabili dei tuoi account membri. Se imposti le notifiche di ricerca tramite EventBridge il tuo account amministratore, riceverai notifiche dei risultati sia dal tuo account che dagli account dei membri. Ad esempio, puoi utilizzare per inviare tipi specifici di risultati EventBridge a una funzione Lambda che elabora e invia i dati al tuo sistema di gestione degli incidenti e degli eventi di sicurezza (SIEM).

Puoi identificare l'account membro da cui ha avuto origine la GuardDuty scoperta utilizzando il accountId campo dei dettagli JSON del risultato. Per creare una regola di evento personalizzata per account membri specifici, crea una nuova regola e utilizza il seguente modello in Event pattern. Sostituisci 123456789012 con quello accountId dell'account membro per il quale desideri attivare l'evento.

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

Questo esempio crea una regola che corrisponde a tutti i risultati dell'ID account specificato. È possibile includere più ID account separandoli con virgole, seguendo la sintassi JSON.