Raccogliere i log di Amazon CloudFront

Supportato in:

Questo documento descrive come raccogliere i log di Amazon CloudFront configurando un feed di Google Security Operations.

Per saperne di più, consulta Panoramica sull'importazione dei dati in Google Security Operations.

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

Prima di iniziare

Assicurati che il bucket Amazon S3 sia stato creato. Per saperne di più, consulta Creare il primo bucket S3.

Configura Amazon CloudFront

  1. Accedi alla console AWS Management.
  2. Accedi alla console Amazon S3 e crea il bucket Amazon S3.
  3. Fai clic su On per attivare la registrazione.
  4. Nel campo Bucket per i log, specifica il nome del bucket Amazon S3.
  5. Nel campo Prefisso log, specifica un prefisso facoltativo.
  6. Dopo aver archiviato i file di log nel bucket Amazon S3, crea una coda SQS e collegala al bucket Amazon S3.

Identificare gli endpoint per la connettività

Controlla i criteri utente di Identity and Access Management e della chiave KMS richiesti per S3, SQS e KMS.

In base al servizio e alla regione, identifica gli endpoint per la connettività facendo riferimento alla seguente documentazione di AWS:

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 CloudFront

  1. Fai clic sul pacchetto Amazon Cloud Platform.
  2. Individua il tipo di log AWS CloudFront.
  3. 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 tuo 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.

Riferimento alla mappatura dei campi

Questo parser estrae i campi dai log di AWS CloudFront in formato SYSLOG o JSON, normalizzandoli in UDM. Utilizza pattern grok per analizzare le stringhe di messaggi, gestisce varie trasformazioni dei dati (ad es. conversioni di tipo, ridenominazione) e arricchisce i dati con un contesto aggiuntivo, come l'analisi dello user agent e l'identificazione del protocollo dell'applicazione.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
c-ip principal.ip Mappato direttamente. Mappato anche a principal.asset.ip.
c-port principal.port Mappato direttamente.
cs(Cookie) additional.fields[].key: "cookie"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se cs(Cookie) è presente e agent non contiene "://".
cs(Host) principal.hostname Mappato direttamente. Mappato anche a principal.asset.hostname. Utilizzato per creare target.url se non sono disponibili altri campi URL.
cs(Referer) network.http.referral_url Mappato direttamente.
cs(User-Agent) network.http.user_agent Mappato direttamente. Mappato anche a network.http.parsed_user_agent e analizzato nei suoi componenti se non contiene "://".
cs-bytes network.sent_bytes Mappato direttamente. Convertito in numero intero senza segno.
cs-method network.http.method Mappato direttamente.
cs-protocol network.application_protocol Mappato dopo la conversione in maiuscolo. Se il valore non viene riconosciuto come protocollo applicativo standard e cs-protocol-version contiene "HTTP", network.application_protocol viene impostato su "HTTP".
dport target.port Mappato direttamente. Convertito in numero intero.
edge_location principal.location.name Mappato direttamente.
fle-encrypted-fields additional.fields[].key: "fle-encrypted-fields"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
fle-status additional.fields[].key: "fle-status"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
host principal.hostname, principal.asset.hostname Mappato direttamente.
id principal.asset_id Mappato direttamente con il prefisso "id: ".
ip target.ip, target.asset.ip Mappato direttamente.
log_id metadata.product_log_id Mappato direttamente.
resource additional.fields[].key: "resource"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
result_type additional.fields[].key: "result_type"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
sc-bytes network.received_bytes Mappato direttamente. Convertito in numero intero senza segno.
sc-content-len additional.fields[].key: "sc-content-len"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
sc-content-type additional.fields[].key: "sc-content-type"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
sc-status network.http.response_code Mappato direttamente. Convertito in numero intero.
ssl-cipher network.tls.cipher Mappato direttamente.
ssl-protocol network.tls.version Mappato direttamente.
timestamp metadata.event_timestamp Analizzati e mappati, se disponibili. Sono supportati diversi formati.
ts metadata.event_timestamp Analizzati e mappati, se disponibili. È previsto il formato ISO8601.
url target.url Mappato direttamente.
url_back_to_product metadata.url_back_to_product Mappato direttamente.
x-edge-detailed-result-type additional.fields[].key: "x-edge-detailed-result-type"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
x-edge-location additional.fields[].key: "x-edge-location"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
x-edge-request-id additional.fields[].key: "x-edge-request-id"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
x-edge-response-result-type additional.fields[].key: "x-edge-response-result-type"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
x-edge-result-type additional.fields[].key: "x-edge-result-type"
additional.fields[].value.string_value: mappato direttamente.
Mappato in modo condizionale se presente.
x-forwarded-for target.ip, target.asset.ip Mappato direttamente. Se sono presenti più indirizzi IP (separati da virgole), questi vengono suddivisi e uniti nei rispettivi campi UDM.
x-host-header target.hostname, target.asset.hostname Mappato direttamente. Imposta su "NETWORK_HTTP" se sono presenti ip o x-forwarded-for e http_verb. In caso contrario, imposta "GENERIC_EVENT". Codificato su "AWS_CLOUDFRONT". Codificato in modo permanente su "AWS CloudFront". Codificato in modo permanente su "AMAZON". L'ora di importazione della voce di log in Google Security Operations.

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