Справочник по схеме нормализации веб-сеанса в расширенной информационной модели безопасности (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.
Класс | Fields |
---|---|
Обязательный | - 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-адрес может включать схему и должно содержать имя сервера. Для WebServerSession и для ApiRequest URL-адреса обычно не включаются схема и сервер, которые можно найти в NetworkApplicationProtocol полях и DstFQDN соответственно. Пример: https://contoso.com/fo/?k=v&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 был изменен с Integer на Long.
Дальнейшие действия
Дополнительные сведения см. в разделе:
- Посмотрите веб-семинар ASIM или слайды.
- Обзор расширенной информационной модели безопасности (ASIM)
- Схемы расширенной информационной модели безопасности (ASIM)
- Средства синтаксического анализа расширенной информационной модели безопасности (ASIM)
- Содержимое расширенной информационной модели безопасности (ASIM)