Raccogliere i log AWS CloudTrail

Supportato in:

Questo documento descrive come raccogliere i log di AWS CloudTrail configurando un feed di Google Security Operations e come i campi dei log vengono mappati ai campi Unified Data Model (UDM) di Google SecOps.

Per maggiori informazioni, vedi [Inserimento dei dati in Google SecOps][1].

Un deployment tipico è costituito da AWS CloudTrail e dal feed Google SecOps configurato per inviare i log a Google SecOps. Il tuo deployment potrebbe essere diverso da quello tipico descritto in questo documento. Il deployment contiene i seguenti componenti:

  • AWS CloudTrail: la piattaforma che raccoglie i log.

  • AWS S3: la piattaforma che archivia i log.

  • Feed Google SecOps: il feed Google SecOps che recupera i log da AWS S3 e li scrive in Google SecOps.

  • Google SecOps: la piattaforma che conserva e analizza i log di AWS CloudTrail.

Un'etichetta di importazione identifica il parser che normalizza i dati di log non elaborati nel formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione AWS_CLOUDTRAIL.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Account AWS
  • i prerequisiti per l'utilizzo di AWS CloudTrail siano soddisfatti. Per saperne di più, vedi Configurazione di AWS CloudTrail.
  • Tutti i sistemi nell'architettura di deployment utilizzano il fuso orario UTC

Passaggi di base per l'importazione dei log da S3 con SQS

Questa sezione descrive i passaggi di base per importare i log AWS CloudTrail nella tua istanza Google SecOps. I passaggi descrivono come eseguire questa operazione utilizzando Amazon S3 con Amazon SQS come tipo di origine del feed.

Configura AWS CloudTrail e S3

In questa procedura, configuri i log AWS CloudTrail in modo che vengano scritti in un bucket S3.

  1. Nella console AWS, cerca CloudTrail.
  2. Fai clic su Crea percorso.
  3. Fornisci un nome della traccia.
  4. Seleziona Crea nuovo bucket S3. Puoi anche scegliere di utilizzare un bucket S3 esistente.
  5. Fornisci un nome per l'alias AWS KMS o scegli una chiave AWS KMS esistente.
  6. Puoi lasciare invariate le altre impostazioni predefinite e fare clic su Avanti.
  7. Scegli Tipo di evento, aggiungi Eventi di dati come richiesto e fai clic su Avanti.
  8. Rivedi le impostazioni in Rivedi e crea e fai clic su Crea trail.
  9. Nella console AWS, cerca Bucket Amazon S3.
  10. Fai clic sul bucket di log appena creato e seleziona la cartella AWSLogs. Poi fai clic su Copia URI S3 e salvalo per utilizzarlo nei passaggi successivi.

Configurare una coda SQS standard e SNS

Se utilizzi una coda SQS, deve essere una coda standard, non una coda FIFO.

  1. Abilita AWS CloudTrail e configuralo in modo che invii i log a un bucket S3 utilizzando un trail nuovo o esistente.
  2. Apri la console AWS SNS e crea un nuovo argomento Standard. Assegnale un nome, ad esempio CloudTrail-Notification-Topic.
  3. Crea una coda SQS utilizzando la console AWS SQS, ad esempio: CloudTrail-Notification-Queue e aggiorna la relativa policy di accesso per consentire all'ARN dell'argomento SNS di inviare messaggi. Per informazioni dettagliate sulla creazione di code SQS, consulta la guida introduttiva ad Amazon SQS.

    Esempio di snippet di policy SQS:

    {
       "Version": "2012-10-17",
       "Id": `PolicyForSNS`,
       "Statement": [
          {
             "Sid": "AllowSNS",
             "Effect": "Allow",
             "Principal": { "Service": "sns.amazonaws.com" },
             "Action": "SQS:SendMessage",
             "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue",
             "Condition": {
             "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"}
             }
          }
       ]
    }
    
  4. Vai a Argomento SNSAbbonamentiCrea abbonamento, imposta Protocollo su SQS ed Endpoint sull'ARN della coda SQS.

  5. CloudTrail non esegue il push nativo dei nuovi log in SNS. Per attivare le notifiche, puoi utilizzare un selettore di eventi CloudTrail per gli eventi di gestione oppure l'integrazione di CloudTrail con CloudWatch Logs e poi creare una regola di eventi CloudWatch che attivi le notifiche impostando un argomento SNS come destinazione. Per maggiori dettagli, vedi Configurare le notifiche nel bucket S3.

    Esempio di pattern evento:

    {
       "source": ["aws.s3"],
       "detail-type": ["AWS API Call via CloudTrail"],
       "detail": {
          "eventName": ["PutObject"],
          "requestParameters": {
             "bucketName": [`CloudTrail-Notification-Topic`]
          }
       }
    }
    
  6. Assicurati che i ruoli o le policy IAM consentano a CloudWatch Events di pubblicare su SNS e che SNS possa inviare messaggi a SQS.

Configura l'utente IAM AWS

Configura un utente IAM AWS che Google SecOps utilizzerà per accedere sia alla coda SQS (se utilizzata) sia al bucket S3.

  1. Nella console AWS, cerca IAM.
  2. Fai clic su Utenti e poi, nella schermata successiva, su Crea utenti.
  3. Fornisci un nome per l'utente, ad esempio chronicle-feed-user, e seleziona Fornisci all'utente l'accesso alla Console di gestione AWS.
  4. Seleziona Collega direttamente le norme esistenti e seleziona AmazonS3ReadOnlyAccess o AmazonS3FullAccess, a seconda delle esigenze. AmazonS3FullAccess viene utilizzato se Google SecOps deve cancellare i bucket S3 dopo aver letto i log, per ottimizzare i costi di archiviazione di AWS S3.
  5. Come alternativa consigliata al passaggio precedente, puoi limitare ulteriormente l'accesso solo al bucket S3 specificato creando un criterio personalizzato. Fai clic su Crea policy e segui la documentazione di AWS per creare una policy personalizzata.
  6. Quando applichi un criterio, assicurati di aver incluso sqs:DeleteMessage. Google SecOps non è in grado di eliminare i messaggi se l'autorizzazione sqs:DeleteMessage non è collegata alla coda SQS. Tutti i messaggi vengono accumulati sul lato AWS, il che causa un ritardo poiché Google SecOps tenta ripetutamente di trasferire gli stessi file.
  7. Fai clic su Avanti:tag.
  8. Aggiungi eventuali tag, se necessario, e fai clic su Avanti:rivedi.
  9. Rivedi la configurazione e fai clic su Crea utente.
  10. Una volta creato l'utente, vai alla scheda Credenziali di sicurezza e fai clic su Crea chiave di accesso.
  11. Scegli CLI e fai clic su Avanti:tag.
  12. Aggiungi eventuali tag, se necessario, poi fai clic su Crea chiave di accesso: rivedi.
  13. Copia l'ID chiave di accesso e la chiave di accesso segreta dell'utente creato, da utilizzare nel passaggio successivo.

Configurazione delle autorizzazioni della chiave KMS

Per decriptare i log di CloudTrail, che vengono criptati lato server, è necessaria una chiave KMS. AWS KMS offre crittografia e sicurezza avanzate per i dati sensibili archiviati in Amazon S3.

  1. Nella console AWS, cerca Key Management Service (KMS).
  2. Fai clic su Crea chiave:Avanti.
  3. Aggiungi un alias per la chiave. Se vuoi, aggiungi una Descrizione e dei Tag, se necessario. Fai clic su Successivo: esamina.
  4. Dopo aver esaminato la configurazione, fai clic su Avanti.
  5. Seleziona gli utenti chiave che devono avere accesso a questa chiave, quindi fai clic su Fine.

Configurare i feed

Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:

  • Impostazioni SIEM > Feed > Aggiungi nuovo
  • Hub dei contenuti > Pacchetti di contenuti > Inizia

Come configurare il feed AWS CloudTrail

  1. Fai clic sul pacchetto Amazon Cloud Platform.
  2. Nel tipo di log AWS CloudTrail, specifica i seguenti valori:
  3. Specifica i valori per i 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.
    • 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.
  4. 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.

Tipi di log AWS CloudTrail supportati

Il parser AWS CloudTrail supporta i seguenti servizi:

  • apigateway.amazonaws.com
  • appconfig.amazonaws.com
  • autoscaling.amazonaws.com
  • cloud9.amazonaws.com
  • cloudsearch.amazonaws.com
  • cloudshell.amazonaws.com
  • cloudtrail.amazonaws.com
  • config.amazonaws.com
  • devicefarm.amazonaws.com
  • ds.amazonaws.com
  • dynamodb.amazonaws.com
  • ec2-instance-connect.amazonaws.com
  • ec2.amazonaws.com
  • ecr-public.amazonaws.com
  • ecr.amazonaws.com
  • ecs.amazonaws.com
  • eks.amazonaws.com
  • elasticache.amazonaws.com
  • elasticloadbalancing.amazonaws.com
  • firehose.amazonaws.com
  • guardduty.amazonaws.com
  • health.amazonaws.com
  • iam.amazonaws.com
  • imagebuilder.amazonaws.com
  • kinesis.amazonaws.com
  • kinesisanalytics.amazonaws.com
  • kinesisvideo.amazonaws.com
  • kms.amazonaws.com
  • lambda.amazonaws.com
  • logs.amazonaws.com
  • macie2.amazonaws.com
  • monitoring.amazonaws.com
  • network-firewall.amazonaws.com
  • organizations.amazonaws.com
  • quicksight.amazonaws.com
  • ram.amazonaws.com
  • rds.amazonaws.com
  • resource-explorer-2.amazonaws.com
  • resource-groups.amazonaws.com
  • route53-recovery-readiness.amazonaws.com
  • route53.amazonaws.com
  • route53domains.amazonaws.com
  • route53resolver.amazonaws.com
  • s3-outposts.amazonaws.com
  • s3.amazonaws.com
  • s3express.amazonaws.com
  • secretsmanager.amazonaws.com
  • securityhub.amazonaws.com
  • ses.amazonaws.com
  • signin.amazonaws.com
  • ssm.amazonaws.com
  • sts.amazonaws.com
  • waf-regional.amazonaws.com
  • waf.amazonaws.com
  • wafv2.amazonaws.com

Per ulteriori informazioni sulla mappatura dei campi e sulla mappatura UDM, consulta Mappatura dei campi AWS CloudTrail.

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