Raccogliere i log di AWS Control Tower

Supportato in:

Questo documento spiega come importare i log di AWS Control Tower in Google Security Operations. AWS Control Tower consente il monitoraggio della governance, della conformità e della sicurezza su più account AWS. Questa integrazione ti consente di analizzare i log di AWS Control Tower per una maggiore visibilità e una postura di sicurezza migliore.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso con privilegi ad AWS.

Configura il bucket Amazon S3

  1. Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creare un bucket
  2. Salva Name e Region del bucket per utilizzarli in un secondo momento.
  3. Crea un utente seguendo questa guida dell'utente: Creare un utente IAM.
  4. Seleziona l'utente creato.
  5. Seleziona la scheda Credenziali di sicurezza.
  6. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  7. Seleziona Servizio di terze parti come Caso d'uso.
  8. Fai clic su Avanti.
  9. (Facoltativo) Aggiungi un tag di descrizione.
  10. Fai clic su Crea chiave di accesso.
  11. Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per utilizzarle in un secondo momento.
  12. Fai clic su Fine.
  13. Seleziona la scheda Autorizzazioni.
  14. Fai clic su Aggiungi autorizzazioni nella sezione Norme relative alle autorizzazioni.
  15. Seleziona Aggiungi autorizzazioni.
  16. Seleziona Collega direttamente i criteri.
  17. Cerca e seleziona i criteri AmazonS3FullAccess e CloudWatchLogsFullAccess.
  18. Fai clic su Avanti.
  19. Fai clic su Aggiungi autorizzazioni.

Configura CloudTrail in AWS Control Tower

  1. Accedi alla AWS Management Console.
  2. Vai ad AWS Control Tower.
  3. Nella barra di ricerca, digita CloudTrail e selezionalo dall'elenco dei servizi.
  4. Fai clic su Crea percorso per creare un nuovo percorso.

  5. Specifica le impostazioni del percorso:

    • Nome del percorso: fornisci un nome significativo per il percorso (ad esempio, ControlTowerTrail).
    • Applica il tracciato a tutte le regioni: assicurati di selezionare per Applica il tracciato a tutte le regioni.
    • Eventi di gestione: assicurati che gli eventi Lettura/scrittura siano impostati su Tutti.
    • (Facoltativo) Eventi di dati: attiva gli eventi di dati S3 e gli eventi di dati Lambda per acquisire attività dettagliate dei dati.
    • (Facoltativo) Convalida dei file di log: attiva questa opzione per assicurarti che i file di log non vengano manomessi dopo essere stati archiviati.
  6. Nel selettore Evento, scegli di registrare gli eventi di gestione e gli eventi relativi ai dati.

Configura CloudTrail per inviare i log a un bucket S3

  1. Vai alla console AWS IAM.
  2. Fai clic su Ruoli.
  3. Cerca il ruolo utilizzato da CloudTrail AWSServiceRoleForCloudTrail (il ruolo viene creato automaticamente quando configuri CloudTrail).
  4. Nella scheda Autorizzazioni del ruolo, fai clic su Allega norme.
  5. Cerca CloudTrailS3DeliveryPolicy.
  6. Seleziona la casella di controllo accanto alle norme relative a CloudTrailS3DeliveryPolicy.
  7. Fai clic su Allega criterio.
  8. Vai alla console CloudTrail di AWS.
  9. Nella sezione Posizione di archiviazione, seleziona S3 come destinazione per i file di log.
  10. Seleziona il bucket S3 che hai creato in precedenza.
  11. Fai clic su Consenti quando ti viene chiesto di concedere a CloudTrail l'autorizzazione a scrivere log nel bucket scelto.
  12. Rivedi le impostazioni e fai clic su Crea (o su Salva modifiche se stai modificando un percorso esistente).

Configura un feed in Google SecOps per importare i log di AWS Control Tower

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di AWS Control Tower).
  4. Seleziona Amazon S3 come Tipo di origine.
  5. Seleziona AWS Control Tower come Tipo di log.
  6. Fai clic su Avanti.
  7. Specifica i valori per i seguenti parametri di input:

    • Regione: la regione in cui si trova il bucket Amazon S3.
    • URI S3: l'URI del bucket.
      • s3://your-log-bucket-name/
        • Sostituisci your-log-bucket-name con il nome effettivo del bucket.
    • L'URI è una: seleziona Directory o Directory che include sottodirectory.
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.

    • ID chiave di accesso: la chiave di accesso utente con accesso al bucket S3.

    • Chiave di accesso segreta: la chiave segreta dell'utente con accesso al bucket S3.

    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.

  8. Fai clic su Avanti.

  9. Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
awsAccountId target.user.group_identifiers L'ID account AWS associato all'evento.
digestPublicKeyFingerprint target.file.sha1 L'impronta della chiave pubblica utilizzata per firmare il digest.
digestPublicKeyFingerprint target.resource.attribute.labels.value L'impronta della chiave pubblica utilizzata per firmare il digest.
digestS3Bucket target.resource.name Il nome del bucket S3 in cui è archiviato il digest.
digestS3Object target.file.full_path Il percorso dell'oggetto digest nel bucket S3.
digestSignatureAlgorithm network.tls.cipher L'algoritmo utilizzato per firmare il digest.
digestSignatureAlgorithm target.resource.attribute.labels.value L'algoritmo utilizzato per firmare il digest.
digestStartTime metadata.event_timestamp L'ora di inizio del periodo del digest. Utilizzato come ora dell'evento se eventTime non è disponibile.
eventCategory security_result.category_details La categoria dell'evento.
eventID metadata.product_log_id L'ID univoco dell'evento.
eventName metadata.product_event_type Il nome dell'evento.
eventName security_result.summary Il nome dell'evento, utilizzato per generare il riepilogo dei risultati di sicurezza.
eventSource target.application La sorgente dell'evento.
eventTime metadata.event_timestamp L'ora in cui si è verificato l'evento.
eventType additional.fields.value.string_value Il tipo di evento.
logFiles.hashValue about.file.sha256 L'hash SHA-256 del file di log.
logFiles.s3Bucket about.resource.name Il nome del bucket S3 in cui è archiviato il file di log.
logFiles.s3Object about.file.full_path Il percorso dell'oggetto file di log nel bucket S3.
previousDigestHashValue target.file.sha256 L'hash SHA-256 del digest precedente.
recipientAccountId target.resource.attribute.labels.value L'ID account AWS del destinatario dell'evento.
Records.awsRegion principal.location.name La regione AWS in cui si è verificato l'evento.
Records.errorCode security_result.rule_id Il codice di errore, se presente, associato alla richiesta.
Records.errorMessage security_result.description L'eventuale messaggio di errore associato alla richiesta.
Records.eventCategory security_result.category_details La categoria dell'evento.
Records.eventID metadata.product_log_id L'ID univoco dell'evento.
Records.eventName metadata.product_event_type Il nome dell'evento.
Records.eventName security_result.summary Il nome dell'evento, utilizzato per generare il riepilogo dei risultati di sicurezza.
Records.eventSource target.application La sorgente dell'evento.
Records.eventTime metadata.event_timestamp L'ora in cui si è verificato l'evento.
Records.eventType additional.fields.value.string_value Il tipo di evento.
Records.requestID target.resource.attribute.labels.value L'ID della richiesta.
Records.requestParameters.groupName target.group.group_display_name Il nome del gruppo, se presente, associato alla richiesta.
Records.requestParameters.userName src.user.userid Il nome dell'utente, se presente, associato alla richiesta.
Records.requestParameters.userName src.user.user_display_name Il nome dell'utente, se presente, associato alla richiesta.
Records.responseElements.ConsoleLogin security_action Il risultato del tentativo di accesso alla console.
Records.responseElements.ConsoleLogin security_result.summary Il risultato del tentativo di accesso alla console, utilizzato per generare il riepilogo dei risultati di sicurezza.
Records.sourceIPAddress principal.hostname L'indirizzo IP dell'entità principale. Utilizzato come nome host se non è un indirizzo IP valido.
Records.sourceIPAddress principal.ip L'indirizzo IP dell'entità principale.
Records.tlsDetails.cipherSuite network.tls.cipher La suite di crittografia utilizzata per la connessione TLS.
Records.tlsDetails.tlsVersion network.tls.version La versione TLS utilizzata per la connessione.
Records.userAgent network.http.user_agent Lo user agent della richiesta.
Records.userIdentity.accessKeyId additional.fields.value.string_value L'ID della chiave di accesso utilizzata per la richiesta.
Records.userIdentity.accountId principal.user.group_identifiers L'ID account AWS dell'utente.
Records.userIdentity.arn principal.user.attribute.labels.value L'ARN dell'utente.
Records.userIdentity.arn target.user.userid L'ARN dell'utente. Utilizzato come userid se userName non è disponibile.
Records.userIdentity.principalId principal.user.product_object_id L'ID principale dell'utente.
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value Indica se per la richiesta è stata utilizzata l'autenticazione a due fattori.
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid Il nome utente dell'utente che ha emesso la sessione.
Records.userIdentity.type principal.resource.type Il tipo di identità utilizzata per la richiesta.
Records.userIdentity.userName target.user.userid Il nome utente dell'utente.
- extensions.auth.mechanism Impostato su "REMOTE".
- metadata.event_type Impostato su "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN" o "GENERIC_EVENT" in base a eventName.
- metadata.log_type Impostato su "AWS_CONTROL_TOWER".
- metadata.product_name Imposta su "AWS Control Tower".
- metadata.vendor_name Imposta su "AWS".
- principal.asset.attribute.cloud.environment Imposta su "AMAZON_WEB_SERVICES".
- security_result.action Impostato su "ALLOW" o "BLOCK" in base a errorCode.
- security_result.severity Impostato su "INFORMATIVA".

Modifiche

2024-03-17

  • Miglioramento:
  • "req.userIdentity.arn" e "req.userIdentity.userName" sono stati mappati a "target.user.userid".

2023-01-04

  • Miglioramento:
  • Variabili inizializzate per evitare la replica dei dati nel ciclo For.

2022-12-15

  • Miglioramento:
  • "metadata.vendor_name" è stato mappato ad "AWS".
  • "metadata.product_name" è stato mappato ad "AWS Control Tower".
  • "metadata.event_type" è stato mappato a "USER_LOGIN" quando "eventName" è "ConsoleLogin".
  • "security_result.severity" è stato mappato a "INFORMATIONAL" quando "eventName" è "ConsoleLogin".

2022-11-17

  • Miglioramento:
  • Ho mappato "req.userIdentity.userName" e "req.userIdentity.sessionContext.sessionIssuer.userName" a "target.user.id".
  • È stata mappata la stringa "ConsoleLogin:Success" a "security_result.action".
  • Informazioni sulla porta mappata da "sourceIPAddress" a "principal.port".

2022-10-31

  • Parser appena creato.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.