Condividi tramite


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 parametrizzati
  • ASimWebSession<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, DstIpAddro 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 400e 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 e NetworkRuleNumber vengono rinominati RuleName e RuleNumber 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&amp;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, PUTPOST, DELETE, , CONNECT, OPTIONS, , , TRACEe 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, SHA256e 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: