Informazioni di riferimento sullo schema di normalizzazione della sessione Web ASIM (Advanced Security Information Model)

Lo schema di normalizzazione della sessione Web viene usato per descrivere un'attività di rete IP. Ad esempio, le attività di rete IP vengono segnalate da server Web, proxy Web e gateway di sicurezza Web.

Per altre informazioni sulla normalizzazione in Microsoft Sentinel, vedere Normalization and the Advanced Security Information Model (ASIM).

Panoramica sullo schema

Lo schema di normalizzazione della sessione Web rappresenta qualsiasi sessione di rete HTTP ed è adatto per fornire supporto per i tipi di origine comuni, tra cui:

  • Server Web
  • Proxy Web
  • Gateway di sicurezza Web

Lo schema della sessione Web ASIM rappresenta l'attività del protocollo HTTP e HTTPS. Poiché lo schema rappresenta l'attività del protocollo, è regolato dalle RFC e dagli elenchi di parametri assegnati ufficialmente, a cui si fa riferimento in questo articolo quando appropriato.

Lo schema della sessione Web non rappresenta gli eventi di controllo dai dispositivi di origine. Ad esempio, un evento che modifica un criterio del gateway di sicurezza Web non può essere rappresentato dallo schema della sessione Web.

Poiché le sessioni HTTP sono sessioni a livello di applicazione che usano TCP/IP come sessione a livello di rete sottostante, lo schema della sessione Web è un super set dello schema della sessione di rete ASIM.

I campi più importanti in uno schema di sessione Web sono:

  • URL, che segnala l'URL richiesto dal client al server.
  • SrcIpAddr (alias di IpAddr), che rappresenta l'indirizzo IP da cui è stata generata la richiesta.
  • Campo EventResultDetails , che in genere segnala il codice di stato HTTP.

Gli eventi sessione Web possono includere anche informazioni su utenti e processi per l'utente e il processo di avvio della richiesta.

Parser

Per altre informazioni sui parser ASIM, vedere panoramica dei parser ASIM.

Unificazione dei parser

Per usare i parser che unificano tutti i parser predefiniti di ASIM e assicurarsi che l'analisi venga eseguita in tutte le origini configurate, usare il _Im_WebSession parser.

Parser predefiniti specifici dell'origine

Per l'elenco dei parser della sessione Web Microsoft Sentinel fornisce informazioni predefinite, vedere l'elenco dei parser ASIM

Aggiungere i propri parser normalizzati

Quando si implementano parser personalizzati per il modello informativo sessione Web, denominare le funzioni KQL usando la sintassi seguente:

  • vimWebSession<vendor><Product> per i parser parametrizzati
  • ASimWebSession<vendor><Product> per i parser regolari

Filtro dei parametri del parser

I im parser e vim* supportano i parametri di filtro. Anche se questi parser sono facoltativi, possono migliorare le prestazioni delle query.

Sono disponibili i parametri di filtro seguenti:

Nome Tipo Descrizione
Starttime datetime Filtrare solo le sessioni Web avviate in corrispondenza o dopo questo periodo di tempo. Questo parametro filtra il TimeGenerated campo, ovvero l'indicatore standard per l'ora dell'evento, indipendentemente dal mapping specifico del parser dei campi EventStartTime e EventEndTime.
Endtime datetime Filtrare solo le sessioni Web che hanno iniziato l'esecuzione in corrispondenza o prima di questo momento. Questo parametro filtra il TimeGenerated campo, ovvero l'indicatore standard per l'ora dell'evento, indipendentemente dal mapping specifico del parser dei campi EventStartTime e EventEndTime.
srcipaddr_has_any_prefix Dinamico Filtrare solo le sessioni Web per cui il prefisso del campo dell'indirizzo IP di origine si trova in uno dei valori elencati. L'elenco di valori può includere indirizzi IP e prefissi di indirizzi IP. I prefissi devono terminare con un ., ad esempio: 10.0.. La lunghezza dell'elenco è limitata a 10.000 elementi.
ipaddr_has_any_prefix Dinamico Filtrare solo le sessioni di rete per le quali il campo indirizzo IP di destinazione o il prefisso del campo indirizzo IP di origine si trova in uno dei valori elencati. I prefissi devono terminare con un ., ad esempio: 10.0.. La lunghezza dell'elenco è limitata a 10.000 elementi.

Il campo ASimMatchingIpAddr viene impostato con uno dei valori SrcIpAddr, DstIpAddro Both per riflettere i campi o i campi corrispondenti.
url_has_any Dinamico Filtrare solo le sessioni Web per cui il campo URL contiene uno dei valori elencati. Il parser può ignorare lo schema dell'URL passato come parametro, se l'origine non lo segnala. Se specificato e la sessione non è una sessione Web, non verrà restituito alcun risultato. La lunghezza dell'elenco è limitata a 10.000 elementi.
httpuseragent_has_any Dinamico Filtrare solo le sessioni Web per cui il campo dell'agente utente contiene uno dei valori elencati. Se specificato e la sessione non è una sessione Web, non verrà restituito alcun risultato. La lunghezza dell'elenco è limitata a 10.000 elementi.
eventresultdetails_in Dinamico Filtrare solo le sessioni Web per le quali il codice di stato HTTP, archiviato nel campo EventResultDetails , è uno dei valori elencati.
eventresult stringa Filtrare solo le sessioni di rete con un valore EventResult specifico.

Alcuni parametri possono accettare sia l'elenco di valori di tipo dynamic che un singolo valore stringa. Per passare un elenco di valori letterali a parametri che prevedono un valore dinamico, usare in modo esplicito un valore letterale dinamico. Ad esempio: dynamic(['192.168.','10.'])

Ad esempio, per filtrare solo le sessioni Web per un elenco specificato di nomi di dominio, usare:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

Dettagli dello schema

Il modello informativo sessione Web è allineato allo schema dell'entità OSSEM Network e allo schema dell'entità HTTP OSSEM.

Per essere conforme alle procedure consigliate del settore, lo schema della sessione Web usa i descrittori Src e Dst per identificare i dispositivi di origine e di destinazione della sessione, senza includere il token Dvc nel nome del campo.

Ad esempio, il nome host del dispositivo di origine e l'indirizzo IP sono denominati rispettivamente SrcHostname e SrcIpAddr e non SrcDvcHostname e SrcDvcIpAddr. Il prefisso Dvc viene usato solo per il dispositivo di creazione di report o intermedio, in base alle esigenze.

I campi che descrivono l'utente e l'applicazione associati ai dispositivi di origine e di destinazione usano anche i descrittori Src e Dst .

Altri schemi ASIM usano in genere Target anziché Dst.

Campi ASIM comuni

Importante

I campi comuni a tutti gli schemi sono descritti in dettaglio nell'articolo Campi comuni di ASIM .

Campi comuni con linee guida specifiche

Nell'elenco seguente vengono indicati i campi con linee guida specifiche per gli eventi di sessione Web:

Campo Classe Tipo Descrizione
Eventtype Obbligatorio Enumerato Descrive l'operazione segnalata dal record. I valori consentiti sono:
- HTTPsession: indica una sessione di rete usata per HTTP o HTTPS, in genere segnalata da un dispositivo intermedio, ad esempio un proxy o un gateway di sicurezza Web.
- WebServerSession: indica una richiesta HTTP segnalata da un server Web. Un evento di questo tipo ha in genere meno informazioni correlate alla rete. L'URL segnalato non deve includere uno schema e un nome di server, ma solo il percorso e i parametri dell'URL.
- ApiRequest: indica una richiesta HTTP segnalata associata a una chiamata API, in genere segnalata da un server applicazioni. Un evento di questo tipo ha in genere meno informazioni correlate alla rete. Se segnalato dal server applicazioni, l'URL segnalato non deve includere uno schema e un nome del server, ma solo il percorso e i parametri dell'URL.
EventResult Obbligatorio Enumerato Descrive il risultato dell'evento normalizzato in base a uno dei valori seguenti:
- Success
- Partial
- Failure
- NA (non applicabile)

Per una sessione HTTP, Success è definito come codice di stato inferiore a 400e Failure viene definito come codice di stato superiore a 400. Per un elenco dei codici di stato HTTP, vedere W3 Org.

L'origine può fornire solo un valore per il campo EventResultDetails , che deve essere analizzato per ottenere il valore EventResult .
EventResultDetails Consigliata Enumerato Codice di stato HTTP come definito dal World Wide Web Consortium

Nota: il valore può essere fornito nel record di origine usando termini diversi, che devono essere normalizzati in base a questi valori. Il valore originale deve essere archiviato nel campo EventOriginalResultDetails .
EventSchema Obbligatorio Enumerato Il nome dello schema documentato qui è WebSession.
EventSchemaVersion Obbligatorio SchemaVersion (String) Versione dello schema. La versione dello schema documentata qui è 0.2.7
Campi Dvc Per gli eventi sessione Web, i campi del dispositivo fanno riferimento al sistema che segnala l'evento sessione Web. Si tratta in genere di un dispositivo intermedio per HTTPSession gli eventi e del server applicazioni o del Web di destinazione per WebServerSession gli eventi e ApiRequest .

Tutti i campi comuni

I campi visualizzati nella tabella seguente sono comuni a tutti gli schemi ASIM. Qualsiasi linea guida specificata in precedenza sostituisce le linee guida generali per il campo. Ad esempio, un campo può essere facoltativo in generale, ma obbligatorio per uno schema specifico. Per altre informazioni su ogni campo, vedere l'articolo Campi comuni di ASIM .

Classe Campi
Obbligatorio - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Consigliata - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Facoltativo - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcO
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Campi della sessione di rete

Le sessioni HTTP sono sessioni a livello di applicazione che usano TCP/IP come sessione a livello di rete sottostante. Lo schema della sessione Web è un super set dello schema della sessione di rete ASIM e tutti i campi dello schema di rete sono inclusi anche nello schema della sessione Web.

I campi dello schema della sessione di rete ASIM seguenti hanno linee guida specifiche quando vengono usati per un evento sessione Web:

  • L'alias User deve fare riferimento a SrcUsername e non a DstUsername.
  • Il campo EventOriginalResultDetails può contenere qualsiasi risultato segnalato dall'origine oltre al codice di stato HTTP archiviato in EventResultDetails.
  • Per Sessioni Web, il campo di destinazione principale è il campo URL. DstDomain è facoltativo anziché consigliato. In particolare, se non è disponibile, non è necessario estrarlo dall'URL nel parser.
  • I campi NetworkRuleName e NetworkRuleNumber vengono rinominati RuleName rispettivamente e RuleNumber .

Gli eventi della sessione Web vengono in genere segnalati dai dispositivi intermedi che terminano la connessione HTTP dal client e avviano una nuova connessione, che funge da proxy, con il server. Per rappresentare il dispositivo intermedio, usare i campi del dispositivo intermediodello schema della sessione di rete ASIM

Campi della sessione HTTP

Di seguito sono riportati altri campi specifici delle sessioni Web:

Campo Classe Tipo Descrizione
Url Obbligatorio URL (stringa) URL della richiesta HTTP, inclusi i parametri. Per HTTPSession gli eventi, l'URL può includere lo schema e deve includere il nome del server. Per WebServerSession e per ApiRequest l'URL in genere non sono inclusi lo schema e il server, disponibili rispettivamente nei NetworkApplicationProtocol campi e DstFQDN .

Esempio: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Facoltativo Stringa Raggruppamento definito di un URL o della parte di dominio dell'URL. La categoria è in genere fornita dai gateway di sicurezza Web e si basa sul contenuto del sito a cui punta l'URL.

Esempio: motori di ricerca, adulti, notizie, pubblicità e domini parcheggiati.
UrlOriginal Facoltativo URL (stringa) Valore originale dell'URL, quando l'URL è stato modificato dal dispositivo di report ed entrambi i valori vengono forniti.
HttpVersion Facoltativo Stringa Versione della richiesta HTTP.

Esempio: 2.0
HttpRequestMethod Consigliata Enumerato Metodo HTTP. I valori sono definiti in RFC 7231 e RFC 5789 e includono GET, , HEAD, POST, PUT, DELETE, CONNECT, , OPTIONS, TRACEe PATCH.

Esempio: GET
HttpStatusCode Alias Codice di stato HTTP. Alias per EventResultDetails.
HttpContentType Facoltativo Stringa Intestazione del tipo di contenuto risposta HTTP.

Nota: il campo HttpContentType può includere sia il formato del contenuto che parametri aggiuntivi, ad esempio la codifica usata per ottenere il formato effettivo.

Esempio: text/html; charset=ISO-8859-4
HttpContentFormat Facoltativo Stringa Parte del formato del contenuto di HttpContentType

Esempio: text/html
HttpReferrer Facoltativo Stringa Intestazione del referrer HTTP.

Nota: ASIM, in sincronizzazione con OSSEM, usa l'ortografia corretta per il referrer e non l'ortografia originale dell'intestazione HTTP.

Esempio: https://developer.mozilla.org/docs
HttpUserAgent Facoltativo Stringa Intestazione dell'agente utente HTTP.

Esempio:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, come Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias per HttpUserAgent
HttpRequestXff Facoltativo Indirizzo IP Intestazione HTTP X-Forwarded-For.

Esempio: 120.12.41.1
HttpRequestTime Facoltativo Numero intero Periodo di tempo, in millisecondi, necessario per inviare la richiesta al server, se applicabile.

Esempio: 700
HttpResponseTime Facoltativo Numero intero Tempo, in millisecondi, necessario per ricevere una risposta nel server, se applicabile.

Esempio: 800
HttpHost Facoltativo Stringa Il server Web virtuale di destinazione della richiesta HTTP. Questo valore è in genere basato sull'intestazione host HTTP.
FileName Facoltativo Stringa Per i caricamenti HTTP, il nome del file caricato.
FileMD5 Facoltativo MD5 Per i caricamenti HTTP, l'hash MD5 del file caricato.

Esempio: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Facoltativo SHA1 Per i caricamenti HTTP, l'hash SHA1 del file caricato.

Esempio:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Facoltativo SHA256 Per i caricamenti HTTP, l'hash SHA256 del file caricato.

Esempio:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Facoltativo SHA512 Per i caricamenti HTTP, l'hash SHA512 del file caricato.
Hash Alias Alias per il campo Hash disponibile.
HashType Condizionale Enumerato Tipo dell'hash nel campo Hash . I valori possibili includono: MD5, SHA1, SHA256e SHA512.
Dimensione Facoltativo Lungo Per i caricamenti HTTP, le dimensioni in byte del file caricato.
FileContentType Facoltativo Stringa Per i caricamenti HTTP, il tipo di contenuto del file caricato.
HttpCookie Facoltativo Stringa Contenuto dell'intestazione del cookie HTTP inviata dal client al server, contenente coppie nome-valore dei dati della sessione.

Esempio: session_id=abc123; user_pref=dark_mode
HttpIsProxied Facoltativo Booleano Indica se la richiesta HTTP è stata inviata tramite un server proxy.

Esempio: true
HttpRequestBodyBytes Facoltativo Lungo Dimensioni del corpo della richiesta HTTP in byte, escluse le intestazioni.

Esempio: 1024
HttpRequestCacheControl Facoltativo Stringa Contenuto dell'intestazione della richiesta Cache-Control HTTP, specificando le direttive di memorizzazione nella cache dal client.

Esempio: no-cache
HttpRequestHeaderCount Facoltativo Numero intero Numero di intestazioni HTTP incluse nella richiesta.

Esempio: 12
HttpResponseBodyBytes Facoltativo Lungo Dimensioni del corpo della risposta HTTP in byte, escluse le intestazioni.

Esempio: 8192
HttpResponseCacheControl Facoltativo Stringa Contenuto dell'intestazione di risposta http Cache-Control, specificando le direttive di memorizzazione nella cache dal server.

Esempio: max-age=3600, public
HttpResponseExpires Facoltativo Stringa Contenuto dell'intestazione di risposta HTTP Expires, che indica quando scade il contenuto della risposta.

Esempio: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount Facoltativo Numero intero Numero di intestazioni HTTP incluse nella risposta.

Esempio: 15

Altri campi

Se l'evento viene segnalato da uno degli endpoint della sessione Web, può includere informazioni sul processo che ha avviato o terminato la sessione. In questi casi, lo schema dell'evento del processo ASIM per normalizzare queste informazioni.

Aggiornamenti dello schema

Lo schema della sessione Web si basa sullo schema della sessione di rete. Pertanto, gli aggiornamenti dello schema della sessione di rete si applicano anche allo schema della sessione Web.

Di seguito sono riportate le modifiche apportate alla versione 0.2.5 dello schema:

  • Aggiunta del campo HttpHost.

Di seguito sono riportate le modifiche apportate alla versione 0.2.6 dello schema:

  • Il tipo di FileSize è stato modificato da Integer a Long.

Di seguito sono riportate le modifiche apportate alla versione 0.2.7 dello schema:

  • Sono stati aggiunti i campi HttpCookie, , HttpIsProxiedHttpRequestBodyBytes, HttpRequestCacheControl, HttpResponseBodyBytesHttpRequestHeaderCount, HttpResponseCacheControl, HttpResponseExpires, e HttpResponseHeaderCount.

Passaggi successivi

Per ulteriori informazioni, vedere: