Referência do esquema de normalização da sessão Web do Modelo de Informação de Segurança Avançada (ASIM) (Pré-visualização pública)

O esquema de normalização da Sessão Web é utilizado para descrever uma atividade de rede IP. Por exemplo, as atividades de rede IP são comunicadas por servidores Web, proxies Web e gateways de segurança Web.

Para obter mais informações sobre a normalização no Microsoft Sentinel, veja Normalização e Modelo de Informações de Segurança Avançadas (ASIM).

Importante

O esquema de normalização de rede está atualmente em PRÉ-VISUALIZAÇÃO. Esta funcionalidade é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção.

Os Termos Suplementares de Pré-visualização do Azure incluem termos legais adicionais que se aplicam às funcionalidades do Azure que estão em versão beta, pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Schema overview (Descrição geral do esquema)

O esquema de normalização de Sessões Web representa qualquer sessão de rede HTTP e é adequado para fornecer suporte para tipos de origem comuns, incluindo:

  • Servidores Web
  • Proxies Web
  • Gateways de segurança Web

O esquema de Sessão Web do ASIM representa a atividade do protocolo HTTP e HTTPS. Uma vez que o esquema representa a atividade do protocolo, é regido por RFCs e listas de parâmetros oficialmente atribuídas, que são referenciadas neste artigo quando adequado.

O esquema de Sessão Web não representa eventos de auditoria de dispositivos de origem. Por exemplo, um evento que modifique uma política de Gateway de Segurança Web não pode ser representado pelo esquema de Sessão Web.

Uma vez que as sessões HTTP são sessões de camada de aplicação que utilizam TCP/IP como a sessão de camada de rede subjacente, o esquema de Sessão Web é um super conjunto do esquema de Sessão de Rede ASIM.

Os campos mais importantes num esquema de Sessão Web são:

  • Url, que reporta o URL que o cliente pediu ao servidor.
  • O SrcIpAddr (aliased para IpAddr), que representa o endereço IP a partir do qual o pedido foi gerado.
  • Campo EventResultDetails , que normalmente comunica o Código de Estado HTTP.

Os eventos de Sessões Web também podem incluir informações de Utilizador e Processo para o utilizador e o processo que inicia o pedido.

Analisadores

Para obter mais informações sobre os parsers do ASIM, veja a descrição geral dos analisadores do ASIM.

Parsers unificadores unificadores

Para utilizar parsers que unifiquem todos os parsers asim fora da caixa e certifique-se de que a sua análise é executada em todas as origens configuradas, utilize o _Im_WebSession analisador de filtragem ou o _ASim_WebSession analisador sem parâmetros.

Também pode utilizar analisadores e ASimWebSession implementados ImWebSession na área de trabalho ao implementá-los a partir do repositório do GitHub do Microsoft Sentinel. Para obter mais informações, veja parsers ASIM incorporados e parsers implementados na área de trabalho.

Analisadores fora da caixa, específicos da origem

Para obter a lista de analisadores de Sessões Web que o Microsoft Sentinel fornece, consulte a lista de analisadores asim

Adicionar os seus próprios analisadores normalizados

Ao implementar parsers personalizados para o modelo de informações da Sessão Web, atribua um nome às funções KQL com a seguinte sintaxe:

  • vimWebSession<vendor><Product> para parsers parametrizados
  • ASimWebSession<vendor><Product> para parsers regulares

Filtrar parâmetros do analisador

Os im analisadores e vim*suportam parâmetros de filtragem. Embora estes analisadores sejam opcionais, podem melhorar o desempenho da consulta.

Estão disponíveis os seguintes parâmetros de filtragem:

Nome Tipo Description
hora de início datetime Filtre apenas as sessões Web iniciadas em ou depois desta hora.
endtime datetime Filtre apenas as sessões Web que começaram a ser executadas em ou antes desta hora.
srcipaddr_has_any_prefix dynamic Filtre apenas as sessões Web para as quais o prefixo do campo de endereço IP de origem está num dos valores listados. A lista de valores pode incluir endereços IP e prefixos de endereços IP. Os prefixos devem terminar com um ., por exemplo: 10.0.. O comprimento da lista está limitado a 10 000 itens.
ipaddr_has_any_prefix dynamic Filtre apenas as sessões de rede para as quais o prefixo do campo de endereço IP de destino ou do campo de endereço IP de origem está num dos valores listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. O comprimento da lista está limitado a 10 000 itens.

O campo ASimMatchingIpAddr é definido com um dos valores , DstIpAddrou Both para refletir os campos SrcIpAddrou campos correspondentes.
url_has_any dynamic Filtre apenas as sessões Web para as quais o campo URL tem qualquer um dos valores listados. O analisador pode ignorar o esquema do URL transmitido como um parâmetro, se a origem não o comunicar. Se especificado e a sessão não for uma sessão Web, não será devolvido nenhum resultado. O comprimento da lista está limitado a 10 000 itens.
httpuseragent_has_any dynamic Filtre apenas as sessões Web para as quais o campo do agente de utilizador tem qualquer um dos valores listados. Se especificado e a sessão não for uma sessão Web, não será devolvido nenhum resultado. O comprimento da lista está limitado a 10 000 itens.
eventresultdetails_in dynamic Filtre apenas sessões Web para as quais o código de estado HTTP, armazenado no campo EventResultDetails , é qualquer um dos valores listados.
eventresult string Filtre apenas sessões de rede com um valor EventResult específico.

Alguns parâmetros podem aceitar a lista de valores do tipo dynamic ou um único valor de cadeia. Para transmitir uma lista literal a parâmetros que esperam um valor dinâmico, utilize explicitamente um literal dinâmico. Por exemplo: dynamic(['192.168.','10.'])

Por exemplo, para filtrar apenas sessões Web para uma lista especificada de nomes de domínio, utilize:

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

Detalhes do esquema

O modelo de informações da Sessão Web está alinhado com o esquema de entidade da Rede OSSEM e o esquema da entidade HTTP do OSSEM.

Para estar em conformidade com as melhores práticas do setor, o esquema de Sessões Web utiliza os descritores Src e Dst para identificar os dispositivos de origem e destino da sessão, sem incluir o dvc de token no nome do campo.

Assim, por exemplo, o nome do anfitrião do dispositivo de origem e o endereço IP são denominados SrcHostname e SrcIpAddr , respetivamente, e não SrcDvcHostname e SrcDvcIpAddr. O dvc de prefixo só é utilizado para o dispositivo intermediário ou de relatório, conforme aplicável.

Os campos que descrevem o utilizador e a aplicação associados aos dispositivos de origem e destino também utilizam os descritores Src e Dst .

Normalmente, outros esquemas ASIM utilizam Target em vez de Dst.

Campos ASIM comuns

Importante

Os campos comuns a todos os esquemas são descritos em detalhe no artigo Campos Comuns do ASIM .

Campos comuns com diretrizes específicas

A lista seguinte menciona campos que têm diretrizes específicas para eventos de Sessões Web:

Campo Classe Tipo Description
EventType Obrigatório Enumerated Descreve a operação comunicada pelo registo. Os valores permitidos são:
- HTTPsession: indica uma sessão de rede utilizada para HTTP ou HTTPS, normalmente comunicada por um dispositivo intermediário, como um proxy ou um gateway de segurança Web.
- WebServerSession: indica um pedido HTTP comunicado por um servidor Web. Normalmente, este evento tem menos informações relacionadas com a rede. O URL comunicado não deve incluir um esquema e um nome de servidor, mas apenas a parte do caminho e dos parâmetros do URL.
- ApiRequest: indica um pedido HTTP comunicado associado a uma chamada à API, normalmente comunicada por um servidor de aplicações. Normalmente, este evento tem menos informações relacionadas com a rede. Quando comunicado pelo servidor da aplicação, o URL comunicado não deve incluir um esquema e um nome de servidor, mas apenas a parte do caminho e dos parâmetros do URL.
EventResult Obrigatório Enumerated Descreve o resultado do evento, normalizado para um dos seguintes valores:
- Success
- Partial
- Failure
- NA (não aplicável)

Para uma sessão HTTP, Success é definido como um código de estado inferior 400a e Failure é definido como um código de estado superior a 400. Para obter uma lista de códigos de estado HTTP, consulte W3 Org.

A origem pode fornecer apenas um valor para o campo EventResultDetails , que tem de ser analisado para obter o valor EventResult .
EventResultDetails Recomendado String O código de estado HTTP.

Nota: o valor pode ser fornecido no registo de origem com termos diferentes, que devem ser normalizados para estes valores. O valor original deve ser armazenado no campo EventOriginalResultDetails .
EventSchema Obrigatório String O nome do esquema documentado aqui é WebSession.
EventSchemaVersion Obrigatório String A versão do esquema. A versão do esquema documentado aqui é 0.2.6
Campos dvc Para eventos de Sessão Web, os campos do dispositivo referem-se ao sistema que reporta o evento de Sessão Web. Normalmente, trata-se de um dispositivo intermediário para HTTPSession eventos e do servidor Web ou de aplicações de destino para WebServerSession eventos e ApiRequest .

Todos os campos comuns

Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer orientação especificada acima substitui as diretrizes gerais do campo. Por exemplo, um campo pode ser opcional em geral, mas obrigatório para um esquema específico. Para obter mais detalhes sobre cada campo, veja o artigo Campos Comuns do ASIM .

Classe Campos
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Recomendado - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Campos Adicionais
- DvcDescription
- DvcScopeId
- DvcScope

Campos de sessão de rede

As sessões HTTP são sessões de camada de aplicação que utilizam TCP/IP como a sessão de camada de rede subjacente. O esquema de Sessão Web é um super conjunto de esquema de Sessão de Rede ASIM e todos os Campos de Esquema de Rede também estão incluídos no esquema de Sessão Web.

Os seguintes campos de esquema de Sessão de Rede ASIM têm diretrizes específicas quando utilizados para um evento de Sessão Web:

  • O utilizador do alias deve referir-se ao SrcUsername e não ao DstUsername.
  • O campo EventOriginalResultDetails pode conter qualquer resultado comunicado pela origem, além do código de estado HTTP armazenado em EventResultDetails.
  • Para Sessões Web, o campo de destino principal é o Campo de URL. O DstDomain é opcional e não recomendado. Especificamente, se não estiver disponível, não é necessário extraí-lo do URL no analisador.
  • Os campos NetworkRuleName e NetworkRuleNumber o nome são alterados RuleName e RuleNumber , respetivamente.

Os eventos de Sessão Web são normalmente comunicados por dispositivos intermédios que terminam a ligação HTTP do cliente e iniciam uma nova ligação, agindo como um proxy, com o servidor. Para representar o dispositivo intermédio, utilize os campos de dispositivo intermediário esquema de Sessão de Rede ASIM

Campos de sessão HTTP

Seguem-se campos adicionais específicos das sessões Web:

Campo Classe Tipo Descrição
URL Obrigatório String O URL do pedido HTTP, incluindo os parâmetros. Para HTTPSession eventos, o URL pode incluir o esquema e deve incluir o nome do servidor. Normalmente WebServerSession , para e para ApiRequest o URL não incluiria o esquema e o servidor, que podem ser encontrados nos NetworkApplicationProtocol campos e DstFQDN , respetivamente.

Exemplo: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Opcional String O agrupamento definido de um URL ou a parte do domínio do URL. A categoria é normalmente fornecida por gateways de segurança Web e baseia-se no conteúdo do site para o qual o URL aponta.

Exemplo: motores de busca, adultos, notícias, publicidade e domínios estacionados.
UrlOriginal Opcional String O valor original do URL, quando o URL foi modificado pelo dispositivo de relatório e ambos os valores são fornecidos.
HttpVersion Opcional String A Versão do Pedido HTTP.

Exemplo: 2.0
HttpRequestMethod Recomendado Enumerated O Método HTTP. Os valores são definidos em RFC 7231 e RFC 5789 e incluem GET, , HEAD, POST, PUT, DELETE, CONNECT, , OPTIONS, TRACEe PATCH.

Exemplo: GET
HttpStatusCode Alias O Código de Estado HTTP. Alias para EventResultDetails.
HttpContentType Opcional String O cabeçalho do tipo de conteúdo Resposta HTTP.

Nota: o campo HttpContentType pode incluir o formato de conteúdo e os parâmetros adicionais, como a codificação utilizada para obter o formato real.

Exemplo: text/html; charset=ISO-8859-4
HttpContentFormat Opcional String A parte do formato de conteúdo do HttpContentType

Exemplo: text/html
HttpReferrer Opcional String O cabeçalho do referenciador HTTP.

Nota: o ASIM, em sincronização com o OSSEM, utiliza a ortografia correta para o referenciador e não a ortografia do cabeçalho HTTP original.

Exemplo: https://developer.mozilla.org/docs
HttpUserAgent Opcional String O cabeçalho do agente de utilizador HTTP.

Exemplo:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, como Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias para HttpUserAgent
HttpRequestXff Opcional Endereço IP O cabeçalho HTTP X-Forwarded-For.

Exemplo: 120.12.41.1
HttpRequestTime Opcional Número inteiro A quantidade de tempo, em milissegundos, demorou a enviar o pedido para o servidor, se aplicável.

Exemplo: 700
HttpResponseTime Opcional Número inteiro A quantidade de tempo, em milissegundos, demorou a receber uma resposta no servidor, se aplicável.

Exemplo: 800
HttpHost Opcional String O servidor Web virtual que o pedido HTTP tem como destino. Normalmente, este valor baseia-se no cabeçalho anfitrião HTTP.
Nomedo Ficheiro Opcional String Para carregamentos HTTP, o nome do ficheiro carregado.
FileMD5 Opcional MD5 Para carregamentos HTTP, o hash MD5 do ficheiro carregado.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Opcional SHA1 Para carregamentos HTTP, o hash SHA1 do ficheiro carregado.

Exemplo:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Opcional SHA256 Para carregamentos HTTP, o hash SHA256 do ficheiro carregado.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Opcional SHA512 Para carregamentos HTTP, o hash SHA512 do ficheiro carregado.
Hash Alias Alias para o campo Hash disponível.
FileHashType Opcional Enumerated O tipo de hash no campo Hash. Os valores possíveis incluem: MD5, SHA1, SHA256e SHA512.
FileSize Opcional Longo Para carregamentos HTTP, o tamanho em bytes do ficheiro carregado.
FileContentType Opcional String Para carregamentos HTTP, o tipo de conteúdo do ficheiro carregado.

Outros campos

Se o evento for reportado por um dos pontos finais da sessão Web, pode incluir informações sobre o processo que iniciou ou terminou a sessão. Nesses casos, o esquema do Evento de Processo ASIM para normalizar estas informações.

Atualizações de esquema

O esquema de Sessão Web depende do esquema de Sessão de Rede. Por conseguinte, as atualizações do esquema de Sessões de Rede também se aplicam ao esquema de Sessões Web.

Seguem-se as alterações na versão 0.2.5 do esquema:

  • Foi adicionado o campo HttpHost.

Seguem-se as alterações na versão 0.2.6 do esquema:

  • O tipo de FileSize foi alterado de Número Inteiro para Longo.

Passos seguintes

Para obter mais informações, consulte: