Raccogliere i log del proxy web Netskope
Questo analizzatore sintattico gestisce i log del proxy web Netskope sia in formato CEF che non CEF. Estrae i campi, esegue trasformazioni dei dati (ad esempio, la conversione dei timestamp o l'unione dei campi), li mappa all'UDM e aggiunge metadati specifici di Netskope. Il parser utilizza la logica condizionale per gestire diversi formati di log e la disponibilità dei campi, arricchendo l'UDM con dettagli pertinenti relativi a rete, sicurezza e applicazioni.
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di disporre dell'accesso privilegiato a Netskope.
- Assicurati di avere configurato un modulo Log Shipper.
- Assicurati di disporre di una chiave dell'account di servizio Google SecOps (contatta il team di Google SecOps per ottenere un account di servizio con i seguenti ambiti: https://www.googleapis.com/auth/malachite-ingestion).
Ottenere l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
Configura il tenant Netskope in CE
- Vai a Impostazioni > Generali.
- Imposta l'opzione Invia log su ON.
- In Impostazioni, vai a Netskope Tenants (Tenant Netskope).
- Se non sono configurati tenant, fai clic su Aggiungi tenant.
- Inserisci i seguenti valori:
- Nome: fornisci un nome facile da ricordare per il tenant.
- Nome tenant: inserisci il nome reale del tuo tenant Netskope.
- Token API v2: inserisci il token API Netskope.
- Filtri avvisi: aggiungi gli avvisi del proxy web che vuoi importare.
- Intervallo iniziale: inserisci la quantità di dati storici che vuoi importare (in giorni).
- Fai clic su Salva.
Configura il plug-in CLS di Netskope
- Vai a Impostazioni > Componenti aggiuntivi.
- Cerca e seleziona la casella Netskope (CLS) per aprire la pagina di creazione del plug-in.
- Inserisci i seguenti dettagli:
- Nome configurazione: inserisci un nome facile da ricordare per questo plug-in.
- Tenant: seleziona dall'elenco il tenant che hai creato nel passaggio precedente.
- Fai clic su Avanti.
- Aggiorna l'elenco Tipo di evento in base alle esigenze.
- Intervallo iniziale: inserisci la quantità di dati storici che vuoi importare (in ore).
- Fai clic su Salva.
Configurare un plug-in Google SecOps in Netskope
- Vai a Impostazioni > Componenti aggiuntivi.
- Cerca e seleziona la casella Chronicle (CLS) per aprire la pagina di creazione del plug-in.
- Inserisci i seguenti dettagli:
- Nome configurazione: inserisci un nome per questo plug-in.
- Mappatura: lascia la selezione predefinita.
- Attiva/disattiva ON
When enabled logs will be transformed using the selected mapping file
. - Fai clic su Avanti.
- Regione: seleziona la regione di Google SecOps.
- URL regione personalizzata: impostazione facoltativa obbligatoria solo se nel passaggio precedente è stata selezionata Regione personalizzata.
- Chiave account di servizio: inserisci la chiave JSON fornita da Google SecOps.
- ID cliente: inserisci l'ID cliente del tuo tenant Google SecOps.
- Fai clic su Salva.
Configurare una regola aziendale di Log Shipper per Google SecOps
- Vai a Log Shipper > Regole aziendali.
- Per impostazione predefinita, esiste una regola aziendale che filtra tutti gli avvisi e gli eventi.
- Se vuoi escludere un tipo specifico di avviso o evento, fai clic su Crea nuova regola e configura una nuova regola aziendale aggiungendo il nome e il filtro della regola.
- Fai clic su Salva.
Configurare le mappature SIEM di Log Shipper per Google SecOps
- Vai a Log Shipper > Mappature SIEM.
- Fai clic su Aggiungi mappatura SIEM.
- Inserisci i seguenti dettagli:
- Configurazione dell'origine: seleziona il plug-in CLS di Netskope.
- Configurazione della destinazione: seleziona il plug-in Google SecOps.
- Regola aziendale: seleziona la regola creata in precedenza.
- Fai clic su Salva.
Convalida il recupero e il flusso di lavoro di eventi e avvisi in Netskope
- Vai a Logging in Netskope Cloud Exchange.
- Cerca i log estratti.
- In Logging, cerca gli eventi e gli avvisi importati con il filtro message contains ingested.
- I log importati verranno filtrati.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
applicationType |
security_result.detection_fields[].key : "applicationType"security_result.detection_fields[].value : applicationType |
Mappato direttamente dal campo CEF corrispondente. |
appcategory |
security_result.category_details[] : appcategory |
Mappato direttamente dal campo CEF corrispondente. |
browser |
security_result.detection_fields[].key : "browser"security_result.detection_fields[].value : browser |
Mappato direttamente dal campo CEF corrispondente. |
c-ip |
principal.asset.ip[] : c-ip principal.ip[] : c-ip |
Mappato direttamente dal campo JSON corrispondente. |
cci |
security_result.detection_fields[].key : "cci"security_result.detection_fields[].value : cci |
Mappato direttamente dal campo CEF corrispondente. |
ccl |
security_result.confidence : valore derivatosecurity_result.confidence_details : ccl |
security_result.confidence viene ricavato in base al valore di ccl : "eccellente" o "alto" corrisponde a HIGH_CONFIDENCE , "medio" corrisponde a MEDIUM_CONFIDENCE , "basso" o "scarso" corrisponde a LOW_CONFIDENCE e "sconosciuto" o "not_defined" corrisponde a UNKNOWN_CONFIDENCE .security_result.confidence_details è mappato direttamente da ccl . |
clientBytes |
network.sent_bytes : clientBytes |
Mappato direttamente dal campo CEF corrispondente. |
cs-access-method |
additional.fields[].key : "accessMethod"additional.fields[].value.string_value : cs-access-method |
Mappato direttamente dal campo JSON corrispondente. |
cs-app |
additional.fields[].key : "x-cs-app"additional.fields[].value.string_value : cs-app principal.application : cs-app |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-activity |
additional.fields[].key : "x-cs-app-activity"additional.fields[].value.string_value : cs-app-activity |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-category |
additional.fields[].key : "x-cs-app-category"additional.fields[].value.string_value : cs-app-category |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-cci |
additional.fields[].key : "x-cs-app-cci"additional.fields[].value.string_value : cs-app-cci |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-ccl |
additional.fields[].key : "x-cs-app-ccl"additional.fields[].value.string_value : cs-app-ccl |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-from-user |
additional.fields[].key : "x-cs-app-from-user"additional.fields[].value.string_value : cs-app-from-user principal.user.email_addresses[] : cs-app-from-user |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-instance-id |
additional.fields[].key : "x-cs-app-instance-id"additional.fields[].value.string_value : cs-app-instance-id |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-object-name |
additional.fields[].key : "x-cs-app-object-name"additional.fields[].value.string_value : cs-app-object-name |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-object-type |
additional.fields[].key : "x-cs-app-object-type"additional.fields[].value.string_value : cs-app-object-type |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-suite |
additional.fields[].key : "x-cs-app-suite"additional.fields[].value.string_value : cs-app-suite |
Mappato direttamente dal campo JSON corrispondente. |
cs-app-tags |
additional.fields[].key : "x-cs-app-tags"additional.fields[].value.string_value : cs-app-tags |
Mappato direttamente dal campo JSON corrispondente. |
cs-bytes |
network.sent_bytes : cs-bytes |
Mappato direttamente dal campo JSON corrispondente. |
cs-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : cs-content-type |
Mappato direttamente dal campo JSON corrispondente. |
cs-dns |
target.asset.hostname[] : cs-dns target.hostname : cs-dns |
Mappato direttamente dal campo JSON corrispondente. |
cs-host |
target.asset.hostname[] : cs-host target.hostname : cs-host |
Mappato direttamente dal campo JSON corrispondente. |
cs-method |
network.http.method : cs-method |
Mappato direttamente dal campo JSON corrispondente. |
cs-referer |
network.http.referral_url : cs-referer |
Mappato direttamente dal campo JSON corrispondente. |
cs-uri |
additional.fields[].key : "cs-uri"additional.fields[].value.string_value : cs-uri |
Mappato direttamente dal campo JSON corrispondente. |
cs-uri-path |
additional.fields[].key : "x-cs-uri-path"additional.fields[].value.string_value : cs-uri-path |
Mappato direttamente dal campo JSON corrispondente. |
cs-uri-port |
additional.fields[].key : "cs-uri-port"additional.fields[].value.string_value : cs-uri-port |
Mappato direttamente dal campo JSON corrispondente. |
cs-uri-scheme |
network.application_protocol : cs-uri-scheme |
Mappato direttamente dal campo JSON corrispondente dopo la conversione in maiuscolo. |
cs-user-agent |
network.http.parsed_user_agent : user-agent analizzatonetwork.http.user_agent : cs-user-agent |
network.http.parsed_user_agent viene ottenuto analizzando il campo cs-user-agent utilizzando il filtro "parseduseragent". |
cs-username |
principal.user.userid : cs-username |
Mappato direttamente dal campo JSON corrispondente. |
date |
metadata.event_timestamp.seconds : secondi dall'epoca dai campi date e time metadata.event_timestamp.nanos : 0 |
La data e l'ora vengono combinate e convertite in secondi ed epoche nanosecondi. I nanosecondi sono impostati su 0. |
device |
intermediary.hostname : device |
Mappato direttamente dal campo CEF corrispondente. |
dst |
target.ip[] : dst |
Mappato direttamente dal campo CEF corrispondente. |
dst_country |
target.location.country_or_region : dst_country |
Mappato direttamente dal campo grokked corrispondente. |
dst_ip |
target.asset.ip[] : dst_ip target.ip[] : dst_ip |
Mappato direttamente dal campo grokked corrispondente. |
dst_location |
target.location.city : dst_location |
Mappato direttamente dal campo grokked corrispondente. |
dst_region |
target.location.state : dst_region |
Mappato direttamente dal campo grokked corrispondente. |
dst_zip |
Non mappato | Questo campo non è mappato all'UDM. |
duser |
target.user.email_addresses[] : duser target.user.user_display_name : duser |
Mappato direttamente dal campo CEF corrispondente. |
dvchost |
about.hostname : dvchost target.asset.hostname[] : dvchost target.hostname : dvchost |
Mappato direttamente dal campo CEF corrispondente. |
event_timestamp |
metadata.event_timestamp.seconds : event_timestamp |
Mappato direttamente dal campo grokked corrispondente. |
hostname |
target.asset.hostname[] : hostname target.hostname : hostname |
Mappato direttamente dal campo CEF corrispondente. |
IncidentID |
security_result.detection_fields[].key : "IncidentID"security_result.detection_fields[].value : IncidentID |
Mappato direttamente dal campo CEF corrispondente. |
intermediary |
intermediary : intermediary |
Mappato direttamente dal campo CEF corrispondente. |
md5 |
target.file.md5 : md5 |
Mappato direttamente dal campo CEF corrispondente. |
message |
Vari campi UDM | Il campo message viene analizzato in base al fatto che contenga o meno "CEF". In questo caso, viene trattato come un log CEF. In caso contrario, viene analizzato come stringa delimitata da spazi o JSON. Per i dettagli, consulta la sezione "Logica di analisi". |
mime_type1 |
Non mappato | Questo campo non è mappato all'UDM. |
mime_type2 |
Non mappato | Questo campo non è mappato all'UDM. |
mwDetectionEngine |
additional.fields[].key : "mwDetectionEngine"additional.fields[].value.string_value : mwDetectionEngine |
Mappato direttamente dal campo CEF corrispondente. |
mwType |
metadata.description : mwType |
Mappato direttamente dal campo CEF corrispondente. |
os |
principal.platform : valore derivato |
La piattaforma è ricavata dal campo os : "Windows" corrisponde a WINDOWS , "MAC" a MAC e "LINUX" a LINUX . |
page |
network.http.referral_url : page |
Mappato direttamente dal campo CEF corrispondente. |
port |
Non mappato | Questo campo non è mappato all'UDM. |
referer |
network.http.referral_url : referer |
Mappato direttamente dal campo CEF corrispondente. |
requestClientApplication |
network.http.parsed_user_agent : user-agent analizzatonetwork.http.user_agent : requestClientApplication |
network.http.parsed_user_agent viene ottenuto analizzando il campo requestClientApplication utilizzando il filtro "parseduseragent". |
request_method |
network.http.method : request_method |
Mappato direttamente dal campo grokked corrispondente. |
request_protocol |
Non mappato | Questo campo non è mappato all'UDM. |
rs-status |
additional.fields[].key : "rs-status"additional.fields[].value.string_value : rs-status network.http.response_code : rs-status |
Mappato direttamente dal campo JSON corrispondente. |
s-ip |
target.asset.ip[] : s-ip target.ip[] : s-ip |
Mappato direttamente dal campo JSON corrispondente. |
sc-bytes |
network.received_bytes : sc-bytes |
Mappato direttamente dal campo JSON corrispondente. |
sc-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : sc-content-type |
Mappato direttamente dal campo JSON corrispondente. |
sc-status |
network.http.response_code : sc-status |
Mappato direttamente dal campo JSON corrispondente. |
serverBytes |
network.received_bytes : serverBytes |
Mappato direttamente dal campo CEF corrispondente. |
sha256 |
target.file.sha256 : sha256 |
Mappato direttamente dal campo CEF corrispondente. |
src |
principal.ip[] : src |
Mappato direttamente dal campo CEF corrispondente. |
src_country |
principal.location.country_or_region : src_country |
Mappato direttamente dal campo grokked corrispondente. |
src_ip |
principal.asset.ip[] : src_ip principal.ip[] : src_ip |
Mappato direttamente dal campo grokked corrispondente. |
src_latitude |
Non mappato | Questo campo non è mappato all'UDM. |
src_location |
principal.location.city : src_location |
Mappato direttamente dal campo grokked corrispondente. |
src_longitude |
Non mappato | Questo campo non è mappato all'UDM. |
src_region |
principal.location.state : src_region |
Mappato direttamente dal campo grokked corrispondente. |
src_zip |
Non mappato | Questo campo non è mappato all'UDM. |
suser |
principal.user.user_display_name : suser |
Mappato direttamente dal campo CEF corrispondente. |
target_host |
target.asset.hostname[] : target_host target.hostname : target_host |
Mappato direttamente dal campo grokked corrispondente. |
time |
metadata.event_timestamp.seconds : secondi dall'epoca dai campi date e time metadata.event_timestamp.nanos : 0 |
La data e l'ora vengono combinate e convertite in secondi ed epoche nanosecondi. I nanosecondi sono impostati su 0. |
timestamp |
metadata.event_timestamp.seconds : timestamp |
Mappato direttamente dal campo CEF corrispondente. |
ts |
metadata.event_timestamp.seconds : secondi dall'epoca a partire dal giorno ts metadata.event_timestamp.nanos : 0 |
Il timestamp viene convertito in secondi ed epoch e nanosecondi. I nanosecondi sono impostati su 0. |
url |
target.url : url |
Mappato direttamente dal campo CEF corrispondente. |
user_agent |
network.http.parsed_user_agent : user-agent analizzatonetwork.http.user_agent : user_agent |
network.http.parsed_user_agent viene ottenuto analizzando il campo user_agent utilizzando il filtro "parseduseragent". |
user_ip |
Non mappato | Questo campo non è mappato all'UDM. |
user_key |
principal.user.email_addresses[] : user_key |
Mappato direttamente dal campo grokked corrispondente. |
version |
Non mappato | Questo campo non è mappato all'UDM. |
x-c-browser |
additional.fields[].key : "x-c-browser"additional.fields[].value.string_value : x-c-browser |
Mappato direttamente dal campo JSON corrispondente. |
x-c-browser-version |
additional.fields[].key : "x-c-browser-version"additional.fields[].value.string_value : x-c-browser-version |
Mappato direttamente dal campo JSON corrispondente. |
x-c-country |
principal.location.country_or_region : x-c-country |
Mappato direttamente dal campo JSON corrispondente. |
x-c-device |
additional.fields[].key : "x-c-device"additional.fields[].value.string_value : x-c-device |
Mappato direttamente dal campo JSON corrispondente. |
x-c-latitude |
principal.location.region_coordinates.latitude : x-c-latitude |
Mappato direttamente dal campo JSON corrispondente. |
x-c-local-time |
security_result.detection_fields[].key : "x-c-local-time"security_result.detection_fields[].value : x-c-local-time |
Mappato direttamente dal campo JSON corrispondente. |
x-c-location |
principal.location.name : x-c-location |
Mappato direttamente dal campo JSON corrispondente. |
x-c-longitude |
principal.location.region_coordinates.longitude : x-c-longitude |
Mappato direttamente dal campo JSON corrispondente. |
x-c-os |
principal.platform : valore derivato |
La piattaforma è ricavata dal campo x-c-os : "Windows" corrisponde a WINDOWS , "MAC" a MAC e "LINUX" a LINUX . |
x-c-region |
principal.location.state : x-c-region |
Mappato direttamente dal campo JSON corrispondente. |
x-c-zipcode |
additional.fields[].key : "x-c-zipcode"additional.fields[].value.string_value : x-c-zipcode |
Mappato direttamente dal campo JSON corrispondente. |
x-category |
additional.fields[].key : "x-category"additional.fields[].value.string_value : x-category |
Mappato direttamente dal campo JSON corrispondente. |
x-category-id |
additional.fields[].key : "x-category-id"additional.fields[].value.string_value : x-category-id |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-access-method |
additional.fields[].key : "accessMethod"additional.fields[].value.string_value : x-cs-access-method |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app |
principal.application : x-cs-app additional.fields[].key : "x-cs-app"additional.fields[].value.string_value : x-cs-app |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-activity |
additional.fields[].key : "x-cs-app-activity"additional.fields[].value.string_value : x-cs-app-activity |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-category |
additional.fields[].key : "x-cs-app-category"additional.fields[].value.string_value : x-cs-app-category |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-cci |
additional.fields[].key : "x-cs-app-cci"additional.fields[].value.string_value : x-cs-app-cci |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-from-user |
additional.fields[].key : "x-cs-app-from-user"additional.fields[].value.string_value : x-cs-app-from-user |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-object-id |
additional.fields[].key : "x-cs-app-object-id"additional.fields[].value.string_value : x-cs-app-object-id |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-object-name |
additional.fields[].key : "x-cs-app-object-name"additional.fields[].value.string_value : x-cs-app-object-name |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-object-type |
additional.fields[].key : "x-cs-app-object-type"additional.fields[].value.string_value : x-cs-app-object-type |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-suite |
additional.fields[].key : "x-cs-app-suite"additional.fields[].value.string_value : x-cs-app-suite |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-tags |
additional.fields[].key : "x-cs-app-tags"additional.fields[].value.string_value : x-cs-app-tags |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-app-to-user |
additional.fields[].key : "x-cs-app-to-user"additional.fields[].value.string_value : x-cs-app-to-user |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-dst-ip |
security_result.detection_fields[].key : "x-cs-dst-ip"security_result.detection_fields[].value : x-cs-dst-ip target.asset.ip[] : x-cs-dst-ip target.ip[] : x-cs-dst-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-dst-port |
security_result.detection_fields[].key : "x-cs-dst-port"security_result.detection_fields[].value : x-cs-dst-port target.port : x-cs-dst-port |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-http-version |
security_result.detection_fields[].key : "x-cs-http-version"security_result.detection_fields[].value : x-cs-http-version |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-page-id |
additional.fields[].key : "x-cs-page-id"additional.fields[].value.string_value : x-cs-page-id |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-session-id |
network.session_id : x-cs-session-id |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-site |
additional.fields[].key : "x-cs-site"additional.fields[].value.string_value : x-cs-site |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-sni |
network.tls.client.server_name : x-cs-sni |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-src-ip |
principal.asset.ip[] : x-cs-src-ip principal.ip[] : x-cs-src-ip security_result.detection_fields[].key : "x-cs-src-ip"security_result.detection_fields[].value : x-cs-src-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-src-ip-egress |
principal.asset.ip[] : x-cs-src-ip-egress principal.ip[] : x-cs-src-ip-egress security_result.detection_fields[].key : "x-cs-src-ip-egress"security_result.detection_fields[].value : x-cs-src-ip-egress |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-src-port |
principal.port : x-cs-src-port security_result.detection_fields[].key : "x-cs-src-port"security_result.detection_fields[].value : x-cs-src-port |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-ssl-cipher |
network.tls.cipher : x-cs-ssl-cipher |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-ssl-fronting-error |
security_result.detection_fields[].key : "x-cs-ssl-fronting-error"security_result.detection_fields[].value : x-cs-ssl-fronting-error |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-ssl-handshake-error |
security_result.detection_fields[].key : "x-cs-ssl-handshake-error"security_result.detection_fields[].value : x-cs-ssl-handshake-error |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-ssl-ja3 |
network.tls.client.ja3 : x-cs-ssl-ja3 |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-ssl-version |
network.tls.version : x-cs-ssl-version |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-timestamp |
metadata.event_timestamp.seconds : x-cs-timestamp |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-traffic-type |
additional.fields[].key : "trafficType"additional.fields[].value.string_value : x-cs-traffic-type |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-tunnel-src-ip |
security_result.detection_fields[].key : "x-cs-tunnel-src-ip"security_result.detection_fields[].value : x-cs-tunnel-src-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-uri-path |
additional.fields[].key : "x-cs-uri-path"additional.fields[].value.string_value : x-cs-uri-path |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-url |
target.url : x-cs-url |
Mappato direttamente dal campo JSON corrispondente. |
x-cs-userip |
security_result.detection_fields[].key : "x-cs-userip"security_result.detection_fields[].value : x-cs-userip |
Mappato direttamente dal campo JSON corrispondente. |
x-other-category |
security_result.category_details[] : x-other-category |
Mappato direttamente dal campo JSON corrispondente. |
x-other-category-id |
security_result.detection_fields[].key : "x-other-category-id"security_result.detection_fields[].value : x-other-category-id |
Mappato direttamente dal campo JSON corrispondente. |
x-policy-action |
security_result.action : valore derivatosecurity_result.action_details : x-policy-action |
security_result.action è ottenuto convertendo x-policy-action in maiuscolo. Se il valore in maiuscolo è "ALLOW" o "BLOCK", viene utilizzato direttamente. In caso contrario, non è mappato.security_result.action_details è mappato direttamente da x-policy-action . |
x-policy-dst-host |
security_result.detection_fields[].key : "x-policy-dst-host"security_result.detection_fields[].value : x-policy-dst-host |
Mappato direttamente dal campo JSON corrispondente. |
x-policy-dst-host-source |
security_result.detection_fields[].key : "x-policy-dst-host-source"security_result.detection_fields[].value : x-policy-dst-host-source |
Mappato direttamente dal campo JSON corrispondente. |
x-policy-dst-ip |
security_result.detection_fields[].key : "x-policy-dst-ip"security_result.detection_fields[].value : x-policy-dst-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-policy-name |
security_result.rule_name : x-policy-name |
Mappato direttamente dal campo JSON corrispondente. |
x-policy-src-ip |
security_result.detection_fields[].key : "x-policy-src-ip"security_result.detection_fields[].value : x-policy-src-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-enddate |
network.tls.server.certificate.not_after.seconds : secondi dall'epoca a partire da x-r-cert-enddate |
La data viene convertita in secondi epoch. |
x-r-cert-expired |
additional.fields[].key : "x-r-cert-expired"additional.fields[].value.string_value : x-r-cert-expired |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-incomplete-chain |
additional.fields[].key : "x-r-cert-incomplete-chain"additional.fields[].value.string_value : x-r-cert-incomplete-chain |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-issuer-cn |
network.tls.server.certificate.issuer : x-r-cert-issuer-cn |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-mismatch |
additional.fields[].key : "x-r-cert-mismatch"additional.fields[].value.string_value : x-r-cert-mismatch |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-revoked |
additional.fields[].key : "x-r-cert-revoked"additional.fields[].value.string_value : x-r-cert-revoked |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-self-signed |
additional.fields[].key : "x-r-cert-self-signed"additional.fields[].value.string_value : x-r-cert-self-signed |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-startdate |
network.tls.server.certificate.not_before.seconds : secondi dall'epoca a partire da x-r-cert-startdate |
La data viene convertita in secondi epoch. |
x-r-cert-subject-cn |
network.tls.server.certificate.subject : x-r-cert-subject-cn |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-untrusted-root |
additional.fields[].key : "x-r-cert-untrusted-root"additional.fields[].value.string_value : x-r-cert-untrusted-root |
Mappato direttamente dal campo JSON corrispondente. |
x-r-cert-valid |
additional.fields[].key : "x-r-cert-valid"additional.fields[].value.string_value : x-r-cert-valid |
Mappato direttamente dal campo JSON corrispondente. |
x-request-id |
additional.fields[].key : "requestId"additional.fields[].value.string_value : x-request-id |
Mappato direttamente dal campo JSON corrispondente. |
x-rs-file-category |
additional.fields[].key : "x-rs-file-category"additional.fields[].value.string_value : x-rs-file-category |
Mappato direttamente dal campo JSON corrispondente. |
x-rs-file-type |
additional.fields[].key : "x-rs-file-type"additional.fields[].value.string_value : x-rs-file-type |
Mappato direttamente dal campo JSON corrispondente. |
x-s-country |
target.location.country_or_region : x-s-country |
Mappato direttamente dal campo JSON corrispondente. |
x-s-dp-name |
additional.fields[].key : "x-s-dp-name"additional.fields[].value.string_value : x-s-dp-name |
Mappato direttamente dal campo JSON corrispondente. |
x-s-latitude |
target.location.region_coordinates.latitude : x-s-latitude |
Mappato direttamente dal campo JSON corrispondente. |
x-s-location |
target.location.name : x-s-location |
Mappato direttamente dal campo JSON corrispondente. |
x-s-longitude |
target.location.region_coordinates.longitude : x-s-longitude |
Mappato direttamente dal campo JSON corrispondente. |
x-s-region |
target.location.state : x-s-region |
Mappato direttamente dal campo JSON corrispondente. |
x-s-zipcode |
additional.fields[].key : "x-s-zipcode"additional.fields[].value.string_value : x-s-zipcode |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-cipher |
security_result.detection_fields[].key : "x-sr-ssl-cipher"security_result.detection_fields[].value : x-sr-ssl-cipher |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-client-certificate-error |
security_result.detection_fields[].key : "x-sr-ssl-client-certificate-error"security_result.detection_fields[].value : x-sr-ssl-client-certificate-error |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-engine-action |
security_result.detection_fields[].key : "x-sr-ssl-engine-action"security_result.detection_fields[].value : x-sr-ssl-engine-action |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-engine-action-reason |
security_result.detection_fields[].key : "x-sr-ssl-engine-action-reason"security_result.detection_fields[].value : x-sr-ssl-engine-action-reason |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-handshake-error |
security_result.detection_fields[].key : "x-sr-ssl-handshake-error"security_result.detection_fields[].value : x-sr-ssl-handshake-error |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-ja3s |
network.tls.server.ja3s : x-sr-ssl-ja3s |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-malformed-ssl |
security_result.detection_fields[].key : "x-sr-ssl-malformed-ssl"security_result.detection_fields[].value : x-sr-ssl-malformed-ssl |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-ssl-version |
security_result.detection_fields[].key : "x-sr-ssl-version"security_result.detection_fields[].value : x-sr-ssl-version |
Mappato direttamente dal campo JSON corrispondente. |
x-s-custom-signing-ca-error |
security_result.detection_fields[].key : "x-s-custom-signing-ca-error"security_result.detection_fields[].value : x-s-custom-signing-ca-error |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-bypass |
security_result.detection_fields[].key : "BYPASS SSL"security_result.detection_fields[].value : x-ssl-bypass o x-ssl-bypass-reason |
Se x-ssl-bypass è "Sì" e x-ssl-bypass-reason è presente, viene utilizzato il valore di x-ssl-bypass-reason . In caso contrario, viene utilizzato il valore x-ssl-bypass . |
x-ssl-policy-action |
security_result.detection_fields[].key : "x-ssl-policy-action"security_result.detection_fields[].value : x-ssl-policy-action |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-categories |
security_result.category_details[] : x-ssl-policy-categories |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-dst-host |
security_result.detection_fields[].key : "x-ssl-policy-dst-host"security_result.detection_fields[].value : x-ssl-policy-dst-host |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-dst-host-source |
security_result.detection_fields[].key : "x-ssl-policy-dst-host-source"security_result.detection_fields[].value : x-ssl-policy-dst-host-source |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-dst-ip |
security_result.detection_fields[].key : "x-ssl-policy-dst-ip"security_result.detection_fields[].value : x-ssl-policy-dst-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-name |
security_result.rule_name : x-ssl-policy-name |
Mappato direttamente dal campo JSON corrispondente. |
x-ssl-policy-src-ip |
security_result.detection_fields[].key : "x-ssl-policy-src-ip"security_result.detection_fields[].value : x-ssl-policy-src-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-dst-ip |
security_result.detection_fields[].key : "x-sr-dst-ip"security_result.detection_fields[].value : x-sr-dst-ip |
Mappato direttamente dal campo JSON corrispondente. |
x-sr-dst-port |
security_result.detection_fields[].key : "x-sr-dst-port"security_result.detection_fields[].value : x-sr-dst-port |
Mappato direttamente dal campo JSON corrispondente. |
x-type |
additional.fields[].key : "xType"additional.fields[].value.string_value : x-type |
Mappato direttamente dal campo JSON corrispondente. |
x-transaction-id |
additional.fields[].key : "transactionId"additional.fields[].value.string_value : x-transaction-id |
Mappato direttamente dal campo JSON corrispondente. |
N/D | metadata.vendor_name : "Netskope" |
Valore hardcoded nel parser. |
N/D | metadata.product_name : "Netskope Webproxy" |
Imposta su "Netskope Webproxy" se non è già presente. |
N/D | metadata.log_type : "NETSKOPE_WEBPROXY" |
Valore hardcoded nel parser. |
Modifiche
2024-06-04
- È stato aggiunto Grok per gestire i log non analizzati.
- "url" è stato mappato a "target.url".
- "appSessionId" è stato mappato a "network.session_id".
- "pagina" è stato mappato a "network.http.referral_url".
- "appcategory" è stato mappato a "security_result.category_details".
- "clientBytes" è stato mappato a "network.sent_bytes".
- "serverBytes" è stato mappato a "network.received_bytes".
- "ccl" è stato mappato a "security_result.confidence_details".
- Ho mappato "IncidentID", "applicationType", "browser" e "cci" a "security_result.detection_fields".
2024-04-22
- "x-cs-app-ccl","x-cs-app-instance-id","x-cs-app-tags" ,"x-cs-app-instance-name" ,"x-cs-app-instance-tag", "x-cs-app-to-user","x-cs-app-object-id" e "x-cs-app-from-user" sono stati mappati a "additional.fields".
2024-02-26
- È stata modificata la mappatura di "cs-bytes" da "network.received_bytes" a "network.sent_bytes".
- È stata modificata la mappatura di "sc-bytes" da "network.sent_bytes" a "network.received_bytes".
- "x-cs-app-object-name" è stato mappato a "additional.fields".
- "x-cs-app-from-user" è stato mappato a "principal.user.email_addresses".
2023-12-22
- Se il valore "cs-dns" è "null", modifica la mappatura "cs-host" da "principal.hostname" a "target.hostname".
- È stata modificata la mappatura "cs-dns" da "principal.hostname" a "target.hostname".
- Se il valore "sc-status" è "null", mappa "rs-status" a "network.http.response_code".
- "x-cs-app" è stato mappato a "principal.application".
- "x-cs-src-ip-egress" è stato mappato a "principal.ip".
2023-12-08
- È stato aggiunto il controllo on_error per analizzare i log con errori.
- Imposta "metadata.vendor_name" su "Netskope" e "metadata.product_name" su "Netskope Webproxy".
- È stato aggiunto un controllo condizionale per "src_region", "src_country", "src_location", "dst_region", "dst_country", "dst_location" prima della mappatura.
2023-10-09
- "dvchost" è stato mappato a "target.hostname" se "target.hostname" non è presente.
- È stato aggiunto un controllo null prima della mappatura "requestClientApplication".
2023-09-12
- "x-cs-dst-ip" è stato mappato a "target.ip".
- "x-cs-src-ip" è stato mappato a "principal.ip".
- "x-cs-src-port" è stato mappato a "principal.port".
- "x-cs-dst-port" è stato mappato a "target.port".
- È stato aggiunto il controllo on_error per il filtro data.
- Sono stati aggiunti controlli condizionali prima della mappatura di "metadata.event_type".
2023-08-28
- "cs-uri" è stato mappato a "additional.fields".
- "cs-uri-port" è stato mappato a "additional.fields".
- "x-s-zipcode" è stato mappato a "additional.fields".
- "x-c-zipcode" è stato mappato a "additional.fields".
- "x-cs-site" è stato mappato a "additional.fields".
- "x-category" è stato mappato a "additional.fields".
- "x-sr-ssl-version" è stato mappato a "security_result.detection_fields".
- "x-sr-ssl-cipher" è stato mappato a "security_result.detection_fields".
- "x-cs-src-ip-egress" è stato mappato a "security_result.detection_fields".
- "x-cs-userip" è stato mappato a "security_result.detection_fields".
- "x-cs-url" è stato mappato a "target.url".
- "x-cs-uri-path" è stato mappato a "additional.fields".
- "x-cs-app-cci" è stato mappato a "additional.fields".
- "x-cs-app-object-type" è stato mappato a "additional.fields".
- "x-rs-file-type" è stato mappato a "additional.fields".
- "x-rs-file-category" è stato mappato a "additional.fields".
2023-08-17
- È stato aggiunto il supporto per il nuovo formato di log di tipo JSON.
2023-06-22
- È stato aggiunto il supporto per il nuovo formato di log di tipo SYSLOG+JSON.
2023-05-30
- "Duser" è stato mappato a "target.user.email_addresses".
- "requestClientApplication" è stato mappato a "network.http.parsed_user_agent".
2023-02-03
- "Dominio" è stato mappato a "principal.administrative_domain".
2023-01-09
- Sono stati aggiunti controlli condizionali per la mappatura di diversi tipi di eventi in base ai parametri obbligatori presenti.
- Sono stati analizzati diversi formati di "rt".
2022-04-06
- Miglioramento: sono state aggiunte mappature per i nuovi campi
- md5, mwDetectionEngine, mwProfile, mwType mappati a udm.