Raccogliere i log di AWS Aurora
Questo documento spiega come importare i log di AWS Aurora in Google Security Operations. AWS Aurora è un servizio di database relazionale gestito che offre prestazioni, scalabilità e disponibilità elevate. In questa integrazione, configurerai AWS Aurora in modo da inoltrare i log a Google SecOps per analisi, monitoraggio e rilevamento delle minacce.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi ad AWS.
- Assicurati che il cluster di database AWS Aurora sia configurato ed eseguito.
Configura il bucket Amazon S3
- Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creare un bucket
- Salva Nome e Regione del bucket per utilizzarli in un secondo momento.
- Crea un utente seguendo questa guida dell'utente: Creare 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 utilizzarle in un secondo momento.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Norme relative alle autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Collega direttamente i criteri.
- Cerca e seleziona i criteri AmazonS3FullAccess e CloudWatchLogsFullAccess.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configurare il monitoraggio avanzato
- Accedi alla AWS Management Console.
- Nella barra di ricerca, digita RDS e seleziona RDS dall'elenco dei servizi.
- Nella dashboard RDS, seleziona Database dal riquadro di navigazione.
- Seleziona il cluster Aurora che vuoi monitorare.
- Nella sezione Log e monitoraggio, fai clic su Modifica.
- Vai alla sezione Monitoraggio e attiva Monitoraggio avanzato.
- Imposta il ruolo di monitoraggio sul ruolo IAM appropriato che dispone delle autorizzazioni per la pubblicazione in CloudWatch Logs o S3.
- Salva le modifiche e applicale al cluster Aurora.
Configura gli audit log di AWS Aurora
- Nella dashboard RDS, seleziona Database e fai clic sul tuo cluster Aurora.
- Nella sezione Log e monitoraggio, fai clic su Modifica.
- Nella sezione Opzioni database, assicurati che l'opzione Abilita i log di controllo sia selezionata.
- In Destinazione, scegli S3 e specifica il bucket S3 in cui verranno archiviati i log.
- Fai clic su Salva modifiche per applicare le impostazioni.
(Facoltativo) Configurazione dei log di AWS Aurora utilizzando CloudWatch
Per ulteriori funzionalità di monitoraggio, puoi configurare CloudWatch Logs per acquisire i log di Aurora.
- Nella dashboard RDS, seleziona il tuo cluster Aurora.
- Nella sezione Log e monitoraggio, assicurati che l'integrazione di Log di CloudWatch sia abilitata.
- Vai a Log di CloudWatch e crea un nuovo gruppo di log per archiviare i log di Aurora.
- Nella schermata Gruppi di log, scegli il nome del nuovo gruppo di log.
- Seleziona Azioni > Esporta dati in Amazon S3.
Nella schermata Esporta dati in Amazon S3, in Definire l'esportazione dei dati, imposta l'intervallo di tempo per i dati da esportare utilizzando Da e A.
Scegli il bucket S3, seleziona l'account associato al bucket Amazon S3.
Nome del bucket S3, seleziona un bucket Amazon S3.
Prefisso del bucket S3, inserisci la stringa generata in modo casuale specificata nel criterio del bucket.
Scegli Esporta per esportare i dati dei log in Amazon S3.
Per visualizzare lo stato dei dati dei log esportati in Amazon S3, seleziona Azioni > Visualizza tutte le esportazioni in Amazon S3.
Configura un feed in Google SecOps per importare i log di AWS Aurora
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log AWS Aurora).
- Seleziona Amazon S3 come Tipo di origine.
- Seleziona AWS Aurora come Tipo di log.
- Fai clic su Avanti.
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.
- Sostituisci
- 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.
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
account |
principal.group.product_object_id |
Mappato direttamente dal campo account nel log non elaborato. |
column1 |
timestamp_epoch |
Mappato direttamente dal campo column1 nel log non elaborato. Utilizzato per ricavare metadata.event_timestamp . |
column10 |
Variabile | Può essere principal.process.command_line , object o number a seconda del formato del log. |
column11 |
ddl , response o command_line2 |
Può essere principal.resource.resource_subtype (ddl), security_result.outcomes.value (response) o parte di principal.process.command_line (command_line2) a seconda del formato del log. |
column12 |
operation , response o command_line3 |
Può essere sr.summary (operazione), security_result.outcomes.value (risposta) o parte di principal.process.command_line (command_line3) a seconda del formato del log. |
column13 |
database o response |
Può essere target.resource.name (database) o security_result.outcomes.value (risposta) a seconda del formato del log. |
column14 |
object |
Mappato direttamente a principal.resource.product_object_id o target_data.resource.name a seconda del formato del log. |
column15 |
command_line |
Mappato direttamente a principal.process.command_line . |
column16 |
response |
Mappato direttamente a security_result.outcomes.value . |
column2 |
timestamp o timestamp_ms |
Mappato direttamente dal campo column2 nel log non elaborato. |
column3 |
ip o hostname |
Può essere principal.ip o principal.resource.name a seconda del formato del log. |
column4 |
port o userid |
Può essere principal.port o principal.user.userid a seconda del formato del log. |
column5 |
userid o ip |
Può essere principal.user.userid o principal.ip a seconda del formato del log. |
column6 |
hostname o connection_id |
Può essere principal.resource.name o network.session_id a seconda del formato del log. |
column7 |
connection_id o query_id |
Può essere network.session_id o principal.process.pid a seconda del formato del log. |
column8 |
operation |
Mappati direttamente a sr.summary o metadata.product_event_type . |
column9 |
query_id o database |
Può essere principal.process.pid o target_data.resource.name a seconda del formato del log. |
command_line |
principal.process.command_line |
Mappato direttamente dal campo command_line estratto. |
connection_id |
network.session_id |
Mappato direttamente dal campo connection_id estratto. |
database |
target.resource.name |
Mappato direttamente dal campo database estratto. Dedotto da diversi campi come operation , command_line , has_principal_user e has_principal_machine tramite la logica condizionale nell'analizzatore sintattico. Può essere RESOURCE_DELETION , RESOURCE_CREATION , RESOURCE_READ , RESOURCE_WRITTEN , USER_RESOURCE_ACCESS , USER_UNCATEGORIZED o GENERIC_EVENT . Hardcoded su "AWS_AURORA". Mappato da column8 o dedotto dalla logica dell'analizzatore sintattico. Hardcoded su "AURORA". Hardcoded su "AMAZON". |
has_principal_machine |
has_principal_machine |
Impostato su "true" se è presente principal.ip , altrimenti inizializzato su "false". |
has_principal_user |
has_principal_user |
Impostato su "true" se è presente principal.user.userid , altrimenti inizializzato su "false". |
hostname |
principal.resource.name |
Mappato direttamente dal campo hostname estratto. |
ip |
principal.ip |
Mappato direttamente dal campo ip estratto. |
logevent.id |
security_result.detection_fields.value |
Nidificati in target.logEvents.logEvents , mappati con la chiave "id". |
logevent.message |
security_result.detection_fields.value |
Nidificato in target.logEvents.logEvents , mappato con la chiave "message". Utilizzato per estrarre principal.ip , time_unix , operation e user . |
logevent.timestamp |
security_result.detection_fields.value |
Nidificato in target.logEvents.logEvents , mappato con la chiave "timestamp". |
object |
target_data.resource.name o principal.resource.product_object_id |
Mappato direttamente dal campo object estratto. |
operation |
sr.summary |
Mappato direttamente dal campo operation estratto. |
port |
principal.port |
Mappato direttamente dal campo port estratto. |
query_id |
principal.process.pid |
Mappato direttamente dal campo query_id estratto. |
response |
security_result.outcomes.value |
Mappato direttamente dal campo response estratto. |
service |
principal.application |
Mappato direttamente dal campo service nel log non elaborato. |
src_ip |
principal.ip |
Estratto da logevent.message all'interno della struttura nidificata target.logEvents.logEvents . |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
Mappato con la chiave "logGroup". |
target.logEvents.logStream |
target.resource.attribute.labels.value |
Mappato con la chiave "logStream". |
target.logEvents.messageType |
target.resource.attribute.labels.value |
Mappato con la chiave "messageType". |
target.logEvents.owner |
target.resource.attribute.labels.value |
Mappato con la chiave "owner". |
timestamp_epoch |
metadata.event_timestamp |
Convertito in metadata.event_timestamp utilizzando il filtro date . |
user |
principal.user.userid |
Estratto da logevent.message all'interno della struttura nidificata target.logEvents.logEvents . |
userid |
principal.user.userid |
Mappato direttamente dal campo userid estratto. |
Modifiche
2024-01-12
- Sono stati mappati "logEvents.messageType", "logEvents.owner", "logEvents.logGroup", "logEvents.logStream" a "target.resource.attribute.labels".
- Sono stati mappati "logEvents.logEvents.message", "logEvents.logEvents.timestamp", "logEvents.logEvents.id" a "securit_result.detection_fields".
- È stato aggiunto un pattern Grok per recuperare l'indirizzo IP da "logEvents.logEvents.message" e mappare "src_data" a "principal.ip".
- "user" è stato mappato a "principal.user.userid".
2023-11-02
- Parser appena creato.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.