A referência do esquema de normalização da sessão da Web ASIM (Advanced Security Information Model) (visualização pública)

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

Para obter mais informações sobre normalização no Microsoft Sentinel, consulte Normalização e o modelo avançado de informações de segurança (ASIM).

Importante

O esquema de normalização de rede está atualmente em visualização. Esse recurso é fornecido sem um contrato de nível de serviço e não é recomendado para cargas de trabalho de produção.

Os Termos Suplementares do Azure Preview incluem termos legais adicionais que se aplicam a funcionalidades do Azure que estão em versão beta, pré-visualização ou ainda não disponibilizadas para disponibilidade geral.

Descrição geral do esquema

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

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

O esquema ASIM Web Session representa a atividade dos protocolos HTTP e HTTPS. Como o esquema representa a atividade do protocolo, ele é governado por RFCs e listas de parâmetros oficialmente atribuídas, que são referenciadas neste artigo quando apropriado.

O esquema de Sessão da Web não representa eventos de auditoria de dispositivos de origem. Por exemplo, um evento modificando uma diretiva do Gateway de Segurança da Web não pode ser representado pelo esquema de Sessão da Web.

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

Os campos mais importantes em um esquema de sessão da Web são:

  • Url, que informa a url que o cliente solicitou ao servidor.
  • O SrcIpAddr (aliased para IpAddr), que representa o endereço IP a partir do qual a solicitação foi gerada.
  • Campo EventResultDetails , que normalmente relata o código de status HTTP.

Os eventos da Sessão Web também podem incluir informações de Usuário e Processo para o usuário e o processo que inicia a solicitação.

Analisadores

Para obter mais informações sobre analisadores ASIM, consulte a visão geral dos analisadores ASIM.

Analisadores unificadores

Para usar analisadores que unifiquem todos os analisadores ASIM prontos para uso e garantir que sua análise seja executada em todas as fontes configuradas, use o _Im_WebSession analisador de filtragem ou o _ASim_WebSession analisador sem parâmetros.

Você também pode usar o espaço de trabalho implantado ImWebSession e ASimWebSession analisadores implantando-os a partir do repositório GitHub do Microsoft Sentinel. Para obter mais informações, consulte Analisadores ASIM internos e analisadores implantados no espaço de trabalho.

Analisadores prontos para uso e específicos da fonte

Para obter a lista dos analisadores de sessão da Web fornecidos pelo Microsoft Sentinel prontos para uso, consulte a lista de analisadores ASIM

Adicione seus próprios analisadores normalizados

Ao implementar analisadores personalizados para o modelo de informações da Sessão Web, nomeie suas funções KQL usando a seguinte sintaxe:

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

Parâmetros do analisador de filtragem

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

Os seguintes parâmetros de filtragem estão disponíveis:

Nome Tipo Description
Hora de início datetime Filtre apenas sessões da Web iniciadas nesse período ou após esse período.
tempo de fim datetime Filtre apenas sessões da Web que começaram a ser executadas nesse período ou antes dele.
srcipaddr_has_any_prefix dynamic Filtre apenas sessões da Web para as quais o prefixo do campo de endereço IP de origem esteja em um 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 tamanho da lista é limitado a 10.000 itens.
ipaddr_has_any_prefix dynamic Filtre apenas sessões de rede para as quais o campo de endereço IP de destino ou o prefixo do campo de endereço IP de origem esteja em um dos valores listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. O tamanho da lista é limitado a 10.000 itens.

O campo ASimMatchingIpAddr é definido com um dos valores SrcIpAddr, DstIpAddrou Both para refletir os campos ou campos correspondentes.
url_has_any dynamic Filtre apenas sessões da Web para as quais o campo URL tenha algum dos valores listados. O analisador pode ignorar o esquema da URL passada como parâmetro, se a fonte não relatá-lo. Se especificado e a sessão não for uma sessão da Web, nenhum resultado será retornado. O tamanho da lista é limitado a 10.000 itens.
httpuseragent_has_any dynamic Filtre apenas sessões da Web para as quais o campo agente do usuário tenha qualquer um dos valores listados. Se especificado e a sessão não for uma sessão da Web, nenhum resultado será retornado. O tamanho da lista é limitado a 10.000 itens.
eventresultdetails_in dynamic Filtre apenas sessões da Web para as quais o código de status HTTP, armazenado no campo EventResultDetails , seja qualquer um dos valores listados.
resultado do evento string Filtre apenas sessões de rede com um valor EventResult específico.

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

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

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 de entidade HTTP do OSSEM.

Para estar em conformidade com as práticas recomendadas do setor, o esquema Web Session usa os descritores Src e Dst para identificar os dispositivos de origem e destino da sessão, sem incluir o token Dvc no nome do campo.

Assim, por exemplo, o nome do host do dispositivo de origem e o endereço IP são nomeados SrcHostname e SrcIpAddr , respectivamente, e não SrcDvcHostname e SrcDvcIpAddr. O prefixo Dvc é usado apenas para o dispositivo de relatório ou intermediário, conforme aplicável.

Os campos que descrevem o usuário e o aplicativo associados aos dispositivos de origem e destino também usam os descritores Src e Dst .

Outros esquemas ASIM normalmente usam Target em vez de Dst.

Campos ASIM comuns

Importante

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

Domínios comuns com orientações específicas

A lista a seguir menciona campos que têm diretrizes específicas para eventos de Sessão da Web:

Campo Classe Tipo Description
Tipo de Evento Obrigatório Enumerated Descreve a operação relatada pelo registro. Os valores permitidos são:
- HTTPsession: Indica uma sessão de rede usada para HTTP ou HTTPS, normalmente relatada por um dispositivo intermediário, como um proxy ou um gateway de segurança da Web.
- WebServerSession: Indica uma solicitação HTTP relatada por um servidor Web. Tal evento normalmente tem menos informações relacionadas à rede. A URL relatada não deve incluir um esquema e um nome de servidor, mas apenas a parte de caminho e parâmetros da URL.
- ApiRequest: Indica uma solicitação HTTP relatada associada a uma chamada de API, normalmente relatada por um servidor de aplicativos. Tal evento normalmente tem menos informações relacionadas à rede. Quando relatado pelo servidor de aplicativos, a URL relatada não deve incluir um esquema e um nome de servidor, mas apenas a parte de caminho e parâmetros da 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 status inferior a 400, e Failure é definido como um código de status maior que 400. Para obter uma lista de códigos de status HTTP, consulte W3 Org.

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

Nota: O valor pode ser fornecido no registro de origem usando termos diferentes, que devem ser normalizados para esses 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 documentada aqui é 0.2.6
Campos Dvc Para eventos de Sessão Web, os campos de dispositivo referem-se ao sistema que relata o evento Sessão Web. Normalmente, trata-se de um dispositivo intermediário para HTTPSession eventos e o servidor Web ou de aplicativos de destino para WebServerSession e ApiRequest eventos.

Todos os campos comuns

Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer diretriz especificada acima substitui as diretrizes gerais para o 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, consulte o artigo Campos comuns do ASIM.

Classe Campos
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- Tipo de Evento
- EventResult
- EventoProduto
- EventVendor
- EventSchema
- EventSchemaVersion
- DVC
Recomendado - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcNome do host
- DvcDomínio
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- SubTipo de Evento
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- Proprietário do Evento
- DvcZona
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Campos Adicionais
- DvcDescrição
- 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 da 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 da Web.

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

  • O alias User deve referir-se ao SrcUsername e não ao DstUsername.
  • O campo EventOriginalResultDetails pode conter qualquer resultado relatado pela fonte, além do código de status HTTP armazenado em EventResultDetails.
  • Para sessões da Web, o campo de destino principal é o campo Url. O DstDomain é opcional em vez de recomendado. Especificamente, se não estiver disponível, não há necessidade de extraí-lo da URL no analisador.
  • Os campos NetworkRuleName e NetworkRuleNumber são renomeados RuleName e RuleNumber respectivamente.

Os eventos de Sessão da Web geralmente são relatados por dispositivos intermediários que encerram a conexão HTTP do cliente e iniciam uma nova conexão, agindo como um proxy, com o servidor. Para representar o dispositivo intermediário, use os campos de dispositivo intermediário do esquema de sessão de rede ASIM

Campos de sessão HTTP

A seguir estão campos adicionais específicos para sessões da Web:

Campo Classe Tipo Description
Url Obrigatório String A URL da solicitação HTTP, incluindo parâmetros. Para HTTPSession eventos, a URL pode incluir o esquema e deve incluir o nome do servidor. Para WebServerSession e para ApiRequest a URL normalmente não incluiria o esquema e o servidor, que podem ser encontrados nos NetworkApplicationProtocol campos e DstFQDN respectivamente.

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 da 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 da URL, quando a URL foi modificada pelo dispositivo de relatório e ambos os valores são fornecidos.
Versão Http Opcional String A versão da solicitação HTTP.

Exemplo: 2.0
HttpRequestMethod Recomendado Enumerated O método HTTP. Os valores são os definidos na RFC 7231 e RFC 5789 e incluem GET, HEAD, POST, , PUT, DELETECONNECT, OPTIONS, TRACE, e PATCH.

Exemplo: GET
HttpStatusCode Alias O código de status 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 parâmetros extras, como a codificação usada para obter o formato real.

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

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

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

Exemplo: https://developer.mozilla.org/docs
HttpUserAgent Opcional String O cabeçalho do agente do usuário 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, que levou para enviar a solicitação ao servidor, se aplicável.

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

Exemplo: 800
HttpHost Opcional String O servidor Web virtual que a solicitação HTTP destinou. Esse valor normalmente é baseado no cabeçalho HTTP Host.
Nome do arquivo Opcional String Para carregamentos HTTP, o nome do ficheiro carregado.
ArquivoMD5 Opcional MD5 Para uploads HTTP, o hash MD5 do arquivo carregado.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Opcional SHA1 Para uploads HTTP, o hash SHA1 do arquivo carregado.

Exemplo:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
ArquivoSHA256 Opcional SHA256 Para uploads HTTP, o hash SHA256 do arquivo carregado.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ArquivoSHA512 Opcional SHA512 Para uploads HTTP, o hash SHA512 do arquivo 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, SHA256, e SHA512.
Tamanho do arquivo Opcional Longo Para uploads HTTP, o tamanho em bytes do arquivo carregado.
FileContentType Opcional String Para uploads HTTP, o tipo de conteúdo do arquivo carregado.

Outros domínios

Se o evento for relatado por um dos pontos de extremidade da sessão da Web, ele poderá incluir informações sobre o processo que iniciou ou encerrou a sessão. Nesses casos, o esquema de evento de processo ASIM para normalizar essas informações.

Atualizações de esquema

O esquema de Sessão da Web depende do esquema de Sessão de Rede. Portanto, as atualizações do esquema de sessão de rede também se aplicam ao esquema de sessão da Web.

A seguir estão as alterações na versão 0.2.5 do esquema:

  • Adicionado o campo HttpHost.

A seguir estão as alterações na versão 0.2.6 do esquema:

  • O tipo de FileSize foi alterado de Integer para Long.

Próximos passos

Para obter mais informações, consulte: