Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Схема нормализации веб-сеанса используется для описания действия IP-сети. Например, о действиях в IP-сети сообщают веб-серверы, веб-прокси и шлюзы веб-безопасности.
Дополнительные сведения о нормализации в Microsoft Sentinel см. в разделе Нормализация и расширенная информационная модель безопасности (ASIM).
Обзор схемы
Схема нормализации веб-сеанса представляет любой сетевой сеанс HTTP и подходит для поддержки распространенных типов источников, включая:
- Веб-серверы
- Веб-прокси
- Шлюзы веб-безопасности
Схема веб-сеанса ASIM представляет действия по протоколам HTTP и HTTPS. Так как схема представляет действие протокола, она регулируется RFC и официально назначенными списками параметров, на которые ссылаются в этой статье при необходимости.
Схема веб-сеанса не представляет события аудита с исходных устройств. Например, событие, изменяющее политику шлюза веб-безопасности, не может быть представлено схемой веб-сеанса.
Так как http-сеансы — это сеансы прикладного уровня, использующие TCP/IP в качестве базового сеанса сетевого уровня, схема веб-сеанса — это супер набор схемы сетевого сеанса ASIM.
Наиболее важные поля в схеме веб-сеанса:
- URL-адрес, который передает URL-адрес, запрошенный клиентом на сервере.
- SrcIpAddr (псевдоним IpAddr), представляющий IP-адрес, с которого был создан запрос.
- Поле EventResultDetails , которое обычно сообщает код состояния HTTP.
События веб-сеанса также могут содержать сведения о пользователе и процессе , инициирующего запрос.
Парсеров
Дополнительные сведения о средствах синтаксического анализа ASIM см. в обзоре средства синтаксического анализа ASIM.
Объединение синтаксического анализа
Чтобы использовать средства синтаксического анализа, которые унифицировывают все встроенные средства синтаксического анализа ASIM и обеспечивают выполнение анализа во всех настроенных источниках, используйте _Im_WebSession средство синтаксического анализа.
Встроенные средства синтаксического анализа для конкретного источника
Список средств синтаксического анализа веб-сеансов, Microsoft Sentinel предоставляет встроенные средства синтаксического анализа, см. в списке средств синтаксического анализа ASIM.
Добавление собственных нормализованных анализаторов
При реализации пользовательских средств синтаксического анализа для информационной модели веб-сеанса назовите свои функции KQL, используя следующий синтаксис:
-
vimWebSession<vendor><Product>для параметризованных синтаксических анализаторов -
ASimWebSession<vendor><Product>для обычных синтаксического анализа
Фильтрация параметров средства синтаксического анализа
Средства im синтаксического анализа и vim* поддерживают параметры фильтрации. Хотя эти средства синтаксического анализа являются необязательными, они могут повысить производительность запросов.
Доступны следующие параметры фильтрации:
| Имя | Тип | Описание |
|---|---|---|
| Starttime | datetime | Отфильтруйте только веб-сеансы, которые были запущены в это время или позже. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа. |
| время окончания | datetime | Фильтрация только веб-сеансов, которые начали выполняться в это время или раньше. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа. |
| 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 | string | Фильтрация только сетевых сеансов с определенным значением 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 соответственно, а не имя узла SrcDvc и SrcDvcIpAddr. Префикс Dvc используется только для отчеты или промежуточного устройства, если применимо.
Поля, описывающие пользователя и приложение, связанные с исходным и целевым устройствами, также используют дескрипторы Src и Dst .
Другие схемы ASIM обычно используют target вместо Dst.
Общие поля ASIM
Важно!
Поля, общие для всех схем, подробно описаны в статье Общие поля ASIM .
Общие поля с определенными рекомендациями
В следующем списке перечислены поля с определенными рекомендациями по событиям веб-сеанса.
| Поле | Класс | Тип | Описание |
|---|---|---|---|
| Eventtype | Обязательный | Перечисленных | Описывает операцию, сообщаемую записью. Допустимые значения: - HTTPsession: обозначает сетевой сеанс, используемый для HTTP или HTTPS, обычно сообщаемый промежуточным устройством, например прокси-сервером или шлюзом веб-безопасности.- WebServerSession: обозначает HTTP-запрос, сообщаемый веб-сервером. Такое событие обычно содержит меньше сведений, связанных с сетью. Сообщаемые URL-адреса должны включать не схему и имя сервера, а только часть URL-адреса пути и параметров. - ApiRequest: обозначает HTTP-запрос, связанный с вызовом API, обычно сообщаемый сервером приложений. Такое событие обычно содержит меньше сведений, связанных с сетью. При отправке сервером приложений URL-адрес должен включать не схему и имя сервера, а только путь и параметры, которые являются частью URL-адреса. |
| EventResult | Обязательный | Перечисленных | Описывает результат события, нормализованный до одного из следующих значений: - Success - Partial - Failure - NA (неприменимо) Для сеанса Success HTTP определяется как код состояния ниже , а 400Failure определяется как код состояния выше 400. Список кодов состояния HTTP см. в разделе W3 Org.Источник может предоставить только значение для поля EventResultDetails , которое необходимо проанализировать, чтобы получить значение EventResult . |
| EventResultDetails | Рекомендуемый | Перечисленных | Код состояния HTTP, определенный консорциумом World Wide Web Примечание. Значение может быть указано в исходной записи с использованием разных терминов, которые должны быть нормализованы для этих значений. Исходное значение должно храниться в поле EventOriginalResultDetails . |
| EventSchema | Обязательный | Перечисленных | Имя схемы, описанной здесь, — WebSession. |
| EventSchemaVersion | Обязательный | SchemaVersion (String) | Версия схемы. Версия схемы, описанная здесь: 0.2.7 |
| Поля Dvc | Для событий веб-сеанса поля устройства относятся к системе, сообщая о событии веб-сеанса. Обычно это промежуточное устройство для HTTPSession событий, а также целевой веб-сервер или сервер приложений для WebServerSession событий и ApiRequest . |
Все общие поля
Поля, отображаемые в таблице ниже, являются общими для всех схем ASIM. Любое указанное выше руководство переопределяет общие рекомендации для поля. Например, поле может быть необязательным в целом, но обязательным для конкретной схемы. Дополнительные сведения о каждом поле см. в статье Общие поля ASIM .
| Class | 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 - Дополнительные поля - DvcDescription - DvcScopeId - DvcScope |
Поля сетевого сеанса
Сеансы HTTP — это сеансы прикладного уровня, использующие TCP/IP в качестве базового сеанса сетевого уровня. Схема веб-сеанса — это супер набор схемы сетевого сеанса ASIM , и все поля схемы сети также включены в схему веб-сеанса.
Следующие поля схемы сетевого сеанса ASIM имеют определенные рекомендации при использовании для события веб-сеанса:
- Псевдоним User должен ссылаться на SrcUsername , а не на DstUsername.
- Поле EventOriginalResultDetails может содержать любой результат, сообщаемый источником, в дополнение к коду состояния HTTP, хранящемуся в EventResultDetails.
- Для веб-сеансов основным целевым полем является поле URL-адреса. DstDomain является необязательным, а не рекомендуется. В частности, если он недоступен, нет необходимости извлекать его из URL-адреса в средстве синтаксического анализа.
- Поля
NetworkRuleNameиNetworkRuleNumberпереименовываютсяRuleNameиRuleNumberсоответственно.
События веб-сеанса обычно сообщаются промежуточными устройствами, которые завершают HTTP-подключение от клиента и инициируют новое соединение с сервером, выступая в качестве прокси-сервера. Чтобы представить промежуточное устройство, используйте поля схемы сетевого сеанса ASIM— промежуточное устройство.
Поля сеанса HTTP
Ниже приведены дополнительные поля, относящиеся к веб-сеансам.
| Поле | Класс | Тип | Описание |
|---|---|---|---|
| Url | Обязательный | URL-адрес (строка) | URL-адрес HTTP-запроса, включая параметры. Для HTTPSession событий URL-адрес может включать схему и должен содержать имя сервера. Для WebServerSession и для ApiRequest URL-адреса обычно не включаются схема и сервер, которые можно найти в NetworkApplicationProtocol полях и DstFQDN соответственно. Пример: https://contoso.com/fo/?k=v&q=u#f |
| UrlCategory | Необязательный | String | Определенное группирование URL-адреса или доменной части URL-адреса. Категория обычно предоставляется шлюзами веб-безопасности и основана на содержимом сайта, на который указывает URL-адрес. Пример: поисковые системы, взрослые, новости, реклама и припаркованные домены. |
| UrlOriginal | Необязательный | URL-адрес (строка) | Исходное значение URL-адреса, когда URL-адрес был изменен устройством создания отчетов, и указаны оба значения. |
| HttpVersion | Необязательный | String | Версия HTTP-запроса. Пример: 2.0 |
| HttpRequestMethod | Рекомендуемый | Перечисленных | Метод HTTP. Значения определены в RFC 7231 и RFC 5789 и включают GET, , POSTHEAD, PUT, DELETE, , CONNECT, OPTIONS, TRACE, и PATCH.Пример: GET |
| HttpStatusCode | Alias | Код состояния HTTP. Псевдоним EventResultDetails. | |
| HttpContentType | Необязательный | String | Заголовок типа контента HTTP Response. Примечание. Поле HttpContentType может включать как формат содержимого, так и дополнительные параметры, такие как кодировка, используемая для получения фактического формата. Пример: text/html; charset=ISO-8859-4 |
| HttpContentFormat | Необязательный | String | Часть формата содержимого httpContentType Пример: text/html |
| HttpReferrer | Необязательный | String | Заголовок ссылок HTTP. Примечание. ASIM при синхронизации с OSSEM использует правильное написание для ссылок, а не исходное написание заголовка HTTP. Пример: https://developer.mozilla.org/docs |
| HttpUserAgent | Необязательный | String | Заголовок агента пользователя HTTP. Пример: Mozilla/5.0(Windows NT 10.0; WOW64)AppleWebKit/537.36 (KHTML, как Gecko)Chrome/83.0.4103.97 Safari/537.36 |
| UserAgent | Alias | Псевдоним httpUserAgent | |
| HttpRequestXff | Необязательный | IP-адрес | Заголовок HTTP X-Forwarded-For. Пример: 120.12.41.1 |
| HttpRequestTime | Необязательный | Integer | Время в миллисекундах, затратимое на отправку запроса на сервер, если применимо. Пример: 700 |
| HttpResponseTime | Необязательный | Integer | Время в миллисекундах, затратимое на получение ответа на сервере, если применимо. Пример: 800 |
| HttpHost | Необязательный | String | Виртуальный веб-сервер, на который направлен HTTP-запрос. Это значение обычно основано на заголовке узла HTTP. |
| FileName | Необязательный | String | Для отправки по протоколу HTTP — имя отправленного файла. |
| FileMD5 | Необязательный | MD5 | Для отправки по протоколу HTTP — хэш MD5 отправленного файла. Пример: 75a599802f1fa166cdadb360960b1dd0 |
| FileSHA1 | Необязательный | SHA1 | Для отправки по протоколу HTTP — хэш SHA1 отправленного файла. Пример: d55c5a4df19b46db8c54c801c4665d3338acdab0 |
| FileSHA256 | Необязательный | SHA256 | Для отправки по протоколу HTTP — хэш SHA256 отправленного файла. Пример: e81bb824c4a09a811af17deae22f22dd2e1ec8cbb00b22629d2899f7c68da274 |
| FileSHA512 | Необязательный | SHA512 | Для отправки по протоколу HTTP — хэш SHA512 отправленного файла. |
| Хэш | Alias | Псевдоним доступного поля Хэша. | |
| HashType | Условного | Перечисленных | Тип хэша в поле Хэш . Возможные значения: MD5, SHA1, SHA256и SHA512. |
| FileSize | Необязательный | Long | Для отправки по протоколу HTTP — размер отправленного файла в байтах. |
| FileContentType | Необязательный | String | Для отправки по протоколу HTTP — тип содержимого отправленного файла. |
| HttpCookie | Необязательный | String | Содержимое заголовка файла cookie HTTP, отправляемого с клиента на сервер, содержащего пары "имя-значение" данных сеанса. Пример: session_id=abc123; user_pref=dark_mode |
| HttpIsProxied | Необязательный | Логический | Указывает, был ли HTTP-запрос отправлен через прокси-сервер. Пример: true |
| HttpRequestBodyBytes | Необязательный | Long | Размер текста HTTP-запроса в байтах без учета заголовков. Пример: 1024 |
| HttpRequestCacheControl | Необязательный | String | Содержимое http-Cache-Control заголовка запроса, указывающего директивы кэширования от клиента. Пример: no-cache |
| HttpRequestHeaderCount | Необязательный | Integer | Количество http-заголовков, включенных в запрос. Пример: 12 |
| HttpResponseBodyBytes | Необязательный | Long | Размер текста HTTP-ответа в байтах без учета заголовков. Пример: 8192 |
| HttpResponseCacheControl | Необязательный | String | Содержимое http-Cache-Control заголовка ответа, указывающего директивы кэширования с сервера. Пример: max-age=3600, public |
| HttpResponseExpires | Необязательный | String | Содержимое заголовка ответа HTTP Expires, указывающее, когда истечет срок действия содержимого ответа. Пример: Thu, 01 Dec 2024 16:00:00 GMT |
| HttpResponseHeaderCount | Необязательный | Integer | Количество http-заголовков, включенных в ответ. Пример: 15 |
Другие поля
Если событие сообщается одной из конечных точек веб-сеанса, оно может содержать сведения о процессе, который инициировал или завершил сеанс. В таких случаях для нормализации этих сведений используется схема события процесса ASIM .
Обновления схемы
Схема веб-сеанса основана на схеме сетевого сеанса. Поэтому обновления схемы сетевого сеанса также применяются к схеме веб-сеанса.
Ниже приведены изменения в схеме версии 0.2.5.
- Добавлено поле
HttpHost.
Ниже приведены изменения в схеме версии 0.2.6.
- Тип FileSize был изменен с Integer на Long.
Ниже приведены изменения в схеме версии 0.2.7.
- Добавлены поля
HttpCookie, ,HttpIsProxiedHttpRequestBodyBytes,HttpRequestCacheControl, ,HttpRequestHeaderCount, ,HttpResponseBodyBytes,HttpResponseCacheControlHttpResponseExpiresиHttpResponseHeaderCount.
Дальнейшие действия
Дополнительные сведения см. в указанных ниже статьях.
- Просмотрите вебинар ASIM или просмотрите слайды
- Обзор расширенной информационной модели безопасности (ASIM)
- Схемы расширенной информационной модели безопасности (ASIM)
- Средства синтаксического анализа расширенной информационной модели безопасности (ASIM)
- Содержимое расширенной информационной модели безопасности (ASIM)