Raccogliere i log di AWS Elastic Load Balancing

Supportato in:

Questo documento spiega come raccogliere i log di AWS Elastic Load Balancing configurando un feed Google Security Operations. Il parser converte i log in formato UDM. Utilizza i pattern grok per estrarre i campi dai messaggi in formato CEF e non CEF, mappandoli ai campi UDM e gestendo varie trasformazioni dei dati, inclusa la logica specifica per i campi HTTP, TLS e relativi alla sicurezza. Esegue anche l'elaborazione condizionale in base alla presenza o al formato di determinati campi per garantire una rappresentazione accurata di UDM.

Prima di iniziare {: #before-you-begin }

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Accesso privilegiato ad AWS

Configura AWS Elastic Load Balancing

  • Abilita il logging degli accessi per inviare i log di accesso a un bucket di archiviazione S3
  • Crea un Amazon Simple Queue Service (SQS) e collegalo a un bucket di archiviazione S3.

Configura il bucket Amazon S3

  1. Accedi alla console AWS.
  2. Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket
  3. Salva il nome del bucket (ad esempio elb-logs) e la regione per un utilizzo successivo.
  4. Crea un utente seguendo questa guida: Creazione di un utente IAM.
  5. Seleziona l'utente creato.
  6. Seleziona la scheda Credenziali di sicurezza.
  7. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  8. Seleziona Servizio di terze parti come Caso d'uso.
  9. Fai clic su Avanti.
  10. (Facoltativo) Aggiungi un tag di descrizione.
  11. Fai clic su Crea chiave di accesso.
  12. Fai clic su Scarica file CSV per salvare la chiave di accesso e la chiave di accesso segreta per un utilizzo successivo.
  13. Fai clic su Fine.
  14. Seleziona la scheda Autorizzazioni.
  15. Fai clic su Aggiungi autorizzazioni nella sezione Norme relative alle autorizzazioni.
  16. Seleziona Aggiungi autorizzazioni.
  17. Seleziona Allega direttamente le norme.
  18. Cerca e seleziona il criterio AmazonS3FullAccess.
  19. Fai clic su Avanti.
  20. Fai clic su Aggiungi autorizzazioni.

Come configurare AWS Elastic Load Balancer per abilitare i log di accesso

  1. Accedi alla console di gestione AWS.
  2. Cerca e seleziona EC2.
  3. Nel menu di navigazione, seleziona Bilanciatori del carico.
  4. Seleziona il bilanciatore del carico per il quale vuoi attivare la registrazione.
  5. Nella scheda Descrizione, scorri fino a Attributi.
  6. Fai clic su Modifica attributi.
  7. Attiva i log di accesso selezionando Attiva.
  8. Seleziona il bucket S3 creato in precedenza (ad esempio, elb-logs).
  9. (Facoltativo) Imposta il prefisso del log per identificare più facilmente i log (ad esempio, elb/access-logs/).
  10. Fai clic su Salva.

Configurare i feed

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

  • Impostazioni SIEM > Feed
  • Hub dei contenuti > Pacchetti di contenuti

Configurare i feed da Impostazioni SIEM > Feed

Per configurare più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.

Per configurare un singolo feed:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di AWS Elastic Load Balancer).
  5. Seleziona Amazon S3 come Tipo di origine.
  6. Seleziona AWS Elastic Load Balancer come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • Region (Regione): la regione in cui si trova il bucket Amazon S3.
    • URI S3: l'URI del bucket.
      • s3:/BUCKET_NAME
        • Sostituisci BUCKET_NAME con il nome effettivo del tuo bucket S3.
    • L'URI è un: seleziona il TIPO DI URI in base alla configurazione dello stream di log (File singolo | Directory | Directory che include sottodirectory).
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
    • ID chiave di accesso: la chiave di accesso dell'utente con autorizzazioni di lettura dal bucket S3.

    • Chiave di accesso segreta: la chiave segreta dell'utente con le autorizzazioni per leggere dal bucket S3.

    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.

  9. Fai clic su Avanti.

  10. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Configurare i feed dall'hub dei contenuti

Specifica i valori per i seguenti campi:

  • Region (Regione): la regione in cui si trova il bucket Amazon S3.
  • URI S3: l'URI del bucket.
    • s3:/BUCKET_NAME
      • Sostituisci BUCKET_NAME con il nome effettivo del tuo bucket S3.
  • L'URI è un: seleziona il TIPO DI URI in base alla configurazione dello stream di log (File singolo | Directory | Directory che include sottodirectory).
  • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze di importazione.
  • ID chiave di accesso: la chiave di accesso dell'utente con autorizzazioni di lettura dal bucket S3.

  • Chiave di accesso segreta: la chiave segreta dell'utente con le autorizzazioni per leggere dal bucket S3.

Opzioni avanzate

  • Nome feed: un valore precompilato che identifica il feed.
  • Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
  • Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
  • Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
actions_executed security_result.action Se actions_executed è "waf,forward" o "waf,redirect", imposta il valore su "ALLOW". Se actions_executed è "waf", impostalo su "BLOCK".
chosen_cert_arn principal.user.attribute.labels Se chosen_cert_arn contiene "sessione", mappa il suo valore a security_result.description. In caso contrario, crea un'etichetta con la chiave "ARN" e il valore chosen_cert_arn e aggiungila all'array principal.user.attribute.labels.
chosen_cert_arn security_result.description Se chosen_cert_arn contiene "session", mappa il suo valore a questo campo.
client_ip principal.asset.ip Mappato direttamente.
client_ip principal.ip Mappato direttamente.
client_port principal.port Mappato direttamente.
classification security_result.rule_name Mappato direttamente se non è vuoto o "-".
classification_reason security_result.summary Mappato direttamente se non è vuoto o "-".
Customer (CEF) principal.user.user_display_name Mappato direttamente dal campo CEF.
data Varie Analizzato utilizzando pattern grok per estrarre più campi. Consulta le altre righe per mappature specifiche.
data.act (CEF) security_result.action_details Mappato direttamente dal campo CEF.
data.app (CEF) principal.application Mappato direttamente dal campo CEF.
data.ccode (CEF) principal.location.country Mappato direttamente dal campo CEF.
data.cicode (CEF) principal.location.city Mappato direttamente dal campo CEF.
data.cn1 (CEF) network.http.response_code Mappato direttamente dal campo CEF.
data.cpt (CEF) principal.port Mappato direttamente dal campo CEF.
data.cs1Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "Cap Support" e il valore di cs1Label.
data.cs2Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "Javascript Support" e il valore di cs2Label.
data.cs3Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "CO Support" e il valore di cs3Label.
data.cs4Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "VID" e il valore di cs4Label.
data.cs5Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "clappsig" e il valore di cs5Label.
data.cs6Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "clapp" e il valore di cs6Label.
data.cs7Label (CEF) additional.fields Crea una coppia chiave-valore con la chiave "latitude" e il valore di cs7Label.
data.deviceExternalId (CEF) about.asset.asset_id Utilizzato come parte dell'ID risorsa: Incapsula.SIEMintegration:deviceExternalId.
data.deviceFacility (CEF) principal.location.region Mappato direttamente dal campo CEF.
data.dproc (CEF) target.process.command_line Mappato direttamente dal campo CEF.
data.dst_ip target.asset.ip Mappato direttamente.
data.dst_ip target.ip Mappato direttamente.
data.dst_port target.port Mappato direttamente.
data.elb target.resource.id Mappato direttamente.
data.fileId (CEF) security_result.detection_fields Crea una coppia chiave-valore con la chiave "fileId" e il valore di fileId.
data.in (CEF) network.received_bytes Mappato direttamente dal campo CEF.
data.request (CEF) target.url Mappato direttamente dal campo CEF.
data.requestClientApplication (CEF) network.http.user_agent Mappato direttamente dal campo CEF.
data.requestMethod (CEF) network.http.method Mappato direttamente dal campo CEF.
data.severity (CEF) security_result.severity Mappato su LOW se la gravità è 0.
data.sip (CEF) principal.asset.ip Mappato direttamente dal campo CEF.
data.sip (CEF) principal.ip Mappato direttamente dal campo CEF.
data.siteid (CEF) security_result.detection_fields Crea una coppia chiave-valore con la chiave "siteid" e il valore di siteid.
data.sourceServiceName (CEF) principal.application Mappato direttamente dal campo CEF.
data.spt (CEF) principal.port Mappato direttamente dal campo CEF.
data.src (CEF) principal.ip Mappato direttamente dal campo CEF.
data.suid (CEF) principal.user.userid Mappato direttamente dal campo CEF.
data.ver (CEF) network.tls.version La parte della versione viene estratta utilizzando grok e mappata.
data.ver (CEF) network.tls.cipher La parte della cifra viene estratta utilizzando grok e mappata.
data.xff (CEF) principal.ip Mappato direttamente dal campo CEF.
domain_name principal.administrative_domain Mappato direttamente.
http_method network.http.method Mappato direttamente.
log_type metadata.log_type Mappato direttamente.
message Varie Analizzato utilizzando pattern grok per estrarre più campi. Consulta le altre righe per mappature specifiche.
received_bytes network.received_bytes Mappato direttamente.
redirect_url network.application_protocol Se redirect_url inizia con "http", il protocollo viene estratto e mappato.
redirect_url target.asset.hostname Se redirect_url inizia con "http", il nome host viene estratto e mappato.
redirect_url target.hostname Se redirect_url inizia con "http", il nome host viene estratto e mappato.
redirect_url target.port Se redirect_url inizia con "http", la porta viene estratta e mappata.
request_creation_time metadata.collected_timestamp Mappato direttamente dopo l'analisi della data.
request_processing_time security_result.detection_fields Crea una coppia chiave-valore con la chiave "request_processing_time" e il valore di questo campo.
response_processing_time security_result.detection_fields Crea una coppia chiave-valore con la chiave "response_processing_time" e il valore di questo campo.
sent_bytes network.sent_bytes Mappato direttamente.
ssl_cipher network.tls.cipher Mappato direttamente.
ssl_protocol network.tls.version Mappato direttamente.
target_group_arn target.group.group_display_name Mappato direttamente.
target_processing_time security_result.detection_fields Crea una coppia chiave-valore con la chiave "target_processing_time" e il valore di questo campo.
target_status_code target.labels Crea un'etichetta con la chiave "target_status_code" e il valore di questo campo e la aggiunge all'array target.labels.
time metadata.event_timestamp Mappato direttamente dopo l'analisi della data.
trace_id metadata.product_log_id Mappato direttamente dopo la rimozione di "Root=".
url network.http.referral_url Mappato direttamente.
user_agent network.http.user_agent Mappato direttamente.
(Parser) metadata.event_type Imposta su "NETWORK_HTTP" se sono presenti gli ID macchina principale e di destinazione, su "STATUS_UPDATE" se è presente solo l'ID macchina principale, su "GENERIC_EVENT" se non sono presenti IP, nome host o IP di destinazione e su "NETWORK_HTTP" in caso contrario.
(Parser) metadata.product_name Imposta "AWS Elastic Load Balancer".
(Parser) metadata.vendor_name Imposta il valore su "AMAZON".

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