Поделиться через


Справочник по схеме нормализации веб-сеанса в расширенной информационной модели безопасности (ASIM) (общедоступная предварительная версия)

Схема нормализации веб-сеанса используется для описания действий в IP-сети. Например, о действиях в IP-сети сообщают веб-сервера, веб-прокси и шлюзы веб-безопасности.

Дополнительные сведения о нормализации в Microsoft Sentinel см. в статье Нормализация и расширенная информационная модель безопасности (ASIM).

Внимание

В настоящее время схема нормализации сети предоставляется в предварительной версии. Эта функция предоставляется без соглашения об уровне обслуживания, и ее не рекомендуется использовать в среде для производственных рабочих нагрузок.

Предварительная версия дополнительных условий использования Azure включают дополнительные юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или еще не общедоступны по другим причинам.

Общее представление схемы

Схема нормализации веб-сеансов представляет любой сетевой сеанс HTTP и хорошо подходит для обеспечения поддержки распространенных типов источников, включая следующие:

  • Веб-серверы
  • Веб-прокси.
  • Шлюзы веб-безопасности.

Схема веб-сеанса ASIM представляет действия по протоколам HTTP и HTTPS. Так как схема представляет действия по протоколу, она регулируется RFC и официально назначенными списками параметров, которые описываются в этой статье, когда это необходимо.

Схема веб-сеанса не представляет события аудита с исходных устройств. Например, событие, изменяющее политику шлюза веб-безопасности, не может быть представлено схемой веб-сеанса.

Так как сеансы HTTP — это сеансы уровня приложения, использующие TCP/IP в качестве базового сеанса сетевого уровня, схема веб-сеанса является надмножеством схемы сетевого сеанса ASIM.

Самые важные поля в схеме веб-сеанса:

  • Url, которое включает ULR-адрес, запрашиваемый клиентом у сервера.
  • SrcIpAddr (псевдоним IpAddr) — представляет IP-адрес, из которого был создан запрос.
  • Поле EventResultDetails , которое обычно сообщает код состояния HTTP.

События веб-сеанса могут также включать сведения о пользователях и процессах, инициирующих запрос.

Средства синтаксического анализа

Дополнительные сведения о средствах синтаксического анализа ASIM см. в обзоре средств синтаксического анализа ASIM.

Комплексные средства синтаксического анализа

Чтобы использовать средства синтаксического анализа, объединяющие все готовые средства синтаксического анализа ASIM, и убедиться, что ваш анализ выполняется во всех настроенных источниках, используйте средство синтаксического анализа с фильтрацией _Im_WebSession или средство синтаксического анализа без параметров_ASim_WebSession.

Вы также можете использовать средства синтаксического анализа ImWebSession и ASimWebSession, развернутые в рабочей области, развернув их из репозитория Microsoft Sentinel на GitHub. Дополнительные сведения см. в разделе Встроенные средства синтаксического анализа ASIM и развернутые в рабочей области средства синтаксического анализа.

Готовые и зависящие от источника средства синтаксического анализа

Список стандартных средств синтаксического анализа веб-сеансов Microsoft Sentinel см. в списке средств синтаксического анализа ASIM.

Добавление собственных нормализованных средств синтаксического анализа

При реализации пользовательских средств синтаксического анализа для информационной модели веб-сеансов называйте свои функции KQL согласно следующему синтаксису:

  • vimWebSession<vendor><Product> для параметризованных средств синтаксического анализа
  • ASimWebSession<vendor><Product> для обычных средств синтаксического анализа

Параметры фильтрации средств синтаксического анализа

Средства синтаксического анализа im и vim* поддерживают параметры фильтрации. Хотя эти средства синтаксического анализа являются необязательными, они могут повысить производительность запросов.

Доступны следующие параметры фильтрации:

Имя. Тип Описание
starttime datetime Обрабатывать только те веб-сеансы, которые были запущены в это время или после этого.
endtime datetime Обрабатывать только те веб-сеансы, которые были запущены в это время или до этого.
srcipaddr_has_any_prefix по строкам Обрабатывать только веб-сеансы, для которых префикс поля исходного IP-адреса находится в одном из указанных значений. Список значений может включать IP-адреса, а также префиксы IP-адресов. Префиксы должны заканчиваться на ., например: 10.0.. Длина списка ограничена 10 000 элементов.
ipaddr_has_any_prefix по строкам Фильтровать только сетевые сеансы, для которых префикс поля IP-адреса назначения или поля исходного IP-адреса имеет одно из указанных значений. Префиксы должны заканчиваться на ., например: 10.0.. Длина списка ограничена 10 000 элементов.

Поле ASimMatchingIpAddr задается одним из значений SrcIpAddr, DstIpAddr или Both в зависимости от соответствующих полей.
url_has_any по строкам Обрабатывать только те веб-сеансы, для которых поле URL-адреса имеет одно из указанных значений. Средство синтаксического анализа может игнорировать схему URL-адреса, переданного в качестве параметра, если источник не сообщает о нем. Если этот параметр указан и сеанс не является веб-сеансом, результат не будет возвращен. Длина списка ограничена 10 000 элементов.
httpuseragent_has_any по строкам Обрабатывать только те веб-сеансы, для которых поле агента пользователя имеет одно из указанных значений. Если этот параметр указан и сеанс не является веб-сеансом, результат не будет возвращен. Длина списка ограничена 10 000 элементов.
eventresultdetails_in по строкам Обрабатывать только те веб-сеансы, для которых код состояния HTTP в поле EventResultDetails имеет одно из указанных значений.
eventresult строка Фильтровать только сетевые сеансы с определенным значением EventResult.

Некоторые параметры могут принимать оба списка значений типа dynamic или одно строковое значение. Чтобы передать список литералов в параметры, которые предполагают динамическое значение, явно используйте динамический литерал. Например: dynamic(['192.168.','10.'])

Например, чтобы отфильтровать только веб-сеансы для указанного списка доменных имен, используйте:

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

Сведения о схеме

Модель сведений о веб-сеансе соответствует схеме сетевых сущностей OSSEM и схеме сущностей HTTP OSSEM.

Для соответствия лучшим отраслевым методикам схема веб-сеанса использует дескрипторы Src и Dst для определения источника сеанса и устройств назначения без включения Dvc маркера в имя поля.

Поэтому, например, имя узла исходного устройства и IP-адрес имеют имена SrcHostname и SrcIpAddr соответственно, а не SrcDvcHostname и SrcDvcIpAddr. Префикс Dvc используется только для передающего или промежуточного устройства (при применимости).

Поля, описывающие пользователя и приложение, связанные с исходным и целевым устройствами, также используют дескрипторы Src и Dst.

Другие схемы ASIM обычно используют Target вместо Dst.

Общие поля ASIM

Внимание

Поля, общие для всех схем, подробно описаны в статье Общие поля ASIM.

Общие поля с конкретными рекомендациями

В следующем списке упоминаются поля, имеющие определенные рекомендации по обработке событий веб-сеанса:

Поле Класс Тип Описание
EventType Обязательно Enumerated Описывает операцию, о которой сообщает эта запись. Допустимые значения:
- HTTPsession: обозначает сетевой сеанс, используемый для HTTP или HTTPS, как правило, промежуточным устройством, например прокси-сервером или шлюзом веб-безопасности.
- WebServerSession: обозначает HTTP-запрос, сообщаемый веб-сервером. Такое событие обычно имеет меньше сведений о сети. Указанный URL-адрес не должен содержать схему и имя сервера, а только путь и параметры, часть URL-адреса.
- ApiRequest: обозначает HTTP-запрос, связанный с вызовом API, обычно сообщаемый сервером приложений. Такое событие обычно имеет меньше сведений о сети. При отправке данным сервером приложений URL-адрес не должен включать схему и имя сервера, а только путь и параметры, часть URL-адреса.
EventResult Обязательно Enumerated Описывает результат события, нормализованный до одного из следующих значений:
- Success
- Partial
- Failure
- NA (неприменимо)

Для сеанса HTTP Success определяется как код состояния меньше 400, а Failure определяется как код состояния больше 400. Список кодов состояний HTTP см. на странице организации W3.

Возможно, что источник предоставляет значение только для поля EventResultDetails, которое нужно отдельно анализировать для получения значения EventResult.
EventResultDetails Рекомендуемая конфигурация Строка Код состояния HTTP.

Примечание. Значение может быть указано в исходной записи с использованием разных терминов, которые должны быть нормализованы до этих значений. Исходное значение должно храниться в поле EventOriginalResultDetails.
EventSchema Обязательно Строка Имя описанной здесь схемы — WebSession.
EventSchemaVersion Обязательно Строка Номер версии схемы. Здесь приведена версия схемы 0.2.6
Поля Dvc Для событий веб-сеанса поля устройства ссылаются на систему, которая сообщает о событии веб-сеанса. Обычно это промежуточное устройство для HTTPSession событий, а также целевой веб-сервер или сервер приложений для WebServerSession и ApiRequest событий.

Все общие поля

Поля, представленные в таблице ниже, являются общими для всех схем ASIM. Все указанные выше рекомендации переопределяют общие рекомендации для поля. Например, поле может быть необязательным в целом, но обязательным для конкретной схемы. Дополнительные сведения о каждом поле см. в статье Общие поля ASIM.

Class Поля
Обязательно - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Рекомендуемая конфигурация - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Необязательно - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Поля сетевого сеанса

HTTP-сеансы — это сеансы уровня приложения, использующие TCP/IP в качестве базового сеанса сетевого уровня. Схема веб-сеанса — это супер набор схемы сетевого сеанса ASIM, а все поля сетевой схемы также включены в схему веб-сеанса.

Для следующих полей схемы сетевого сеанса ASIM имеются определенные рекомендации при использовании для события веб-сеанса:

  • Псевдоним пользователя должен ссылаться на SrcUsername, а не на DstUsername.
  • Поле EventOriginalResultDetails может хранить любой результат, сообщаемый источником, в дополнение к коду состояния HTTP, хранимому в EventResultDetails.
  • Для веб-сеансов основным полем назначения является Url Field. DstDomain необязательно (а не рекомендуется). В частности, если оно недоступно, его не нужно извлекать из URL-адреса в средстве синтаксического анализа.
  • Поля NetworkRuleName и NetworkRuleNumber переименованы RuleName соответственно RuleNumber .

О событиях веб-сеанса обычно сообщают промежуточные устройства, которые завершают HTTP-подключение от клиента и инициируют новое подключение с сервером, выступающее качестве прокси-сервера. Чтобы представить промежуточное устройство, используйте поля промежуточного устройства схемы сетевых сеансов ASIM

Поля сеанса HTTP

Ниже приведены дополнительные поля, относящиеся к веб-сеансам:

Поле Класс Тип Описание
URL-адрес Обязательно Строка URL-адрес HTTP-запроса, включая параметры. Для HTTPSession событий URL-адрес может содержать схему и должен содержать имя сервера. ApiRequest Для WebServerSession URL-адреса обычно не будет содержать схему и сервер, которые можно найти в NetworkApplicationProtocol полях и DstFQDN полях соответственно.

Пример: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Необязательно Строка Определенная группа URL-адреса или часть домена URL-адреса. Эта категория обычно предоставляется шлюзами веб-безопасности и основана на содержимом сайта, на который указывает URL-адрес.

Пример: поисковые системы, домены для взрослых, домены новостей, рекламные домены и закрепленные домены.
UrlOriginal Необязательно Строка Исходное значение URL-адреса, если URL-адрес был изменен передающим устройством и указаны оба значения.
HttpVersion Необязательно Строка Версия HTTP-запроса.

Пример: 2.0
HttpRequestMethod Рекомендуемая конфигурация Enumerated Метод HTTP. Используются значения, определенные в стандартах RFC 7231 и RFC 5789. Они включают следующие: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE и PATCH.

Пример: GET
HttpStatusCode Псевдоним Код состояния HTTP. Псевдоним для EventResultDetails.
HttpContentType Необязательно Строка Заголовок типа содержимого для HTTP-ответа.

Примечание. Поле HttpContentType может включать формат содержимого и дополнительные параметры, например кодирование, используемое для получения фактического формата.

Пример: text/html; charset=ISO-8859-4
HttpContentFormat Необязательно Строка Часть HttpContentType с форматом содержимого.

Пример: text/html
HttpReferrer Необязательно Строка Заголовок источника ссылки HTTP.

Примечание. Синхронизируясь с OSSEM, ASIM использует правильное написание источника ссылки, а не исходное написание HTTP-заголовка.

Пример: https://developer.mozilla.org/docs
HttpUserAgent Необязательно Строка Заголовок агента пользователя HTTP.

Пример:
Mozilla/5.0 (Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, например Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Псевдоним Псевдоним для HttpUserAgent.
HttpRequestXff Необязательно IP-адрес HTTP-заголовок X-Forwarded-For.

Пример: 120.12.41.1
HttpRequestTime Необязательно Целое Время (в миллисекундах), затраченное на отправку запроса на сервер (если применимо).

Пример: 700
HttpResponseTime Необязательно Целое Время (в миллисекундах), затраченное на получение ответа на сервере (если применимо).

Пример: 800
HttpHost Необязательно Строка Виртуальный веб-сервер, на который предназначен HTTP-запрос. Обычно это значение основано на заголовке узла HTTP.
FileName Необязательно Строка Для передачи по HTTP это имя отправленного файла.
FileMD5 Необязательно MD5 Для передачи по HTTP это хэш MD5 отправленного файла.

Пример: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 Необязательно SHA1 Для передачи по HTTP это хэш SHA1 отправленного файла.

Пример:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 Необязательно SHA256 Для передачи по HTTP это хэш SHA256 отправленного файла.

Пример:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 Необязательно SHA512 Для передачи по HTTP это хэш SHA512 отправленного файла.
Hash Псевдоним Псевдоним для доступного поля хэша.
FileHashType Необязательно Enumerated Тип хэша в поле Hash. Возможные значения: MD5, SHA1, SHA256 и SHA512.
FileSize Необязательно Long Для передачи по HTTP это размер (в байтах) отправленного файла.
FileContentType Необязательно Строка Для передачи по HTTP это тип содержимого отправляемого файла.

Другие поля

Если о событии сообщает одна из конечных точек веб-сеанса, оно может содержать сведения о процессе, который инициировал или завершил сеанс. В таких случаях используется схема событий процесса ASIM для нормализации этой информации.

Обновления схемы

Схема веб-сеанса зависит от схемы сетевого сеанса. Поэтому обновления схемы сетевого сеанса также применяются к схеме веб-сеанса.

Ниже приведены изменения в схеме версии 0.2.5:

  • Добавлено поле HttpHost.

Ниже приведены изменения в схеме версии 0.2.6:

  • Тип FileSize был изменен с целочисленного на Long.

Дальнейшие действия

Дополнительные сведения см. в разделе: