Параметры и уровень защиты веб-трафика в UserGate WAF определяются политикой безопасности. Настроенная политика безопасности позволяет UserGate WAF обнаруживать и блокировать различные угрозы, включая наиболее опасные атаки из списка OWASP Top 10.
Основными элементами политики безопасности являются:
WAF-правило — представляет собой выражение, содержащее условия обнаружения угроз безопасности. WAF-правило обеспечивает защиту веб-трафика от различных атак и может сработать как на запрос к веб-ресурсу, так и на его ответ. При срабатывании WAF-правила выполняется назначенное действие. WAF-правила бывают системными и пользовательскими.
Слой — конструкция, предназначенная для группировки WAF-правил по типам атак с целью принятия одного решения по результатам проверки веб-трафика. Слои бывают системными и персональными.
WAF-профиль — это набор системных и/или персональных слоев. WAF-профиль с настроенными слоями определяет политику безопасности, в соответствии с которой выполняется защита вашего веб-сервиса.
Алгоритм настройки и применения политики безопасности следующий:
1. Убедитесь, что лицензия UserGate WAF Security Updates активирована. Подробнее о лицензии — в разделе «Лицензирование UserGate WAF».
2. Создайте WAF-профиль, включите необходимые слои с WAF-правилами и, если необходимо, настройте параметры слоев. Подробнее — в разделе «Создание WAF-профиля».
3. Если необходимо, настройте WAF-правила в каждом слое, чтобы выполнять только необходимые проверки веб-трафика. Подробнее — в разделе «Настройка системных WAF-правил».
4. Подключите созданный WAF-профиль к правилу публикации, настроенном на проверку трафика соответствующего веб-сервиса. Подробнее — в разделе «Подключение WAF-профиля к правилу публикации».
Правило публикации с выбранным WAF-профилем будет проверять веб-трафик на наличие угроз выбранному веб-сервису. При срабатывании WAF-правила, для которого включено журналирование, UserGate WAF записывает информацию об обнаружении атаки или другого события ИБ. Эти сведения доступны для просмотра и анализа в разделе Атаки. Подробнее — в разделе «Просмотр обнаруженных атак».
WAF-профиль необходим для настройки наборов слоев с WAF-правилами. По умолчанию WAF-профиль создается с выключенными слоями. В зависимости от того, какой уровень защиты следует обеспечить вашему веб-сервису, необходимо включить и настроить нужные слои.
В WAF-профиле могут использоваться как персональные слои с пользовательскими правилами, так и системные слои, содержащие правила от экспертов UserGate.
Вы можете создавать WAF-профили, копировать и удалять. Созданные WAF-профили отображаются в разделе Настройки ➜ Политика безопасности ➜ WAF-профили.
Чтобы создать WAF-профиль:
1. В разделе Политика безопасности ➜ WAF-профили нажмите Добавить.
2. Введите название WAF-профиля.
3. В блоке WAF-слои в списке системных слоев включите нужные слои. В счетчике активных правил под названием слоя отобразится количество включенных правил.
4. Если необходимо, настройте каждый из включенных системных слоев. Подробнее — в разделе «Настройка системного слоя».
5. Если необходимо, добавьте и включите персональные слои с пользовательскими WAF-правилами. Подробнее — в разделе «Создание персонального слоя и пользовательских WAF-правил». Пользовательские правила имеют приоритет перед системными правилами, включенными в этом WAF-профиле.
6. Сохраните изменения.
Теперь созданный WAF-профиль можно подключить к правилу публикации.
Чтобы подключить WAF-профиль к правиле публикации и начать проверку трафика в соответствии с настроенной политикой безопасности:
1. В разделе Политика сервисов ➜ Правила публикации создайте или выберите правило публикации. Подробнее — в разделе «Публикация веб-сервисов».
2. На вкладке Профили безопасности установите флажок Включить защиту веб-приложений (WAF) и выберите из списка нужный WAF-профиль.
3. Завершите настройку других параметров правила публикации и сохраните изменения.
Правило публикации настроено на защиту веб-сервера, указанного в его параметрах.
Системные слои создаются компанией UserGate и содержат правила, сгруппированные по типам атак. Настройка системного слоя выполняется в рамках выбранного WAF-профиля. Выключение всего слоя исключает из проверки все WAF-правила, входящие в него. Если слой включен, параметры слоя влияют на то, какие WAF-правила, входящие в него, будут участвовать в проверке веб-трафика.
Для настройки доступны следующие параметры системного слоя:
Технологии защиты. Системные WAF-правила защищают веб-сервисы, разработанные на базе различных технологий. Например, Outlook Web Access или MySQL. Удаление технологии защиты из слоя исключает из проверки WAF-правила, связанные с этой технологией. Таким образом можно настроить политику безопасности с учетом используемых в вашем веб-сервисе технологий.
Уровень защиты, установленный в WAF-правиле (низкий, средний, высокий). Например, вы можете установить уровень защиты только «высокий», тогда в слое останутся активными только правила, обеспечивающие защиту этого уровня. Прочие правила, с уровнями защиты «низкий» и «средний», будут выключены.
Дополнительная конфигурация параметров отдельных правил. Выбранные таким образом значения параметров системных WAF-правил будут более приоритетными, чем те, которые изначально назначены в глобальном списке правил. Подробнее — в разделе «Настройка системных WAF-правил».
Чтобы настроить системный слой:
1. Выберите WAF-профиль и нажмите Редактировать.
2. В окне WAF-профиль в блоке WAF-слои выберите из списка слой и нажмите на его название.
3. В окне Свойства системного слоя настройте нужные параметры, включая параметры WAF-правил.
4. Сохраните изменения.
Чтобы более гибко управлять политикой безопасности, вы можете создавать персональные слои, содержащие пользовательские WAF-правила, написанные на языке UserGate Policy Language (UPL). Созданные персональные слои отображаются в разделе Политика безопасности ➜ Персональные слои. Вы можете просматривать и редактировать их, выполнять поиск по названию слоя.
Чтобы создать персональный слой:
1. В разделе Персональные слои нажмите Добавить.
2. В окне Свойства персонального слоя укажите название.
3. В области Редактирование выражения введите UPL-выражение, содержащее правила проверки трафика. Подробнее о синтаксисе написания UPL-правил — в разделе «UserGate Policy Language».
4. Если необходимо, включите журналирование пользовательского правила. Для этого в области редактирования UPL-выражения добавьте свойство "rule_log(true)" или "rule_log(yes)".
5. Нажмите Проверить выражение и, если необходимо, внесите исправления.
6. Для активации правила добавьте свойство "enabled(true)".
7. Сохраните изменения.
Созданный персональный слой автоматически добавится во все WAF-профили и будет по умолчанию выключен. Чтобы UserGate WAF выполнял проверку веб-трафика с помощью пользовательских WAF-правил, при настройке WAF-профиля необходимо включить нужные персональные слои и затем подключить этот WAF-профиль к правилу публикации. Подробнее о настройке и подключении WAF-профилей — в разделе «Работа с WAF-профилями».
UserGate WAF поставляется с набором системных WAF-правил, обеспечивающих защиту веб-трафика от различных атак. Системные WAF-правила доступны для загрузки с серверов UserGate после активации лицензии и затем регулярно обновляются и дополняются командой экспертов UserGate, если настроено расписание автообновлений. Подробнее об автообновлениии — в разделе «Настройка общих параметров».
Системные WAF-правила группируются в системные слои, которые также формируются разработчиками решения. Критерием группировки WAF-правил в слои являются следующие типы атак:
Abuse of Functionality;
Authentication/Authorization Attacks;
Buffer Overflow;
Command Execution;
Denial of Service;
Detection Evasion;
Directory Indexing;
HTTP Parser Attack;
HTTP Response Splitting;
Information Leakage;
LDAP Injection attempt;
SQL-injection;
Malicious File Upload;
Microsoft OWA;
Other Application Attacks;
Path Traversal;
Predictable Resource Location;
Remote File Include;
Server Side Code Injection;
Session Hijacking;
Trojan/Backdoor/Spyware;
Vulnerability Scan;
XPath Injection;
Cross site scripting (XSS);
XML External Entity (XXE).
Все системные WAF-правила отображаются в разделе Политика безопасности ➜ Глобальные правила. Вы можете просматривать сведения о WAF-правилах (например, в каком слое они находятся, какое выбрано действие или профиль ответа), изменять их параметры, выполнять поиск и сортировку.
При срабатывании системного WAF-правила выполняется одно из назначенных действий:
No action — при срабатывании правила система фиксирует событие (если включено журналирование), но не предпринимает действий в отношении трафика.
Pass — все правила, расположенные в слое под сработавшим правилом, пропускаются, и происходит переход к проверке WAF-правилами следующего слоя (при его наличии). Если следующего слоя нет, проверка завершается пропуском запроса или ответа.
Deny — все правила, расположенные в слое под сработавшим правилом, пропускаются, и происходит переход к проверке WAF-правилами следующего слоя (при его наличии). Если следующего слоя нет, проверка завершается блокированием запроса или ответа.
Force deny — является окончательным результатом обработки, и перехода к проверке WAF-правилами следующего слоя не происходит. Проверка завершается блокированием запроса или ответа.
Force pass — является окончательным результатом обработки, и перехода к проверке WAF-правилами следующего слоя не происходит. Проверка завершается пропуском запроса или ответа.
Таким образом, приоритет force-действий выше, что следует учитывать, настраивая последовательность слоев.
Для быстрого поиска в глобальном списке WAF-правил предусмотрены быстрые фильтры по основным параметрам. Также вы можете формировать собственные поисковые запросы для выполнения более сложной фильтрации. В этих запросах вы можете использовать для фильтрации параметры WAF-правила, которые недоступны в быстрых фильтрах. Структура и логика поисковых запросов для фильтрации WAF-правил та же, что и в поисковых запросах для журналов. Подробнее о логических операторах в поисковых запросах — в разделе «Поиск и фильтрация данных».
Для фильтрации используются следующие параметры WAF-правила.
|
Название параметра в веб-консоли |
Параметр |
Описание |
|---|---|---|
|
Уровень угрозы |
threatLevel |
Уровень угрозы, от которой защищает WAF-правило:
|
|
ID правила |
ruleId |
Идентификатор WAF-правила |
|
Название |
name |
Название WAF-правила |
|
Ссылка |
reference |
Ссылки на внешние ресурсы с описаниями уязвимостей |
|
Время последнего обновления |
lastUpdate |
Время последнего обновления правила на серверах UserGate |
|
Профиль ответа |
responseProfile |
Название профиля ответа |
|
Системный слой |
systemLayer |
Системный слой, к которому относится WAF-правило |
|
Пакет |
package |
Название пакета экспертизы, в который входит данное WAF-правило |
|
Действие |
action |
Действие правила: No action, Pass, Deny, Force deny, Force pass |
|
Состояние правила |
enabled |
Активация правила: true, false |
|
Журналирование |
loggingStatus |
Включение или отключения журналирования событий, связанных с правилом: true, false |
|
Технология |
technology |
Название технологии защиты |
|
Исключения |
exceptions |
Название исключения, добавленного к правилу |
В веб-консоли UserGate WAF вы можете настраивать системные WAF-правила двумя способами:
через настройку WAF-профиля;
через глобальный список системных WAF-правил.
Для изменения доступны следующие параметры системного WAF-правила:
Включение или выключение WAF-правила.
Исключения к WAF-правилу. Подробнее об исключениях — в разделе «Настройка исключений для WAF-правил».
Журналирование событий, связанных с работой WAF-правила.
Действие, которое будет выполнено при срабатывании WAF-правила.
Профиль ответа, который вернется в ответ на клиентский запрос, если сработает WAF-правило с блокирующим действием. Подробнее о профилях ответа — в разделе «Профили ответа».
Отмена всех изменений и возвращение значений параметров правила к изначальным.
При настройке системного WAF-правила в профиле WAF параметры правила изменяются только в этом профиле и имеют более высокий приоритет, чем параметры в глобальном списке правил. Например, если в профиле Example для правила Rule1 действие No Action заменено на Pass, это значение сохранится, даже если в глобальном списке для Rule1 будет выбрано действие Force pass.
Чтобы изменить параметры системного WAF-правила в WAF-профиле:
1. В разделе WAF-профили создайте по кнопке Добавить или выберите из списка WAF-профиль.
2. В окне WAF-профиль в блоке WAF-слои в одной из групп системных слоев выберите системный слой и нажмите на его название.
3. В окне Свойства системного слоя в секции Правила нажмите Настройка правил.
4. В окне Настройка правил выберите WAF-правило и нажмите Переопределить.
5. В окне Переопределение правил измените нужные параметры.
6. Сохраните все изменения.
При настройке системного WAF-правила через глобальный список параметры WAF-правила изменятся только в тех WAF-профилях, в которых не выполнялось переопределение параметров этого правила.
Чтобы изменить параметры системного WAF-правила через глобальный список:
1. В разделе Глобальные правила выберите нужное WAF-правило и нажмите Редактировать.
2. В окне Редактирование правил измените нужные параметры.
3. Сохраните изменения.
При настройке политики безопасности может понадобиться восстановить исходные состояния отдельных элементов. В зависимости от того, значения параметров какого элемента нужно вернуть к исходным, необходимо перейти в одно из следующих окон и нажать Восстановить значения по умолчанию:
В окне WAF-профиль — чтобы вернуть значения по умолчанию для всех системных слоев в WAF-профиле.
В окне Свойства системного слоя — чтобы сбросить в первоначальное состояние выставленные технологии и уровни защиты этого слоя.
В окне Свойства системного слоя, нажав Настройка правил, — чтобы восстановить исходное состояния выбранных правил в WAF-профиле
В разделе Глобальные правила — чтобы восстановить исходное состояние выбранных правил в глобальном списке.
X-Request-Id — вспомогательный опциональный заголовок HTTP, который содержит уникальный идентификатор запроса. Этот идентификатор позволяет трассировать отдельные HTTP-запросы при решении проблем в работе веб-сервисов.
Значение идентификатора запроса является случайным, не содержит никакой персональной информации о пользователе и генерируется для каждого отдельного HTTP-запроса, что исключает опасность нарушения приватности пользователя.
В UserGate WAF идентификатор запроса используется для корреляции HTTP-запросов и записей журнала веб-доступа и журнала срабатывания правил WAF в рамках одного соединения. Функциональность доступна в версии 7.4.0 и выше.
UserGate WAF проверяет приходящие HTTP-запросы на наличие заголовка X-Request-Id и значения идентификатора запроса. Если заголовок X-Request-Id отсутствует, UserGate WAF добавляет его в запрос и генерирует уникальное значение идентификатора запроса. Если HTTP-запрос приходит в UserGate WAF с уже существующим заголовком X-Request-Id, то UserGate WAF заменяет его значение на собственное сгенерированное уникальное значение.
Далее запрос передается на анализ и дальнейшую обработку в соответствии с правилами и политиками безопасности в UserGate WAF. Значение идентификатора запроса сохраняется в записях журнала веб-доступа.
При срабатывании правила WAF клиенту возвращается ответ с идентификатором запроса в качестве значения заголовка X-Request-Id. В записях журнала срабатывания сохраняется значение идентификатора запроса.
В веб-интерфейсе администратора в разделе Атаки, а также в разделе Журналы и отчеты на вкладке Журнал веб-доступа есть колонка Идентификатор запроса, где отображается значение этого индикатора. Поддерживается функция фильтрации событий в журнале по идентификатору запроса.
UserGate WAF может контролировать безопасность установления соединений по протоколу WebSocket.
Протокол WebSocket обеспечивает двунаправленную связь между клиентом и сервером в реальном времени и позволяет поддерживать постоянное соединение, по которому данные могут передаваться в обе стороны без необходимости повторных запросов от клиента. Принцип работы протокола WebSocket следующий:
Установление соединения. Клиент отправляет HTTP-запрос на «рукопожатие» (handshake-запрос) серверу, предлагая установить WebSocket-соединение. Если сервер поддерживает протокол WebSocket, он возвращает подтверждающий ответ, и соединение переключается с HTTP на WebSocket.
Двунаправленный обмен данными. После успешного подключения клиент и сервер могут свободно отправлять данные друг другу в любое время без дополнительного подтверждения.
Закрытие соединения. Соединение может быть закрыто по инициативе клиента или сервера с отправкой кода закрытия и возможного описания причины.
В UserGate WAF правила установления WebSocket-соединений определяются WebSocket-профилем, который позволяет настроить:
Блокирование любого WebSocket-трафика, который приходит в UserGate WAF.
Проверку целостности handshake-запроса.
Проверку наличия заголовка Origin — HTTP-заголовка, который браузеры автоматически добавляют в запрос при установке WebSocket-соединения. Заголовок Origin содержит URL источника, который инициирует соединение.
Списки значений заголовков запроса (Origin, Sec-WebSocket-Extensions, Sec-WebSocket-Protocols), на основании которых UserGate WAF будет устанавливать WebSocket-соединение с доверенными источниками или игнорировать запросы, поступающие из нежелательных источников.
Журналирование событий, связанных с установлением WebSocket-соединений. Подробнее — в разделе «Журнал WebSocket».
Чтобы создать WebSocket-профиль, блокирующий весь WebSocket-трафик:
1. В разделе Настройки ➜ Политика безопасности ➜ WebSocket-профили нажмите Добавить.
2. В окне Свойства WebSocket-профиля на вкладке Общие установите флажок Блокировать WebSocket-трафик.
3. Если необходимо, включите журналирование событий
4. Сохраните изменения.
Чтобы начать блокирование трафика в соответствии с настроенным WebSocket-профилем, его нужно выбрать в качестве профиля безопасности в правиле публикации.
Чтобы создать WebSocket-профиль, фильтрующий WebSocket-соединения:
1. В разделе Настройки ➜ Политика безопасности ➜ WebSocket-профили нажмите Добавить.
2. В окне Свойства WebSocket-профиля на вкладке Общие укажите название профиля.
3. Настройте один или несколько параметров фильтрации WebSocket-соединений:
На вкладке Общие включите проверку целостности запроса, установив соответствующий флажок.
На вкладке Источники установите флажок Учитывать Origin, нажмите Создать и добавить новый объект и создайте список URL источников, с которыми разрешается устанавливать WebSocket-соединение.
На вкладке Расширения и протоколы установите флажки Учитывать Sec-WebSocket-Extensions и Учитывать Sec-WebSocket-Protocols и добавьте списки разрешенных расширений и субпротоколов, которые указываются в заголовках Sec-WebSocket-Extensions и Sec-WebSocket-Protocols. WebSocket-соединения будут устанавливаться только по тем запросам, в заголовках которых указаны разрешенные значения.
4. Если необходимо, на вкладке Общие включите журналирование событий.
5. Сохраните изменения.
Чтобы начать фильтрацию WebSocket-соединений в соответствии с настроенным WebSocket-профилем, его нужно выбрать в качестве профиля безопасности в правиле публикации.
Handshake-запрос может содержать в том числе следующие заголовки:
Sec-WebSocket-Protocol — содержит набор субпротоколов, которые клиент будет использовать при передаче данных.
Sec-WebSocket-Extensions — содержит дополнительные расширения WebSocket-протокола, которые поддерживает браузер. Например, может быть указан метод сжатия передаваемых данных.
Вы можете создавать списки расширений и субпротоколов и использовать их в WebSocket-профиле для фильтрации WebSocket-соединений.
Чтобы создать список расширений:
1. В разделе Настройки ➜ Библиотеки ➜ WebSocket-расширения нажмите Добавить и укажите название списка.
2. Выберите тип списка:
Локальный, если список будет поддерживаться вручную.
Обновляемый, если список будет загружаться из внешнего источника. В этом случае укажите URL источника и настройте расписание автоматических обновлений списка.
3. Сохраните список.
Чтобы создать список субпротоколов:
1. В разделе Настройки ➜ Библиотеки ➜ WebSocket-протоколы нажмите Добавить и укажите название списка.
2. Выберите тип списка:
Локальный, если список будет поддерживаться вручную.
Обновляемый, если список будет загружаться из внешнего источника. В этом случае укажите URL источника и настройте расписание автоматических обновлений списка.
3. Сохраните список.
Вы можете выбрать одно из предустановленных значений или указать время вручную в cron-формате: <минуты: 0–59> <часы: 0–23> <дни месяца: 1–31> <месяцы: 1–12> <дни недели: 0–6, где 0 — воскресенье>.
При ручном вводе также можно использовать следующие символы:
Звездочка (*) — для выбора всех значений. Например, в поле для ввода часов символ означает, что резервное копирование должно выполняться каждый час.
Дефис (-) — для указания диапазона значений.
Запятая (,) — в качестве разделителя значений.
Косая черта (/) — для указания шага между значениями. Например, «2-10/2» будет означать «2,4,6,8,10», а выражение «*/2» в поле «часы» будет означать «каждые два часа».
Чтобы подключить WebSocket-профиль к правилу публикации:
1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте или выберите из списка правило. Подробнее — в разделе «Публикация веб-сервисов».
2. В окне Настройка правила публикации на вкладке Профили безопасности установите флажок Включить защиту WebSocket-соединений и выберите нужный WebSocket-профиль.
3. Сохраните изменения.
Двоичные данные могут передаваться в закодированном виде через каналы, предназначенные только для передачи текста. С помощью стандарта кодирования Base64 любой файл преобразуется в строку текста и передается по протоколам, поддерживающим только текстовый формат. Стандарт Base64 используется например для кодирования вложений электронной почты или для встраивания графических, видео- или аудиоданных в веб-разработке.
Некоторые атаки на веб-приложения также используют стандарт кодирования Base64 для обхода фильтров межсетевых экранов, в том числе используется многократное кодирование, затрудняющее анализ исходных данных. Например, в случае SQL-внедрения выполняется кодирование SQL-запроса в Base64, чтобы обойти сигнатурный анализ. Как правило, эти данные передаются в параметрах URL, cookies и заголовках HTTP-запросов.
В UserGate WAF вы можете использовать правила публикации для декодирования и фильтрации таких данных.
Поддерживается декодирование следующих элементов HTTP-запроса:
путь из URL;
значения Cookies;
значения в заголовках HTTP-запросов;
тело запроса/ тело ответа, если в заголовке content type указан MIME-тип application/x-www-form-urlencoded;
параметры из тела POST-запроса или из URL GET-запроса.
Чтобы настроить фильтрацию закодированного трафика:
1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте правило. Подробнее о создании и настройке правила публикации — в разделе «Публикация веб-сервисов».
2. В окне Настройка правила публикации на вкладке Профили безопасности установите флажок Включить защиту веб-приложений (WAF) и выберите WAF-профиль, в соответствии с которым декодированные данные будут подвергаться сигнатурному анализу. После выбора WAF-профиля станет доступной вкладка Base64.
3. На вкладке Base64 установите флажки для тех элементов клиентского запроса, которые следует декодировать.
4. Укажите количество итераций декодирования для многократно закодированных данных. Максимальное значение — 5.
5. Сохраните изменения.
При срабатывании правила публикации будет выполнена попытка декодирования выбранных элементов HTTP-запроса, а в записях журнала событий сохранится информация об изменении состояния декодированных параметров.
По умолчанию блокирующие WAF-правила применяются ко всем запросам и ответам, содержащим значения, соответствующие условиям WAF-правила. Вы можете настроить исключения, чтобы скорректировать работу WAF-правил.
Исключения помогут предотвратить ложные срабатывания и обеспечить гибкое управление обработкой трафика. Например, они позволяют игнорировать легитимный трафик от систем мониторинга, партнерских API и доверенных поисковых ботов (Googlebot, YandexBot), а также запросы с надежными реферерами или специфическими заголовками Accept от внутренних систем.
Исключения задаются условиями, при выполнении которых WAF-правило пропускает запрос или ответ без обработки. Если для WAF-правила есть исключение, оно проверяется в первую очередь. Если WAF-правило содержит несколько исключений, достаточно срабатывания любого исключения, чтобы прекратить обработку.
Для создания исключений используются UPL-условия и логические операторы, аналогичные операторам фильтрации данных. Подробнее о UPL-условиях и операторах — в разделах «Условия» и «Поиск и фильтрация данных».
Вы можете настраивать исключения по следующим условиям.
|
Условие |
Описание |
|---|---|
|
http.method |
Проверка HTTP-метода |
|
src.ip |
Проверка IP-адреса |
|
http.request.body.re2 |
Проверка тела HTTP-запроса |
|
http.response.body.re2 |
Проверка тела HTTP-ответа |
|
http.request.body, http.request.body.nocase |
Проверка тела HTTP-запроса |
|
http.response.body, http.response.body.nocase |
Проверка тела HTTP-ответа |
|
request.header.Host |
Проверка HTTP-заголовка запроса Host |
|
url.path |
Проверка URL |
|
request.header.User-Agent |
Проверка заголовка useragent |
|
request.header.Referer |
Проверка запроса на доверенные рефереры |
|
request.header.Accept |
Проверка заголовка Accept |
|
request.header.Cookie |
Проверка заголовка запроса Cookie на значение |
|
qparam |
Проверка значения параметров запроса |
|
upl.condition |
Поле для произвольного исключения, написанного на языке UPL. Выражения записываются в поле значений через пробел, который работает как логическое «И» |
Чтобы создать исключение:
1. В разделе Настройки ➜ Политика безопасности ➜ Исключения нажмите Добавить.
2. В окне Свойства исключения укажите название исключения.
3. Если необходимо вести запись сработавших исключений, установите флажок Журналирование.
4. Выберите из списка условие, затем выберите доступный для него логический оператор и укажите одно или несколько значений.
5. Сохраните изменения.
Исключение создано. Чтобы оно сработало, его следует применить к выбранным WAF-правилам.
Созданные исключения можно применить к WAF-правилам двумя способами:
Через настройку WAF-профиля. Исключения, добавленные в WAF-правила через настройку WAF-профиля, применяются только в рамках этого профиля. Таким образом, для одного WAF-правила, включенного в несколько WAF-профилей, можно применить собственный набор исключений в каждом из этих профилей. Если к WAF-правилу уже были применены исключения, их набор будет изменен только в выбранном WAF-профиле.
Через настройку WAF-правила, выбранного в общем списке WAF-правил. Исключения, добавленные в WAF-правило через общий список WAF-правил, применяются только в тех WAF-профилях, использующих это WAF-правило, в которые не были добавлены исключения через настройку WAF-профиля.
Чтобы применить исключения через настройку WAF-профиля:
1. В разделе Настройки ➜ Политика безопасности ➜ WAF-профили выберите WAF-профиль.
2. В окне WAF-профиль нажмите название слоя с WAF-правилами, к которым требуется применить исключения.
3. В окне свойств слоя в секции Правила нажмите Настройка правил.
4. В окне Настройка правил выберите WAF-правило и нажмите Переопределить.
5. В окне Переопределение правил в секции Исключения в колонке Доступны выберите одно или несколько предварительно созданных исключений и нажмите значок плюса.
6. Сохраните изменения.
Чтобы применить исключения через настройку WAF-правила:
1. В разделе Настройки ➜ Политика безопасности ➜ Правила выберите WAF-правило и нажмите Редактировать.
2. В окне Редактирование правил в секции Исключения в колонке Доступны выберите одно или несколько предварительно созданных исключений и нажмите значок плюса.
3. Сохраните изменения.
Примененные исключения отобразятся в свойствах WAF-правила в общем списке WAF-правил в столбце Исключения.
Информация о сработавших исключениях доступна на странице атак: для WAF-правил со сработавшим исключением в столбце Действие отображается значение No action, а в столбце Исключения появляется соответствующий значок. При наведении на него курсора отображается название сработавшего исключения. Подробнее о просмотре информации о сработавших WAF-правилах — в разделе «Просмотр обнаруженных атак».
В соответствии с политикой безопасности WAF-правила могут блокировать подозрительные запросы к защищаемым веб-сервисам. С помощью профилей ответа вы можете настроить, какой ответ будет возвращен клиенту при срабатывании блокирующего WAF-правила:
страница блокировки с указанием кода состояния HTTP;
сообщение о разрыве соединения;
переадресация на другой ресурс.
Чтобы создать профиль ответа:
1. На странице Настройки в разделе Политика безопасности ➜ Профили ответа нажмите Добавить.
2. В окне Свойства профилей ответа укажите название профиля.
3. Выберите нужный тип политики и настройте для него необходимые параметры:
TCP RST. Выберите этот тип политики, чтобы при срабатывании блокирующего WAF-правила выполнялся разрыв соединения.
Переадресация. Укажите ссылку для перенаправления запроса, трехзначный код состояния HTTP и, если необходимо, добавьте текст ответа.
Шаблон страницы. В списке Страница блокировки выберите шаблон страницы из списка (либо оставьте выбранный по умолчанию), укажите трехзначный код состояния HTTP и, если необходимо, добавьте текст ответа. Подробнее о создании шаблона страницы — в разделе «Шаблоны страниц».
4. Сохраните изменения.
Чтобы добавить созданный профиль ответа в WAF-правило:
1. На странице Настройки в разделе Политика безопасности ➜ Глобальные правила выберите правило, которому назначено действие Deny или Force deny, и нажмите Редактировать.
2. В окне Редактирование правил в списке Профили ответа выберите нужный профиль и сохраните изменения.
При передаче запроса промежуточные узлы (такие, как сервер reverse-прокси или балансировщик нагрузки) меняют значения в стандартных заголовках запроса, обеспечивая таким образом безопасность внутренних ресурсов или правильную маршрутизацию. Но внутреннему веб-серверу для корректной обработки запроса требуется исходная информация, переданная клиентом. Например, для определения геолокации клиента или сбора статистики. Чтобы обеспечить корректную работу внутренних ресурсов, серверы reverse-прокси или другие устройства могут передавать исходные данные запроса в дополнительных HTTP-заголовках.
В UserGate WAF вы можете использовать правила публикации для обработки следующих дополнительных HTTP-заголовков:
X-Forwarded-Host: содержит значение заголовка Host из исходного запроса. Это значение требуется внутреннему веб-серверу для уточнения, какой контент следует вернуть клиенту, а также при журналировании и балансировке нагрузки.
X-Forwarded-Proto: содержит сведения о протоколе исходного запроса, которые позволяют на стороне внутреннего веб-сервера выполнять переадресацию на безопасный ресурс либо генерировать корректные ссылки.
X-Forwarded-Port: передает исходный порт подключения клиента, который необходим для генерации корректных ссылок на стороне внутреннего веб-сервера.
Чтобы настроить обработку дополнительных HTTP-заголовков:
1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте правило. Подробнее об этом — в разделе «Публикация веб-сервисов».
2. В окне Настройка правила публикации на вкладке Обработка заголовков установите флажки для тех заголовков, которые будут добавлены в исходный запрос. Если заголовки уже содержатся в запросе, их значения будут переписаны.
3. Сохраните изменения.