Настройка политики безопасности
 
Настройка параметров безопасности WAF

Параметры и уровень защиты веб-трафика в 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-профиль создается с выключенными слоями. В зависимости от того, какой уровень защиты следует обеспечить вашему веб-сервису, необходимо включить и настроить нужные слои.

В WAF-профиле могут использоваться как персональные слои с пользовательскими правилами, так и системные слои, содержащие правила от экспертов UserGate.

Вы можете создавать WAF-профили, копировать и удалять. Созданные WAF-профили отображаются в разделе Настройки ➜ Политика безопасности ➜ WAF-профили.

Создание WAF-профиля

Чтобы создать WAF-профиль:

1. В разделе Политика безопасности ➜ WAF-профили нажмите Добавить.

2. Введите название WAF-профиля.

3. В блоке WAF-слои в списке системных слоев включите нужные слои. В счетчике активных правил под названием слоя отобразится количество включенных правил. 

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

4. Если необходимо, настройте каждый из включенных системных слоев. Подробнее — в разделе «Настройка системного слоя».

5. Если необходимо, добавьте и включите персональные слои с пользовательскими WAF-правилами. Подробнее — в разделе «Создание персонального слоя и пользовательских WAF-правил». Пользовательские правила имеют приоритет перед системными правилами, включенными в этом WAF-профиле.

6. Сохраните изменения.

Теперь созданный WAF-профиль можно подключить к правилу публикации.

Подключение 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-правил

Чтобы более гибко управлять политикой безопасности, вы можете создавать персональные слои, содержащие пользовательские WAF-правила, написанные на языке UserGate Policy Language (UPL). Созданные персональные слои отображаются в разделе Политика безопасности ➜ Персональные слои. Вы можете просматривать и редактировать их, выполнять поиск по названию слоя.

Чтобы создать персональный слой:

1. В разделе Персональные слои нажмите Добавить.

ПримечаниеВы также можете создать персональный слой при создании или изменении WAF-профиля, нажав в окне свойств профиля кнопку «Добавить персональный слой».

2. В окне Свойства персонального слоя укажите название.

3. В области Редактирование выражения введите UPL-выражение, содержащее правила проверки трафика. Подробнее о синтаксисе написания UPL-правил — в разделе «UserGate Policy Language».

ПримечаниеОбласть представляет собой встроенный редактор с подсветкой ключевых слов и выражений и проверкой синтаксиса UPL.

4. Если необходимо, включите журналирование пользовательского правила. Для этого в области редактирования UPL-выражения добавьте свойство "rule_log(true)" или "rule_log(yes)".

5. Нажмите Проверить выражение и, если необходимо, внесите исправления.

6. Для активации правила добавьте свойство "enabled(true)"

7. Сохраните изменения.

Созданный персональный слой автоматически добавится во все WAF-профили и будет по умолчанию выключен. Чтобы UserGate WAF выполнял проверку веб-трафика с помощью пользовательских WAF-правил, при настройке WAF-профиля необходимо включить нужные персональные слои и затем подключить этот WAF-профиль к правилу публикации. Подробнее о настройке и подключении WAF-профилей — в разделе «Работа с WAF-профилями».

Работа с системными WAF-правилами

UserGate WAF поставляется с набором системных WAF-правил, обеспечивающих защиту веб-трафика от различных атак. Системные WAF-правила доступны для загрузки с серверов UserGate после активации лицензии и затем регулярно обновляются и дополняются командой экспертов UserGate, если настроено расписание автообновлений. Подробнее об автообновлениии — в разделе «Настройка общих параметров».

Важно!Для получения регулярных обновлений системных WAF-правил вам необходимо обладать лицензией на модуль Security Updates.
ПримечаниеПри обновлении экспертизы все системные WAF-правила как в WAF-профилях, так и в глобальном списке переводятся в режим журналирования – их действие устанавливается как No action. Журналирование включается автоматически, чтобы администратор мог проанализировать поведение новых версий правил перед включением блокировки. После обновления экспертизы следует проверить действия WAF-правил и при необходимости вернуть блокирующие действия.

Системные 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-правилах

При срабатывании системного WAF-правила выполняется одно из назначенных действий:

  • No action — при срабатывании правила система фиксирует событие (если включено журналирование), но не предпринимает действий в отношении трафика.

  • Pass — все правила, расположенные в слое под сработавшим правилом, пропускаются, и происходит переход к проверке WAF-правилами следующего слоя (при его наличии). Если следующего слоя нет, проверка завершается пропуском запроса или ответа.

  • Deny — все правила, расположенные в слое под сработавшим правилом, пропускаются, и происходит переход к проверке WAF-правилами следующего слоя (при его наличии). Если следующего слоя нет, проверка завершается блокированием запроса или ответа.

  • Force deny — является окончательным результатом обработки, и перехода к проверке WAF-правилами следующего слоя не происходит. Проверка завершается блокированием запроса или ответа.

  • Force pass — является окончательным результатом обработки, и перехода к проверке WAF-правилами следующего слоя не происходит. Проверка завершается пропуском запроса или ответа.

Таким образом, приоритет force-действий выше, что следует учитывать, настраивая последовательность слоев.

Поиск системных WAF-правил 

Для быстрого поиска в глобальном списке WAF-правил предусмотрены быстрые фильтры по основным параметрам. Также вы можете формировать собственные поисковые запросы для выполнения более сложной фильтрации. В этих запросах вы можете использовать для фильтрации параметры WAF-правила, которые недоступны в быстрых фильтрах. Структура и логика поисковых запросов для фильтрации WAF-правил та же, что и в поисковых запросах для журналов.  Подробнее о логических операторах в поисковых запросах — в разделе «Поиск и фильтрация данных».

Важно!При формировании поискового запроса рекомендуется для одного параметра WAF-правила указывать одно значение или несколько значений через оператор OR. В противном случае результаты поиска могут быть неверными. Примеры корректного запроса: technology = "PHP" и  technology = "PHP" OR technology = "WordPress". Пример некорректного запроса:  technology = "PHP" AND technology = "WordPress".

Для фильтрации используются следующие параметры WAF-правила.

Название параметра в веб-консоли

Параметр

Описание 

Уровень угрозы

threatLevel 

Уровень угрозы, от которой защищает WAF-правило:

  • 1: низкий;

  • 2: средний;

  • 3: высокий

ID правила

ruleId

Идентификатор WAF-правила

Название

name

Название WAF-правила

Ссылка

reference

Ссылки на внешние ресурсы с описаниями уязвимостей

Время последнего обновления

lastUpdate

Время последнего обновления правила на серверах UserGate

Профиль ответа

responseProfile

Название профиля ответа

Системный слой

systemLayer

Системный слой, к которому относится WAF-правило

Пакет

package

Название пакета экспертизы, в который входит данное WAF-правило

Действие

action

Действие правила: No actionPassDenyForce denyForce pass

Состояние правила

enabled

Активация правила: true, false

Журналирование

loggingStatus

Включение или отключения журналирования событий, связанных с правилом: true, false

Технология

technology

Название технологии защиты

Исключения

exceptions

Название исключения, добавленного к правилу

Настройка системных WAF-правил

В веб-консоли UserGate WAF вы можете настраивать системные WAF-правила двумя способами:

  • через настройку WAF-профиля;

  • через глобальный список системных 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-правила через глобальный список параметры WAF-правила изменятся только в тех WAF-профилях, в которых не выполнялось переопределение параметров этого правила.

Чтобы изменить параметры системного WAF-правила через глобальный список:

1. В разделе Глобальные правила выберите нужное WAF-правило и нажмите Редактировать.

2. В окне Редактирование правил измените нужные параметры.

3. Сохраните изменения.

ПримечаниеВы также можете изменить параметры сразу нескольких WAF-правил. Для этого в глобальном списке нужно выбрать несколько WAF-правил, затем нажать «Редактировать», в окне «Редактирование правил» изменить нужные параметры и сохранить изменения.

Восстановление значений по умолчанию

При настройке политики безопасности может понадобиться восстановить исходные состояния отдельных элементов. В зависимости от того, значения параметров какого элемента нужно вернуть к исходным, необходимо перейти в одно из следующих окон и нажать Восстановить значения по умолчанию:

  • В окне WAF-профиль — чтобы вернуть значения по умолчанию для всех системных слоев в WAF-профиле.

  • В окне Свойства системного слоя — чтобы сбросить в первоначальное состояние выставленные технологии и уровни защиты этого слоя.

  • В окне Свойства системного слоя, нажав Настройка правил, — чтобы восстановить исходное состояния выбранных правил в WAF-профиле

  • В разделе Глобальные правила — чтобы восстановить исходное состояние выбранных правил в глобальном списке.

Настройка исключений для WAF-правил

По умолчанию блокирующие 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.bodyhttp.request.body.nocase

Проверка тела HTTP-запроса

http.response.bodyhttp.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-правилам. Для этого в окне «Настройка правил» нужно выбрать несколько WAF-правил и затем нажать «Переопределить». В секции «Исключения» необходимо выбрать «Перезаписать», после чего станет доступным добавление исключений. После сохранения изменений добавленные исключения применятся ко всем выбранным WAF-правилам. Если в блок «Выбранные» не добавлено ни одно исключение, но выбрана перезапись исключений, все ранее добавленные исключения будут удалены из выбранных WAF-правил.

Чтобы применить исключения через настройку WAF-правила:

1. В разделе Настройки ➜ Политика безопасности ➜ Правила выберите WAF-правило и нажмите Редактировать.

2. В окне Редактирование правил в секции Исключения в колонке Доступны выберите одно или несколько предварительно созданных исключений и нажмите значок плюса.

3. Сохраните изменения. 

ПримечаниеВы также можете применить исключения сразу к нескольким WAF-правилам. Для этого в списке нужно выбрать несколько WAF-правил и затем нажать «Редактировать». В секции «Исключения» необходимо выбрать «Перезаписать», после чего станет доступным добавление исключений. После сохранения изменений добавленные исключения применятся ко всем выбранным WAF-правилам. Если в блок «Выбранные» не добавлено ни одно исключение, но выбрана перезапись исключений, все ранее добавленные исключения будут удалены из выбранных WAF-правил.

Примененные исключения отобразятся в свойствах WAF-правила в общем списке WAF-правил в столбце Исключения.

Информация о сработавших исключениях доступна на странице атак: для WAF-правил со сработавшим исключением в столбце Действие отображается значение No action, а в столбце Исключения появляется соответствующий значок. При наведении на него курсора отображается название сработавшего исключения. Подробнее о просмотре информации о сработавших WAF-правилах  — в разделе «Просмотр обнаруженных атак».

Работа с заголовком X-Request-Id

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. В записях журнала срабатывания сохраняется значение идентификатора запроса.

В веб-интерфейсе администратора в разделе Атаки, а также в разделе Журналы и отчеты на вкладке Журнал веб-доступа есть колонка Идентификатор запроса, где отображается значение этого индикатора. Поддерживается функция фильтрации событий в журнале по идентификатору запроса.

Фильтрация закодированного трафика

Двоичные данные могут передаваться в закодированном виде через каналы, предназначенные только для передачи текста. С помощью стандарта кодирования 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-правила:

  • страница блокировки с указанием кода состояния HTTP;

  • сообщение о разрыве соединения;

  • переадресация на другой ресурс.

Чтобы создать профиль ответа:

1. На странице Настройки в разделе Политика безопасности ➜ Профили ответа нажмите Добавить.

2. В окне Свойства профилей ответа укажите название профиля.

3. Выберите нужный тип политики и настройте для него необходимые параметры:

  • TCP RST. Выберите этот тип политики, чтобы при срабатывании блокирующего WAF-правила выполнялся разрыв соединения.

  • Переадресация. Укажите ссылку для перенаправления запроса, трехзначный код состояния HTTP и, если необходимо, добавьте текст ответа.

ПримечаниеТрехзначный код состояния HTTP для переадресации должен начинаться с цифры 3. Например, 302. Если поле текста ответа не заполнено, будет использован текст по умолчанию, соответствующий указанному коду.
  • Шаблон страницы. В списке Страница блокировки выберите шаблон страницы из списка (либо оставьте выбранный по умолчанию), укажите трехзначный код состояния HTTP и, если необходимо, добавьте текст ответа. Подробнее о создании шаблона страницы — в разделе «Шаблоны страниц».

ПримечаниеТрехзначный код состояния HTTP для блокировки должен начинаться с цифр 1, 2, 4 или 5. Например, 403. Если поле текста ответа не заполнено, будет использован текст по умолчанию, соответствующий указанному коду.

4. Сохраните изменения.

Чтобы добавить созданный профиль ответа в WAF-правило:

1. На странице Настройки в разделе Политика безопасности ➜ Глобальные правила выберите правило, которому назначено действие Deny или Force deny, и нажмите Редактировать.

2. В окне Редактирование правил в списке Профили ответа выберите нужный профиль и сохраните изменения.

ПримечаниеВы также можете добавить профиль ответа в WAF-правило при создании или изменении WAF-профиля. Подробнее о настройке WAF-профилей — в разделе «Настройки безопасности WAF».
Защита WebSocket-соединений

UserGate WAF может контролировать безопасность установления соединений по протоколу WebSocket.

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

  1. Установление соединения. Клиент отправляет HTTP-запрос на «рукопожатие» (handshake-запрос) серверу, предлагая установить WebSocket-соединение. Если сервер поддерживает протокол WebSocket, он возвращает подтверждающий ответ, и соединение переключается с HTTP на WebSocket.

  2. Двунаправленный обмен данными. После успешного подключения клиент и сервер могут свободно отправлять данные друг другу в любое время без дополнительного подтверждения.

  3. Закрытие соединения. Соединение может быть закрыто по инициативе клиента или сервера с отправкой кода закрытия и возможного описания причины.

В 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-трафика

Чтобы создать WebSocket-профиль, блокирующий весь WebSocket-трафик:

1. В разделе Настройки Политика безопасности ➜ WebSocket-профили нажмите Добавить.

2. В окне Свойства WebSocket-профиля на вкладке Общие установите флажок Блокировать WebSocket-трафик.

3. Если необходимо, включите журналирование событий

4. Сохраните изменения.

Чтобы начать блокирование трафика в соответствии с настроенным WebSocket-профилем, его нужно выбрать в качестве профиля безопасности в правиле публикации.

Настройка WebSocket-профиля для фильтрации WebSocket-соединений

Чтобы создать WebSocket-профиль, фильтрующий WebSocket-соединения:

1. В разделе Настройки Политика безопасности ➜ WebSocket-профили нажмите Добавить.

2. В окне Свойства WebSocket-профиля на вкладке Общие укажите название профиля.

3. Настройте один или несколько параметров фильтрации WebSocket-соединений:

  • На вкладке Общие включите проверку целостности запроса, установив соответствующий флажок.

  • На вкладке Источники установите флажок Учитывать Origin, нажмите Создать и добавить новый объект и создайте список URL источников, с которыми разрешается устанавливать WebSocket-соединение.

ПримечаниеВы также можете настроить WebSocket-профиль, игнорирующий источники, запрашивающие WebSocket-соединение. Для этого на вкладке «Источники» нужно сформировать список нежелательных источников либо добавить предустановленные списки и включить «Инвертировать».
  • На вкладке Расширения и протоколы установите флажки Учитывать Sec-WebSocket-Extensions и Учитывать Sec-WebSocket-Protocols и добавьте списки разрешенных расширений и субпротоколов, которые указываются в заголовках Sec-WebSocket-Extensions и Sec-WebSocket-Protocols. WebSocket-соединения будут устанавливаться только по тем запросам, в заголовках которых указаны разрешенные значения.

ПримечаниеВы также можете настроить WebSocket-профиль на игнорирование WebSocket-соединений по запросам, в заголовках которых найдены расширения и субпротоколы из добавленных списков. Для этого на вкладке «Расширения и протоколы» нужно добавить списки нежелательных расширений и субпротоколов и включить «Инвертировать».

4. Если необходимо, на вкладке Общие включите журналирование событий.

5. Сохраните изменения.

Чтобы начать фильтрацию WebSocket-соединений в соответствии с настроенным 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-профиля к правилу публикации

Чтобы подключить WebSocket-профиль к правилу публикации:

1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте или выберите из списка правило. Подробнее — в разделе «Публикация веб-сервисов».

2. В окне Настройка правила публикации на вкладке Профили безопасности установите флажок Включить защиту WebSocket-соединений и выберите нужный WebSocket-профиль.

3. Сохраните изменения.