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 parametrizadosASimWebSession<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 , DstIpAddr ou 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
eNetworkRuleNumber
são renomeadosRuleName
eRuleNumber
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&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 , DELETE CONNECT , 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:
- Assista ao Webinar da ASIM ou revise os slides
- Visão geral do ASIM (Advanced Security Information Model, modelo avançado de informações de segurança)
- Esquemas ASIM (Advanced Security Information Model)
- Analisadores ASIM (Advanced Security Information Model)
- Conteúdo do modelo avançado de informações de segurança (ASIM)