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 Norme relative alle autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Allega direttamente le norme.
- 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 della traccia: fornisci un nome significativo per la traccia (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 relative a
CloudTrailS3DeliveryPolicy
. - Fai clic su Allega policy.
- Vai alla console CloudTrail di AWS.
- Nella sezione Località di archiviazione, seleziona S3 come destinazione dei 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 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
- Hub dei contenuti > Pacchetti di contenuti
Configurare i feed da Impostazioni SIEM > Feed
Per configurare più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Per configurare un singolo feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio AWS Control Tower Logs).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona AWS Control Tower come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- Region (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 tuo bucket S3.
- Sostituisci
- L'URI è un: seleziona Directory o Directory che include sottodirectory, a seconda della struttura del bucket.
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
ID chiave di accesso: la chiave di accesso dell'utente con autorizzazioni di lettura dal bucket S3.
Chiave di accesso segreta: la chiave segreta dell'utente con le autorizzazioni per leggere dal bucket S3.
Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- Region (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 tuo bucket S3.
- Sostituisci
- L'URI è un: seleziona Directory o Directory che include sottodirectory, a seconda della struttura del bucket.
- Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
ID chiave di accesso: la chiave di accesso dell'utente con autorizzazioni di lettura dal bucket S3.
Chiave di accesso segreta: la chiave segreta dell'utente con le autorizzazioni per leggere dal bucket S3.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
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 | 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 | 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.