Raccogliere i log di AWS Aurora

Supportato in:

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

  1. Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creare un bucket
  2. Salva Nome e Regione 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.

Configurare il monitoraggio avanzato

  1. Accedi alla AWS Management Console.
  2. Nella barra di ricerca, digita RDS e seleziona RDS dall'elenco dei servizi.
  3. Nella dashboard RDS, seleziona Database dal riquadro di navigazione.
  4. Seleziona il cluster Aurora che vuoi monitorare.
  5. Nella sezione Log e monitoraggio, fai clic su Modifica.
  6. Vai alla sezione Monitoraggio e attiva Monitoraggio avanzato.
  7. Imposta il ruolo di monitoraggio sul ruolo IAM appropriato che dispone delle autorizzazioni per la pubblicazione in CloudWatch Logs o S3.
  8. Salva le modifiche e applicale al cluster Aurora.

Configura gli audit log di AWS Aurora

  1. Nella dashboard RDS, seleziona Database e fai clic sul tuo cluster Aurora.
  2. Nella sezione Log e monitoraggio, fai clic su Modifica.
  3. Nella sezione Opzioni database, assicurati che l'opzione Abilita i log di controllo sia selezionata.
  4. In Destinazione, scegli S3 e specifica il bucket S3 in cui verranno archiviati i log.
  5. 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.

  1. Nella dashboard RDS, seleziona il tuo cluster Aurora.
  2. Nella sezione Log e monitoraggio, assicurati che l'integrazione di Log di CloudWatch sia abilitata.
  3. Vai a Log di CloudWatch e crea un nuovo gruppo di log per archiviare i log di Aurora.
  4. Nella schermata Gruppi di log, scegli il nome del nuovo gruppo di log.
  5. Seleziona Azioni > Esporta dati in Amazon S3.
  6. 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.

  7. Scegli il bucket S3, seleziona l'account associato al bucket Amazon S3.

  8. Nome del bucket S3, seleziona un bucket Amazon S3.

  9. Prefisso del bucket S3, inserisci la stringa generata in modo casuale specificata nel criterio del bucket.

  10. Scegli Esporta per esportare i dati dei log in Amazon S3.

  11. 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

  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 AWS Aurora).
  4. Seleziona Amazon S3 come Tipo di origine.
  5. Seleziona AWS Aurora 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
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.