Riferimento allo schema di normalizzazione della sessione Web (ASIM) Advanced Security Information Model (anteprima pubblica)
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 Normalizzazione e Advanced Security Information Model (ASIM).
Importante
Lo schema di normalizzazione di rete è attualmente in ANTEPRIMA. Questa funzionalità viene fornita senza un contratto di servizio e non è consigliata per i carichi di lavoro di produzione.
Le condizioni aggiuntive per l'anteprima di Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, anteprima o diversamente non ancora disponibili a livello generale.
Panoramica dello 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, è disciplinato 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 del livello applicazione che utilizzano TCP/IP come sessione del 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 dal server.
- SrcIpAddr (aliasato a 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 della sessione Web possono includere anche informazioni su utente e processo per l'utente e il processo che avvia la richiesta.
Parser
Per altre informazioni sui parser ASIM, vedere panoramica dei parser ASIM.
Parser di unificazione
Per usare 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 di filtro o il _ASim_WebSession
parser senza parametri.
È anche possibile usare i parser e ASimWebSession
distribuiti ImWebSession
nell'area di lavoro distribuindoli dal repository GitHub di Microsoft Sentinel. Per altre informazioni, vedere Parser ASIM predefiniti e parser distribuiti nell'area di lavoro.
Parser specifici dell'origine predefiniti
Per l'elenco dei parser di sessione Web forniti da Microsoft Sentinel, vedere l'elenco dei parser ASIM
Aggiungere parser normalizzati personalizzati
Quando si implementano parser personalizzati per il modello di informazioni sessione Web, denominare le funzioni KQL usando la sintassi seguente:
vimWebSession<vendor><Product>
per parser parametrizzatiASimWebSession<vendor><Product>
per 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 | Filtra solo le sessioni Web avviate in o dopo questa volta. |
endtime | datetime | Filtrare solo le sessioni Web che hanno iniziato a essere in esecuzione in o prima di questa volta. |
srcipaddr_has_any_prefix | dynamic | Filtrare solo le sessioni Web per le quali 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 . oggetto , ad esempio : 10.0. . La lunghezza dell'elenco è limitata a 10.000 elementi. |
ipaddr_has_any_prefix | dynamic | Filtrare solo le sessioni di rete per le quali il campo indirizzo IP di destinazione o il prefisso del campo dell'indirizzo IP di origine si trova in uno dei valori elencati. I prefissi devono terminare con un . oggetto , ad esempio : 10.0. . La lunghezza dell'elenco è limitata a 10.000 elementi.Il campo ASimMatchingIpAddr viene impostato con uno dei valori SrcIpAddr , DstIpAddr o Both per riflettere i campi o i campi corrispondenti. |
url_has_any | dynamic | Filtrare solo le sessioni Web per le quali 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 | dynamic | Filtrare solo le sessioni Web per le quali il campo 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 | dynamic | Filtrare solo le sessioni Web per cui il codice di stato HTTP, archiviato nel campo EventResultDetails , è uno dei valori elencati. |
eventresult | string | Filtrare solo le sessioni di rete con un valore EventResult specifico. |
Alcuni parametri possono accettare entrambi l'elenco di valori di tipo dynamic
o un singolo valore stringa. Per passare un elenco di valori letterali ai 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 di informazioni sessione Web è allineato allo schema di entità OSSEM Network e allo schema di 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 destinazione della sessione, senza includere il token Dvc nel nome del campo.
Ad esempio, il nome host e l'indirizzo IP del dispositivo di origine 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 intermedi, come applicabile.
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 comuni di ASIM
Importante
I campi comuni a tutti gli schemi sono descritti in dettaglio nell'articolo Campi comuni ASIM.
Campi comuni con linee guida specifiche
L'elenco seguente elenca i campi con linee guida specifiche per gli eventi della sessione Web:
Campo | Classe | Tipo | Descrizione |
---|---|---|---|
EventType | Obbligatorio | Enumerated | Descrive l'operazione segnalata dal record. I valori consentiti sono i seguenti: - 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 del server, ma solo il percorso e i parametri parte 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 che fanno parte dell'URL. |
EventResult | Obbligatorio | Enumerated | Descrive il risultato dell'evento, normalizzato in uno dei valori seguenti: - Success - Partial - Failure - NA (non applicabile) Per una sessione HTTP, Success viene definito come codice di stato inferiore a 400 e Failure viene definito come codice di stato maggiore di 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 | Consigliato | String | Codice di stato HTTP. Nota: il valore può essere fornito nel record di origine usando termini diversi, che devono essere normalizzati in questi valori. Il valore originale deve essere archiviato nel campo EventOriginalResultDetails . |
EventSchema | Obbligatorio | String | Il nome dello schema documentato qui è WebSession . |
EventSchemaVersion | Obbligatorio | String | La versione dello schema. La versione dello schema documentata qui è 0.2.6 |
Campi Dvc | Per gli eventi della 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 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. Tutte le linee guida specificate in precedenza sostituiscono le linee guida generali per il campo. Ad esempio, un campo potrebbe essere facoltativo in generale, ma obbligatorio per uno schema specifico. Per altri dettagli su ogni campo, vedere l'articolo Campi comuni di ASIM.
Classe | Campi |
---|---|
Obbligatorio | - EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
Consigliato | - EventResultDetails - EventSeverity - EventUid - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
Facoltativo | - EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - DvcInterface - Campi aggiuntivi - DvcDescription - DvcScopeId - DvcScope |
Campi sessione di rete
Le sessioni HTTP sono sessioni del livello applicazione che usano TCP/IP come sessione del livello di rete sottostante. Lo schema della sessione Web è un super set di schema sessione di rete ASIM e tutti i campi dello schema di rete sono inclusi anche nello schema della sessione Web.
I campi dello schema di sessione di rete ASIM seguenti hanno linee guida specifiche quando vengono usate per un evento di 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 le sessioni Web, il campo di destinazione primario è il campo URL. DstDomain è facoltativo anziché consigliato. In particolare, se non è disponibile, non è necessario estrarlo dall'URL nel parser.
- I campi
NetworkRuleName
eNetworkRuleNumber
vengono rinominatiRuleName
eRuleNumber
rispettivamente.
Gli eventi della sessione Web vengono comunemente segnalati da 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 dispositivo intermedio schema sessione di rete ASIM
Campi della sessione HTTP
Di seguito sono riportati campi aggiuntivi specifici per le sessioni Web:
Campo | Classe | Tipo | Descrizione |
---|---|---|---|
Url | Obbligatorio | String | 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 include lo schema e il server, disponibili rispettivamente nei NetworkApplicationProtocol campi e DstFQDN . Esempio: https://contoso.com/fo/?k=v&q=u#f |
UrlCategory | Facoltativo | String | Raggruppamento definito di un URL o della parte di dominio dell'URL. La categoria viene 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 | String | Valore originale dell'URL, quando l'URL è stato modificato dal dispositivo di report e vengono forniti entrambi i valori. |
HttpVersion | Facoltativo | String | Versione della richiesta HTTP. Esempio: 2.0 |
HttpRequestMethod | Consigliato | Enumerated | Metodo HTTP. I valori sono definiti in RFC 7231 e RFC 5789 e includono GET , HEAD , PUT POST , DELETE , , CONNECT , OPTIONS , , , TRACE e PATCH .Esempio: GET |
HttpStatusCode | Alias | Codice di stato HTTP. Alias per EventResultDetails. | |
HttpContentType | Facoltativo | String | Intestazione del tipo di contenuto Risposta HTTP. Nota: il campo HttpContentType può includere sia il formato del contenuto che i parametri aggiuntivi, ad esempio la codifica usata per ottenere il formato effettivo. Esempio: text/html; charset=ISO-8859-4 |
HttpContentFormat | Facoltativo | String | Parte del formato del contenuto di HttpContentType Esempio: text/html |
HttpReferrer | Facoltativo | String | Intestazione del referrer HTTP. Nota: ASIM, sincronizzato con OSSEM, usa l'ortografia corretta per referrer e non l'ortografia originale dell'intestazione HTTP. Esempio: https://developer.mozilla.org/docs |
HttpUserAgent | Facoltativo | String | 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 in HttpUserAgent | |
HttpRequestXff | Facoltativo | Indirizzo IP | Intestazione HTTP X-Forwarded-For. Esempio: 120.12.41.1 |
HttpRequestTime | Facoltativo | Intero | Quantità di tempo, in millisecondi, necessaria per inviare la richiesta al server, se applicabile. Esempio: 700 |
HttpResponseTime | Facoltativo | Intero | Quantità di tempo, in millisecondi, necessaria per ricevere una risposta nel server, se applicabile. Esempio: 800 |
HttpHost | Facoltativo | String | Il server Web virtuale di destinazione della richiesta HTTP. Questo valore è in genere basato sull'intestazione host HTTP. |
FileName | Facoltativo | String | Per i caricamenti HTTP, 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. | |
FileHashType | Facoltativo | Enumerated | Tipo dell'hash nel campo Hash . I valori possibili includono: MD5 , SHA1 , SHA256 e SHA512 . |
FileSize | Facoltativo | Lungo | Per i caricamenti HTTP, le dimensioni in byte del file caricato. |
FileContentType | Facoltativo | String | Per i caricamenti HTTP, il tipo di contenuto del file caricato. |
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 processo ASIM per normalizzare queste informazioni.
Aggiornamenti dello schema
Lo schema della sessione Web si basa sullo schema della sessione di rete. Pertanto, anche gli aggiornamenti dello schema della sessione di rete si applicano allo schema della sessione Web.
Di seguito sono riportate le modifiche apportate alla versione 0.2.5 dello schema:
- Aggiunto il 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.
Passaggi successivi
Per altre informazioni, vedi: