Raccogliere i log di AWS Control Tower
Questo documento spiega come importare i log di AWS Control Tower in Google Security Operations. AWS Control Tower consente il monitoraggio di governance, conformità e sicurezza in più account AWS. Questa integrazione ti consente di analizzare i log di AWS Control Tower per una migliore visibilità e postura di sicurezza.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- Accesso privilegiato ad AWS
Configura il bucket Amazon S3
- Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket
- Salva il nome e la regione del bucket per utilizzarli in un secondo momento.
- Crea un utente seguendo questa guida: Creazione di un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Credenziali di sicurezza.
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per un utilizzo successivo.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Allega direttamente i criteri.
- Cerca e seleziona i criteri AmazonS3FullAccess e CloudWatchLogsFullAccess.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configurare CloudTrail in AWS Control Tower
- Accedi alla console di gestione AWS.
- Vai a AWS Control Tower.
- Nella barra di ricerca, digita CloudTrail e selezionalo dall'elenco dei servizi.
Fai clic su Crea percorso per creare un nuovo percorso.
Specifica le impostazioni del percorso:
- Nome trail: fornisci un nome significativo per il trail (ad esempio, ControlTowerTrail).
- Applica il trail a tutte le regioni: assicurati di selezionare Sì per Applica il trail 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 l'attività dettagliata dei dati.
- (Facoltativo) Convalida del file di log: abilita questa opzione per assicurarti che i file di log non vengano manomessi una volta archiviati.
Nel selettore Evento, scegli di registrare Eventi di gestione ed Eventi di dati.
Come configurare CloudTrail
- Vai alla console AWS IAM.
- Fai clic su Ruoli.
- Cerca il ruolo utilizzato da CloudTrail
AWSServiceRoleForCloudTrail
(il ruolo viene creato automaticamente quando configuri CloudTrail). - Nella scheda Autorizzazioni per il ruolo, fai clic su Collega criteri.
- Cerca
CloudTrailS3DeliveryPolicy
. - Seleziona la casella di controllo accanto alle norme
CloudTrailS3DeliveryPolicy
. - Fai clic su Allega policy.
- Vai alla console CloudTrail di AWS.
- Nella sezione Località di archiviazione, seleziona S3 come destinazione per i file di log.
- Seleziona il bucket S3 che hai creato in precedenza.
- Fai clic su Consenti quando ti viene chiesto di concedere a CloudTrail l'autorizzazione a scrivere i log nel bucket che hai scelto.
- Rivedi le impostazioni e fai clic su Crea (o Salva modifiche se stai modificando un percorso esistente).
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed AWS Control Tower
- Fai clic sul pacchetto Amazon Cloud Platform.
- Individua il tipo di log AWS Control Tower.
Specifica i valori nei seguenti campi.
- Tipo di origine: Amazon SQS V2
- Nome coda: il nome della coda SQS da cui leggere
- URI S3: l'URI del bucket.
s3://your-log-bucket-name/
- Sostituisci
your-log-bucket-name
con il nome effettivo del bucket S3.
- Sostituisci
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
Età massima del file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
ID chiave di accesso alla coda SQS: una chiave di accesso all'account che è una stringa alfanumerica di 20 caratteri.
Chiave di accesso segreta della coda SQS: una chiave di accesso all'account che è una stringa alfanumerica di 40 caratteri.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
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 riepilogo. 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 | L'origine 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 | Il messaggio di errore, se presente, 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 | L'origine 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 del soggetto. Utilizzato come nome host se non è un IP valido. |
Records.sourceIPAddress | principal.ip | L'indirizzo IP del soggetto. |
Records.tlsDetails.cipherSuite | network.tls.cipher | La suite di crittografia utilizzata per la connessione TLS. |
Records.tlsDetails.tlsVersion | network.tls.version | La versione di 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 utilizzato 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 ID utente 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 | Se l'autenticazione a più fattori è stata utilizzata per la richiesta. |
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à utilizzato per la richiesta. |
Records.userIdentity.userName | target.user.userid | Il nome utente dell'utente. |
- | extensions.auth.mechanism | Imposta su "REMOTE". |
- | metadata.event_type | Imposta "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN" o "GENERIC_EVENT" in base a eventName. |
- | metadata.log_type | Imposta il valore su "AWS_CONTROL_TOWER". |
- | metadata.product_name | Imposta "AWS Control Tower". |
- | metadata.vendor_name | Imposta su "AWS". |
- | principal.asset.attribute.cloud.environment | Imposta il valore su "AMAZON_WEB_SERVICES". |
- | security_result.action | Imposta "ALLOW" (CONSENTI) o "BLOCK" (BLOCCA) in base a errorCode. |
- | security_result.severity | Imposta il valore su "INFORMATIONAL". |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.