|
ID статьи: 3413
Последнее обновление: 07 Oct, 2026
Documentation: Product: WAF Version: 7.7.x
Веб-сервисы и API могут обмениваться данными в формате XML. Если UserGate WAF будет обрабатывать тело HTTP-запроса как обычный текст, не учитывая структуру XML, это может привести к пропуску угроз, включая XXE-атаки, XPath-инъекции и скрытые XSS-полезные нагрузки в элементах и атрибутах. Для корректной проверки таких запросов UserGate WAF выполняет разбор тела запроса и проверяет соответствие данных структуре XML. Эти параметры настраиваются в XML-профилях. XML-профиль, подключенный к правилу публикации, обеспечивает:
О данных в формате XMLXML (Extensible Markup Language) — это расширяемый язык разметки для представления структурированных данных. В HTTP‑запросах данные в формате XML обычно приходят в теле запроса с заголовком Content-Type: application/xml или более специфичным, например application/soap+xml или application/rss+xml. Пример HTTP-запроса с XML
Основными элементами структуры XML являются:
Принцип проверки HTTP-запросов с телом в формате XMLЕсли к правилу публикации подключен только XML-профиль, проверка выполняется последовательно: сначала проверяется заголовок Content-Type или формат тела запроса, затем — заданные лимиты и соответствие XML-схемам. Парсинг XML и проверка тела запроса на соответствие XML-схемам выполняются только в том случае, если в профиле настроен хотя бы один лимит или хотя бы одна XML-схема. Само по себе указание заголовка Content-Type не запускает проверку структуры XML. 1. Проверка заголовка Content-Type Если в XML-профиле указан заголовок Content-Type, UserGate WAF проверяет, соответствует ли ему заголовок запроса. Если заголовок запроса не соответствует заданному значению, запрос пропускается этим профилем и может быть проверен другими профилями или правилами публикации. Если заголовок Content-Type не указан, UserGate WAF проверяет, соответствует ли тело запроса формату XML:
2. Проверка лимитов Если в XML-профиле настроены лимиты для тела запроса, UserGate WAF проверяет их соблюдение:
Если лимиты не настроены, этот этап пропускается, а запрос передается на проверку по XML-схеме. 3. Проверка соответствия XML-схеме Если в XML-профиле указаны XML-схемы, UserGate WAF разбирает тело запроса, проверяет его структуру и сопоставляет ее с заданными схемами.
Если в XML-профиле не указаны XML-схемы, запрос пропускается и передается на проверку другими правилами публикации, если они предусмотрены в конфигурации политики безопасности. Порядок совместной проверки запроса XML-профилем и WAF-профилемЕсли к правилу публикации подключен только XML-профиль, UserGate WAF будет фильтровать запросы в соответствии с настроенной конфигурацией XML-профиля. Чтобы после парсинга также выполнялась проверка XML-тела запроса на наличие угроз, к правилу публикации помимо XML-профиля также необходимо подключить и WAF-профиль. Правило публикации, в котором одновременно подключены WAF‑профиль (для проверки экспертными WAF‑правилами) и XML‑профиль (для парсинга и проверки XML), обрабатывает запрос в несколько этапов, порядок которых определяется параметрами XML‑профиля. Порядок проверки зависит от того, какие параметры проверки указаны в XML‑профиле: значение заголовка Content-Type, лимиты на данные, XML-схема. WAF‑профиль при этом отвечает за проверку по экспертным правилам (заголовки, параметры, тело), а XML‑профиль — за парсинг, лимиты и проверку по схеме. Рассмотрим проверку запроса на примере, когда к правилу публикации подключены WAF‑профиль и XML‑профиль и в XML‑профиле указаны:
Тогда проверка запроса будет выполняться в следующем порядке: 1. Проверка соответствия заголовка Content-Type и лимитов (XML‑профиль).
2. Проверка заголовков (WAF‑профиль). 3. Проверка тела запроса (XML‑профиль, затем WAF‑профиль). Таким образом, при наличии и WAF‑профиля, и XML‑профиля в одном правиле публикации запрос проходит последовательную цепочку: сначала условия и лимиты XML‑профиля, затем (если не было блокировки) заголовки через WAF‑профиль, затем тело через XML‑профиль и, наконец, через WAF‑профиль. Настройка и подключение XML-профиляЧтобы правило публикации участвовало в проверке запросов с данными в формате XML, необходимо создать XML-профиль и подключить его к правилу публикации. Создание XML-профиляВажно!Чтобы XML-профиль выполнял проверку запросов, в нем необходимо указать хотя бы один лимит или добавить хотя бы одну XML-схему.
Чтобы создать XML-профиль: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ XML-профили нажмите Добавить. 2. В окне Свойства XML-профиля на вкладке Общие выполните следующие действия:
3. На вкладке Content-type укажите одно или несколько значений заголовка Content-type. Для запросов с этим значением в заголовке будет выполняться проверка на соответствие формату XML. ПримечаниеЕсли не выбрано ни одно значение, проверку на соответствие формату XML будут проходить все входящие запросы.
4. На вкладке Лимиты укажите максимальное значение для одного или нескольких лимитов:
5. На вкладке XML-схемы при необходимости добавьте хотя бы одну XML-схему для проверки соответствия запросов необходимым требованиям. Подробнее о создании XML-схем — в разделе «XML-схемы» 6. Если вы добавили несколько схем, выберите, требуется ли проверять соответствие хотя бы одной XML-схеме или всем добавленным. 7. Сохраните изменения. Подключение XML-профиля к правилу публикацииЧтобы подключить XML-профиль к правилу публикации: 1. На странице Настройки в разделе Политика сервисов ➜ Правила публикации создайте или выберите правило публикации. Подробнее — в разделе «Публикация веб-сервисов». 2. На вкладке Профили безопасности установите флажок Включить проверку данных в формате XML и выберите из списка нужный XML-профиль. ПримечаниеЕсли нужного профиля нет в списке, вы можете создать его, нажав в конце списка «Создать и выбрать новый объект».
3. Завершите настройку других параметров правила публикации и сохраните изменения. Правило публикации настроено на проверку данных в формате XML. Если в XML-профиле включено журналирование, события, связанные с обработкой запросов с данными в формате XML, отображаются на странице Атаки. Подробнее об этом — в разделе «Просмотр обнаруженных атак».
Эта статья была:
Полезна |
Не полезна
ID статьи: 3413
Последнее обновление: 07 Oct, 2026
Ревизия: 31
Просмотры: 39
Комментарии: 0
|