Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
NetworkRuleNameeNetworkRuleNumbervengono rinominatiRuleNamerispettivamente eRuleNumber.
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&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: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| FileSHA256 | Facoltativo | SHA256 | Per i caricamenti HTTP, l'hash SHA256 del file caricato. Esempio: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| 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, eHttpResponseHeaderCount.
Passaggi successivi
Per ulteriori informazioni, vedere: