Raccogliere i log WAF di Imperva

Supportato in:

Questo documento spiega come raccogliere i log dal firewall per applicazioni web (WAF) Imperva in Google Security Operations utilizzando un'API (pull) o Amazon S3 (push). Il parser trasforma i log dai formati SYSLOG+KV, JSON, CEF e LEEF in un modello UDM (Unified Data Model). Elabora varie strutture di log, estrae i campi pertinenti, li normalizza in attributi UDM e arricchisce i dati con informazioni contestuali per un'analisi della sicurezza avanzata.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Il tipo di importazione (API o Amazon S3) più adatto ai tuoi requisiti di configurazione.
  • Istanza Google SecOps.
  • Accesso con privilegi ad AWS.
  • Accesso privilegiato a Imperva WAF.

Raccogli i log WAF di Imperva utilizzando l'API

Configura un utente di sola lettura per Imperva WAF

  1. Accedi alla console Imperva con un account con privilegi.
  2. Vai a Impostazioni > Utenti e ruoli.
  3. Fai clic su Aggiungi utente.
  4. Compila i campi obbligatori:
    • Nome utente: inserisci un nome utente univoco.
    • Password: imposta una password efficace.
    • Email: fornisci l'indirizzo email dell'utente.
    • Nella sezione Ruoli, seleziona il ruolo Lettore.
  5. Fai clic su Salva per creare l'utente con accesso di sola lettura.

(Facoltativo) Configurare l'utente Reader come solo API

  1. Nell'elenco Utenti, individua l'utente appena creato.
  2. Fai clic sul pulsante Azioni (tre puntini) accanto al nome dell'utente.
  3. Seleziona l'utente Imposta come solo API.

Genera l'ID API e la chiave API

  1. Nell'elenco Utenti, seleziona l'utente appena creato.
  2. Seleziona Impostazioni e fai clic su Chiavi API.
  3. Fai clic su Aggiungi chiave API.
  4. Compila i campi obbligatori:
    • Nome: inserisci un nome descrittivo per la chiave API.
    • (Facoltativo) Descrizione: fornisci una descrizione facoltativa.
    • Nell'elenco La chiave API scadrà tra, seleziona Mai.
    • Per attivare, seleziona Stato.
  5. Fai clic su Salva.

Il sistema mostra l'ID API e la chiave API. Copia e salva queste credenziali, perché non verranno più visualizzate.

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

Configura i feed da Impostazioni SIEM > Feed

Per configurare un 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 Imperva Incapsula WAF Logs.
  5. Seleziona API di terze parti come Tipo di origine.
  6. Seleziona Imperva come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Intestazione HTTP di autenticazione: inserisci l'ID e la chiave API di Imperva su due righe: apiId:<YOUR_API_ID> e apiKey:<YOUR_API_KEY>.
  9. Fai clic su Avanti.
  10. Controlla la 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:

  • Intestazione HTTP di autenticazione: inserisci l'ID e la chiave API di Imperva su due righe: apiId:<YOUR_API_ID> e apiKey:<YOUR_API_KEY>.

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: lo spazio dei nomi associato al feed.
  • Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.

Raccogli i log WAF di Imperva utilizzando Amazon S3

Configura AWS IAM e S3

  1. Crea un bucket Amazon S3 seguendo questa guida utente: Creazione di un bucket
  2. Salva il Nome e la Regione del bucket per utilizzarli in un secondo momento.
  3. Crea un utente seguendo questa guida utente: Creazione di 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 e salva la chiave di accesso e la chiave di accesso segreta per un utilizzo futuro.
  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 Allega direttamente le norme.
  17. Cerca e seleziona il criterio AmazonS3FullAccess.
  18. Fai clic su Avanti.
  19. Fai clic su Aggiungi autorizzazioni.

Configura la connessione Amazon S3 di Imperva WAF

  1. Accedi alla console Imperva con un account con privilegi.
  2. Vai a Log > Configurazione log.
  3. Seleziona Amazon S3.
  4. Compila i campi obbligatori:
    • Chiave di accesso
    • Chiave segreta
    • Percorso: inserisci il percorso nel seguente formato: <Amazon S3 bucket name>/<log folder>; ad esempio: MyBucket/MyIncapsulaLogFolder.
  5. Fai clic su Prova connessione per eseguire un ciclo di test completo in cui un file di test viene trasferito alla cartella designata.
  6. Seleziona CEF come formato per i file di log.
  7. Per impostazione predefinita, i file di log sono compressi. Imposta l'opzione per non comprimere i file.

Configura un feed in Google SecOps per importare i log WAF di Imperva da Amazon S3

  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 Imperva WAF Logs.
  4. Seleziona Amazon S3 come Tipo di origine.
  5. Seleziona Imperva come Tipo di log.
  6. Fai clic su Avanti.
  7. 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://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 dell'asset: lo spazio dei nomi dell'asset.
    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
  8. Fai clic su Avanti.

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

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
account_id target.user.userid L'ID account dall'oggetto JSON
atto security_result.action Se act è allowed, alert, inizia con REQ_PASSED o inizia con REQ_CACHED, imposta su ALLOW. Se act è deny, blocked, inizia con REQ_BLOCKED o inizia con REQ_CHALLENGE, imposta su BLOCK. Se act corrisponde all'espressione regolare (?i)REQ_BAD, imposta FAIL. In caso contrario, imposta il valore su UNKNOWN_ACTION.
app network.application_protocol Rinominato da kv.app. Convertito in maiuscolo.
calCountryOrRegion principal.location.country_or_region Rinominato da calCountryOrRegion.
gatto security_result.action_details Se cat inizia con REQ_PASSED o REQ_CACHED, imposta action su ALLOW e action_details su una descrizione basata sul valore di cat. Se cat inizia con REQ_BAD, imposta action su FAIL e action_details su una descrizione basata sul valore di cat. Se cat inizia con REQ_BLOCKED o REQ_CHALLENGE, imposta action su BLOCK e action_details su una descrizione basata sul valore di cat.
cicode principal.location.city Rinominato da cicode.
classified_client security_result.detection_fields Se classified_client non è vuoto, crea una nuova voce detection_fields con la chiave classified_client e il valore classified_client.
client.domain principal.hostname, principal.asset.hostname Rinominato da client.domain.
client.geo.country_iso_code principal.location.country_or_region Rinominato da client.geo.country_iso_code.
client.ip principal.ip, principal.asset.ip Uniti a principal.ip e principal.asset.ip.
cn1 network.http.response_code Rinominato da cn1. Convertito in numero intero.
context_key target.resource.name Rinominato da context_key.
country principal.location.country_or_region Rinominato da country.
credentials_leaked security_result.detection_fields Convertito in stringa. Se non è vuoto, crea una nuova voce detection_fields con la chiave credentials_leaked e il valore credentials_leaked.
cs1 security_result.detection_fields Se cs1 non è vuoto, NA o `, create a newdetection_fieldsentry with keycs1Labeland valuecs1`.
cs1Label security_result.detection_fields Utilizzato come chiave per la voce detection_fields creata da cs1.
cs2 security_result.detection_fields Se cs2 non è vuoto, crea una nuova voce detection_fields con la chiave cs2Label e il valore cs2.
cs2Label security_result.detection_fields Utilizzato come chiave per la voce detection_fields creata da cs2.
cs3 security_result.detection_fields Se cs3 non è vuoto, - o `, create a newdetection_fieldsentry with keycs3Labeland valuecs3`.
cs3Label security_result.detection_fields Utilizzato come chiave per la voce detection_fields creata da cs3.
cs4 security_result.detection_fields Se cs4 non è vuoto, crea una nuova voce detection_fields con la chiave cs4Label e il valore cs4.
cs4Label security_result.detection_fields Utilizzato come chiave per la voce detection_fields creata da cs4.
cs5 security_result.detection_fields Se cs5 non è vuoto, crea una nuova voce detection_fields con la chiave cs5Label e il valore cs5.
cs5Label security_result.detection_fields Utilizzato come chiave per la voce detection_fields creata da cs5.
cs6 principal.application Rinominato da cs6.
cs7 principal.location.region_latitude Se cs7Label è latitude, rinominato in principal.location.region_latitude. Convertita in numero in virgola mobile.
cs7Label Se cs7Label è latitude, viene utilizzato per determinare la mappatura di cs7.
cs8 principal.location.region_longitude Se cs8Label è longitude, rinominato in principal.location.region_longitude. Convertita in numero in virgola mobile.
cs8Label Se cs8Label è longitude, viene utilizzato per determinare la mappatura di cs8.
cs9 security_result.rule_name, extensions.vulns.vulnerabilities.name Se cs9 non è vuoto, impostalo su security_result.rule_name e crea una nuova voce vulnerabilities con il nome cs9.
Cliente target.user.user_display_name Rinominato da Customer.
declared_client security_result.detection_fields Se declared_client non è vuoto, crea una nuova voce detection_fields con la chiave declared_client e il valore declared_client.
description security_result.threat_name Rinominato da description.
deviceExternalId network.community_id Rinominato da deviceExternalId.
deviceReceiptTime metadata.event_timestamp Analizzato come data e impostato su metadata.event_timestamp. Se il campo è vuoto, vengono utilizzati log_timestamp o kv.start.
dhost target.hostname Rinominato da kv.dhost.
dproc security_result.category_details Rinominato da dproc.
dpt target.port Rinominato da kv.dpt. Convertito in numero intero.
dst target.ip, target.asset.ip Se dst non è vuoto, viene unito a target.ip e target.asset.ip.
dstPort target.port Rinominato da dstPort. Convertito in numero intero.
duser target.user.userid Se duser non corrisponde all'espressione regolare .*?Alert.* e non è vuoto, viene rinominato in target.user.userid.
end security_result.detection_fields Se end non è vuoto, crea una nuova voce detection_fields con la chiave event_end_time e il valore end.
event.id L'ID evento dell'oggetto JSON
event.provider principal.user.user_display_name Rinominato da event.provider.
failed_logins_last_24h security_result.detection_fields Convertito in stringa. Se non è vuoto, crea una nuova voce detection_fields con la chiave failed_logins_last_24h e il valore failed_logins_last_24h.
fileId network.session_id Rinominato da fileId.
filePermission security_result.detection_fields Se filePermission non è vuoto, crea una nuova voce detection_fields con la chiave filePermission e il valore filePermission.
fileType security_result.detection_fields Se fileType non è vuoto, crea una nuova voce detection_fields con la chiave fileType e il valore fileType.
impronta security_result.detection_fields Se fingerprint non è vuoto, crea una nuova voce detection_fields con la chiave log_imperva_fingerprint e il valore fingerprint.
flexString1 network.http.response_code Rinominato da kv.flexString1. Convertito in numero intero.
http.request.body.bytes network.sent_bytes Convertito in numero intero senza segno. Rinominato da http.request.body.bytes.
http.request.method network.http.method Rinominato da http.request.method.
imperva.abp.apollo_rule_versions security_result.detection_fields Per ogni voce in imperva.abp.apollo_rule_versions, crea una nuova voce detection_fields con la chiave apollo_rule_versions_{index} e il valore uguale alla voce.
imperva.abp.bot_behaviors security_result.detection_fields Per ogni voce in imperva.abp.bot_behaviors, crea una nuova voce detection_fields con la chiave bot_behaviors_{index} e il valore uguale alla voce.
imperva.abp.bot_deciding_condition_ids security_result.detection_fields Per ogni voce in imperva.abp.bot_deciding_condition_ids, crea una nuova voce detection_fields con la chiave bot_deciding_condition_ids_{index} e il valore uguale alla voce.
imperva.abp.bot_deciding_condition_names security_result.detection_fields Per ogni voce in imperva.abp.bot_deciding_condition_names, crea una nuova voce detection_fields con la chiave bot_deciding_condition_names_{index} e il valore uguale alla voce.
imperva.abp.bot_triggered_condition_ids security_result.detection_fields Per ogni voce in imperva.abp.bot_triggered_condition_ids, crea una nuova voce detection_fields con la chiave bot_triggered_condition_ids_{index} e il valore uguale alla voce.
imperva.abp.bot_triggered_condition_names security_result.detection_fields Per ogni voce in imperva.abp.bot_triggered_condition_names, crea una nuova voce detection_fields con la chiave bot_triggered_condition_names_{index} e il valore uguale alla voce.
imperva.abp.bot_violations security_result.detection_fields Per ogni voce in imperva.abp.bot_violations, crea una nuova voce detection_fields con la chiave bot_violations_{index} e il valore uguale alla voce.
imperva.abp.customer_request_id network.session_id Rinominato da imperva.abp.customer_request_id.
imperva.abp.headers_accept_encoding security_result.detection_fields Se imperva.abp.headers_accept_encoding non è vuoto, crea una nuova voce detection_fields con la chiave Accept Encoding e il valore imperva.abp.headers_accept_encoding.
imperva.abp.headers_accept_language security_result.detection_fields Se imperva.abp.headers_accept_language non è vuoto, crea una nuova voce detection_fields con la chiave Accept Language e il valore imperva.abp.headers_accept_language.
imperva.abp.headers_connection security_result.detection_fields Se imperva.abp.headers_connection non è vuoto, crea una nuova voce detection_fields con la chiave headers_connection e il valore imperva.abp.headers_connection.
imperva.abp.headers_referer network.http.referral_url Rinominato da imperva.abp.headers_referer.
imperva.abp.hsig security_result.detection_fields Se imperva.abp.hsig non è vuoto, crea una nuova voce detection_fields con la chiave hsig e il valore imperva.abp.hsig.
imperva.abp.monitor_action security_result.action, security_result.severity Se imperva.abp.monitor_action corrisponde alla regex (?i)allow, imposta security_action su ALLOW e severity su INFORMATIONAL. Se imperva.abp.monitor_action corrisponde all'espressione regolare (?i)captcha o (?i)block, imposta security_action su BLOCK.
imperva.abp.pid principal.process.pid Rinominato da imperva.abp.pid.
imperva.abp.policy_id security_result.detection_fields Se imperva.abp.policy_id non è vuoto, crea una nuova voce detection_fields con la chiave Policy Id e il valore imperva.abp.policy_id.
imperva.abp.policy_name security_result.detection_fields Se imperva.abp.policy_name non è vuoto, crea una nuova voce detection_fields con la chiave Policy Name e il valore imperva.abp.policy_name.
imperva.abp.random_id additional.fields Se imperva.abp.random_id non è vuoto, crea una nuova voce additional.fields con la chiave Random Id e il valore imperva.abp.random_id.
imperva.abp.request_type principal.labels Se imperva.abp.request_type non è vuoto, crea una nuova voce principal.labels con la chiave request_type e il valore imperva.abp.request_type.
imperva.abp.selector security_result.detection_fields Se imperva.abp.selector non è vuoto, crea una nuova voce detection_fields con la chiave selector e il valore imperva.abp.selector.
imperva.abp.selector_derived_id security_result.detection_fields Se imperva.abp.selector_derived_id non è vuoto, crea una nuova voce detection_fields con la chiave selector_derived_id e il valore imperva.abp.selector_derived_id.
imperva.abp.tls_fingerprint security_result.description Rinominato da imperva.abp.tls_fingerprint.
imperva.abp.token_id target.resource.product_object_id Rinominato da imperva.abp.token_id.
imperva.abp.zuid additional.fields Se imperva.abp.zuid non è vuoto, crea una nuova voce additional.fields con la chiave zuid e il valore imperva.abp.zuid.
imperva.additional_factors additional.fields Per ogni voce in imperva.additional_factors, crea una nuova voce additional.fields con la chiave additional_factors_{index} e il valore uguale alla voce.
imperva.audit_trail.event_action security_result.detection_fields Se imperva.audit_trail.event_action non è vuoto, crea una nuova voce detection_fields con la chiave imperva.audit_trail.event_action e il valore imperva.audit_trail.event_action_description.
imperva.audit_trail.event_action_description security_result.detection_fields Utilizzato come valore per la voce detection_fields creata da imperva.audit_trail.event_action.
imperva.audit_trail.event_context security_result.detection_fields Se imperva.audit_trail.event_context non è vuoto, crea una nuova voce detection_fields con la chiave imperva.audit_trail.event_context e il valore imperva.audit_trail.event_context_description.
imperva.audit_trail.event_context_description security_result.detection_fields Utilizzato come valore per la voce detection_fields creata da imperva.audit_trail.event_context.
imperva.country principal.location.country_or_region Rinominato da imperva.country.
imperva.declared_client security_result.detection_fields Se imperva.declared_client non è vuoto, crea una nuova voce detection_fields con la chiave declared_client e il valore imperva.declared_client.
imperva.device_reputation additional.fields Per ogni voce in imperva.device_reputation, crea una nuova voce additional.fields con la chiave device_reputation e un valore di elenco contenente la voce.
imperva.domain_risk security_result.detection_fields Se imperva.domain_risk non è vuoto, crea una nuova voce detection_fields con la chiave domain_risk e il valore imperva.domain_risk.
imperva.failed_logins_last_24h security_result.detection_fields Convertito in stringa. Se non è vuoto, crea una nuova voce detection_fields con la chiave failed_logins_last_24h e il valore failed_logins_last_24h.
imperva.fingerprint security_result.detection_fields Se imperva.fingerprint non è vuoto, crea una nuova voce detection_fields con la chiave log_imperva_fingerprint e il valore imperva.fingerprint.
imperva.ids.account_id metadata.product_log_id Rinominato da imperva.ids.account_id.
imperva.ids.account_name metadata.product_event_type Rinominato da imperva.ids.account_name.
imperva.ids.site_id additional.fields Se imperva.ids.site_id non è vuoto, crea una nuova voce additional.fields con la chiave site_id e il valore imperva.ids.site_id.
imperva.ids.site_name additional.fields Se imperva.ids.site_name non è vuoto, crea una nuova voce additional.fields con la chiave site_name e il valore imperva.ids.site_name.
imperva.referrer network.http.referral_url Rinominato da imperva.referrer.
imperva.request_session_id network.session_id Rinominato da imperva.request_session_id.
imperva.request_user security_result.detection_fields Se imperva.request_user non è vuoto, crea una nuova voce detection_fields con la chiave request_user e il valore imperva.request_user.
imperva.risk_level security_result.severity_details Rinominato da imperva.risk_level.
imperva.risk_reason security_result.description Rinominato da imperva.risk_reason.
imperva.significant_domain_name security_result.detection_fields Se imperva.significant_domain_name non è vuoto, crea una nuova voce detection_fields con la chiave significant_domain_name e il valore imperva.significant_domain_name.
imperva.violated_directives security_result.detection_fields Per ogni voce in imperva.violated_directives, crea una nuova voce detection_fields con la chiave violated_directives e il valore uguale alla voce.
in network.received_bytes Rinominato da in. Convertito in numero intero senza segno.
log_timestamp metadata.event_timestamp Se deviceReceiptTime è vuoto e kv.start è vuoto, imposta il valore su metadata.event_timestamp.
messaggio metadata.description Se message non è vuoto e event.provider, imperva.ids.account_name e client.ip sono tutti vuoti, imposta metadata.description.
postbody security_result.detection_fields Se postbody non è vuoto, crea una nuova voce detection_fields con la chiave post_body_info e il valore postbody.
proto network.application_protocol Rinominato da proto.
protoVer network.tls.version, network.tls.cipher Se protoVer non è vuoto, viene analizzato per estrarre tls_version e tls_cipher, che vengono poi rinominati rispettivamente in network.tls.version e network.tls.cipher.
richiesta target.url Rinominato da kv.request.
requestClientApplication network.http.user_agent Rinominato da requestClientApplication.
requestMethod network.http.method Rinominato da requestMethod. Convertito in maiuscolo.
resource_id target.resource.id Rinominato da resource_id.
resource_type_key target.resource.type Rinominato da resource_type_key.
rt metadata.event_timestamp Analizzato per estrarre deviceReceiptTime, che viene poi analizzato come data e impostato su metadata.event_timestamp.
security_result.action security_result.action Unito al valore del campo _action.
security_result.severity security_result.severity Se sevs è error o warning, imposta HIGH. Se sevs è critical, impostalo su CRITICAL. Se sevs è medium o notice, imposta MEDIUM. Se sevs è information o info, imposta LOW.
server.domain target.hostname, target.asset.hostname Rinominato da server.domain.
server.geo.name target.location.name Rinominato da server.geo.name.
gravità security_result.threat_id Rinominato da severity.
siteid security_result.detection_fields Se siteid non è vuoto, crea una nuova voce detection_fields con la chiave siteid e il valore siteid.
sourceServiceName target.hostname Rinominato da kv.sourceServiceName.
spt principal.port Rinominato da kv.spt. Convertito in numero intero.
src principal.ip, principal.asset.ip Se src non è vuoto, viene unito a principal.ip e principal.asset.ip.
srcPort principal.port Rinominato da srcPort. Convertito in numero intero.
start security_result.detection_fields, metadata.event_timestamp Se start non è vuoto, crea una nuova voce detection_fields con la chiave event_start_time e il valore start. Analizzato anche come data e impostato su metadata.event_timestamp se deviceReceiptTime è vuoto.
successful_logins_last_24h security_result.detection_fields Convertito in stringa. Se non è vuoto, crea una nuova voce detection_fields con la chiave successful_logins_last_24h e il valore successful_logins_last_24h.
suid target.user.userid Rinominato da suid.
tempo metadata.event_timestamp Convertito in stringa. Analizzato come data e impostato su metadata.event_timestamp.
type_key metadata.product_event_type Rinominato da type_key.
url target.process.file.full_path Se url.path non è vuoto o /, imposta target.process.file.full_path.
url target.url Rinominato da url. Se qstr non è vuoto, viene aggiunto a url con un separatore ?.
user.email principal.user.email_addresses Se user.email non è vuoto e corrisponde all'espressione regolare ^.+@.+$, viene unito a principal.user.email_addresses.
user_agent network.http.user_agent Rinominato da user_agent.
user_agent.original network.http.parsed_user_agent Se user_agent.original non è vuoto o *, convertito in parseduseragent e rinominato in network.http.parsed_user_agent.
user_details principal.user.email_addresses Se user_details non è vuoto e corrisponde all'espressione regolare ^.+@.+$, viene unito a principal.user.email_addresses.
user_id principal.user.userid Rinominato da user_id.
ver network.tls.version, network.tls.cipher Se ver non è vuoto, viene analizzato per estrarre tls_version e tls_cipher, che vengono poi rinominati rispettivamente in network.tls.version e network.tls.cipher.
xff intermediary.ip, intermediary.asset.ip, intermediary.hostname, intermediary.asset.hostname Se xff non è vuoto, viene elaborato per estrarre indirizzi IP e nomi host. Gli indirizzi IP vengono uniti in intermediary.ip e intermediary.asset.ip. I nomi host sono impostati su intermediary.hostname e intermediary.asset.hostname.

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