Raccogliere i log di Amazon CloudFront
Questo documento descrive come raccogliere i log di Amazon CloudFront impostando un feed di Google Security Operations.
Per ulteriori informazioni, consulta la Panoramica dell'importazione dei dati in Google Security Operations.
Un'etichetta di importazione identifica l'analizzatore sintattico 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 ulteriori informazioni, consulta Creare il primo bucket S3.
Configura Amazon CloudFront
- Accedi alla console AWS Management.
- Accedi alla console Amazon S3 e crea il bucket Amazon S3.
- Per attivare il logging, seleziona On.
- Nel campo Bucket per i log, specifica il nome del bucket Amazon S3.
- Nel campo Prefisso log, specifica un prefisso facoltativo.
- Dopo aver archiviato i file di log nel bucket Amazon S3, crea una coda SQS e associala al bucket Amazon S3.
Identifica gli endpoint per la connettività
Controlla i criteri per le chiavi KMS e gli utenti IAM richiesti per S3, SQS e KMS.
In base al servizio e alla regione, identifica gli endpoint per la connettività facendo riferimento alla seguente documentazione AWS:
- Per informazioni su eventuali origini di log, consulta Endpoint e quote di AWS Identity and Access Management.
- Per informazioni sulle origini di log S3, consulta Prezzi e quote di Amazon Simple Storage Service.
- Per informazioni sulle origini di log di SQS, consulta Prezzi e quote di Amazon Simple Queue Service.
Configura un feed in Google Security Operations per importare i log di Amazon CloudFront
- Seleziona Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Inserisci un nome univoco per il nome del feed.
- Seleziona Amazon S3 o Amazon SQS come Tipo di origine.
- Seleziona AWS CloudFront come Tipo di log.
- Fai clic su Avanti.
- Google Security Operations supporta la raccolta dei log utilizzando l'ID della chiave di accesso e il metodo secret. Per creare l'ID chiave di accesso e la chiave segreta, consulta Configurare l'autenticazione dello strumento con AWS.
- In base alla configurazione di Amazon CloudFront che hai creato, specifica i valori per
i seguenti campi.
- Se utilizzi Amazon S3, specifica i valori per i seguenti campi:
- Regione
- URI S3
- L'URI è un
- Opzione di eliminazione dell'origine
- Se utilizzi Amazon SQS, specifica i valori per i seguenti campi:
- Regione
- Nome coda
- Numero account
- ID chiave di accesso alla coda
- Mettere in coda la chiave di accesso segreta
- Opzione di eliminazione dell'origine
- Se utilizzi Amazon S3, specifica i valori per i seguenti campi:
- Fai clic su Avanti e poi su Invia.
Per inviare i log di Amazon CloudFront al bucket Amazon S3, consulta Configurare e utilizzare i log standard (log di accesso).
Per saperne di più sui feed di Google Security Operations, consulta la documentazione dei feed di Google Security Operations. Per informazioni sui requisiti per ciascun tipo di feed, consulta Configurazione dei feed per tipo. Se riscontri problemi durante la creazione dei feed, contatta l'assistenza di Google Security Operations.
Riferimento alla mappatura dei campi
Questo parser estrae i campi dai log di AWS CloudFront in formato SYSLOG o JSON, normalizzandoli nell'UDM. Utilizza pattern grok per analizzare le stringhe dei messaggi, gestisce varie trasformazioni dei dati (ad es. conversioni di tipo, ridenominazione) e arricchisce i dati con un contesto aggiuntivo come l'analisi dell'agente utente e l'identificazione del protocollo di applicazione.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
c-ip |
principal.ip |
Mappatura diretta. È stato mappato anche a principal.asset.ip . |
c-port |
principal.port |
Mappatura diretta. |
cs(Cookie) |
additional.fields[].key : "cookie"additional.fields[].value.string_value : mappato direttamente. |
Mappatura condizionale se cs(Cookie) è presente e agent non contiene "://". |
cs(Host) |
principal.hostname |
Mappatura diretta. È stato mappato anche a principal.asset.hostname . Utilizzato per la costruzione del target.url se non sono disponibili altri campi URL. |
cs(Referer) |
network.http.referral_url |
Mappatura diretta. |
cs(User-Agent) |
network.http.user_agent |
Mappatura diretta. Viene anche mappato a network.http.parsed_user_agent e analizzato nei relativi componenti se non contiene "://". |
cs-bytes |
network.sent_bytes |
Mappatura diretta. Convertito in numero intero senza segno. |
cs-method |
network.http.method |
Mappatura diretta. |
cs-protocol |
network.application_protocol |
Mappato dopo la conversione in maiuscolo. Se il valore non è riconosciuto come protocollo di applicazione standard e cs-protocol-version contiene "HTTP", cs-protocol-version viene impostato su "HTTP".network.application_protocol |
dport |
target.port |
Mappatura diretta. Convertito in numero intero. |
edge_location |
principal.location.name |
Mappatura diretta. |
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 |
Mappatura diretta. |
id |
principal.asset_id |
Mappato direttamente con il prefisso "id: ". |
ip |
target.ip , target.asset.ip |
Mappatura diretta. |
log_id |
metadata.product_log_id |
Mappatura diretta. |
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 |
Mappatura diretta. 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 |
Mappatura diretta. Convertito in numero intero. |
ssl-cipher |
network.tls.cipher |
Mappatura diretta. |
ssl-protocol |
network.tls.version |
Mappatura diretta. |
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 |
Mappatura diretta. |
url_back_to_product |
metadata.url_back_to_product |
Mappatura diretta. |
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 |
Mappatura diretta. Se sono presenti più IP (separati da virgole), vengono suddivisi e uniti nei rispettivi campi UDM. |
x-host-header |
target.hostname , target.asset.hostname |
Mappatura diretta. Imposta su "NETWORK_HTTP" se sono presenti ip o x-forwarded-for e http_verb . In caso contrario, impostalo su "GENERIC_EVENT". Hardcoded su "AWS_CLOUDFRONT". Hardcoded su "AWS CloudFront". Hardcoded su "AMAZON". La data e l'ora di importazione della voce di log in Google Security Operations. |