Пользовательские правила межсетевого экрана для веб приложений (WAF) определяют, какие запросы к приложениям разрешать или блокировать. В разделе «Мои правила» задаются действие правила, условия проверки и логика их объединения.

Форма «Добавление правила» содержит поля «Название», «Действие» и «Заметка». Действие «Разрешить» используется для пропуска запросов, а «Запретить» — для блокировки. Заметка необязательна.

Переключатель «Включено» определяет, активно ли правило. Он позволяет временно отключить правило без удаления. Кнопка «Добавить» создаёт правило; включённое правило после создания начинает применяться к трафику.

Условия и логика проверки

Правило содержит одну или несколько групп условий. Проверки внутри группы объединяются логикой «И», а разные группы — логикой «ИЛИ».

Кнопка «Добавить условие (И)» расширяет текущую группу, а «Добавить группу (ИЛИ)» создаёт новую. Для условий и групп предусмотрены кнопки удаления. Переключатель «Инвертировать результат (НЕ)» меняет результат всей логической конструкции на противоположный.

Условие включает «Область проверки», «Оператор» и значения в поле «Содержимое». Несколько элементов в «Содержимое» означают совпадение с любым из перечисленных. Для операторов «существует» и «не существует» значения не требуются. При проверке заголовка GET- или POST-параметра обязательно задаётся имя проверяемого поля.

Области проверки и операторы

Область проверки

Операторы и особенности

«IP-адрес источника»

Операторы: «равно», «не равно», «неточное совпадение», «в CIDR» (в интерфейсе — «В подсети (CIDR)»), «не в CIDR», «в группе IP», «не в группе IP», «в геолокации», «не в геолокации».

Маски CIDR — стандартные, группы IP — заранее созданные, геолокация — коды стран ISO-2.

«Приложения» (сайты)

Операторы: «равно», «не равно». Значения — UUID приложений.

«URL» и «Путь URL»

Операторы: «равно», «не равно», «содержит», «не содержит», «начинается с», «регулярное выражение». Регулярные выражения проверяются на стороне сервера.

«Хост»

Операторы: «равно», «не равно», «неточное совпадение».

«Заголовок», «GET-параметр», «POST-параметр»

Операторы: «равно», «не равно», «содержит», «не содержит», «регулярное выражение», «существует», «не существует». Обязательно имя поля, например User-Agent, X-Request-ID или имя параметра.

«Тело запроса»

Операторы: «регулярное выражение», «содержит», «не содержит».

«HTTP-метод»

Операторы: «равно», «не равно». Поддерживаются методы GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE, CONNECT.

Создание и настройка правила

Примечание: начинайте с правил «Разрешить» для точечного допуска. Блокирующие проверки добавляйте по мере накопления телеметрии и метрик.

Примечание: объединяйте строгие совместные проверки в одну группу по логике «И», а альтернативные сценарии — в разные группы по логике «ИЛИ». Для исключений можно использовать «Инвертировать результат (НЕ)», не усложняя дерево условий.

Шаг

Действие

Скриншот

1

В панели управления откройте раздел «Мои правила» и нажмите «Добавить правило».

Раздел «Правила»: кнопка «Добавить правило» и пустой список правил

2

Укажите «Название» и выберите «Действие»: «Разрешить» или «Запретить». При необходимости заполните поле «Заметка».

Форма «Добавление правила»: поля названия и заметки, раскрытый список действий

3

В «Группе условий» выберите «Область проверки» и «Оператор». Для заголовка GET или POST параметра укажите имя поля.

Форма «Добавление правила»: раскрытый список областей проверки

4

Заполните «Содержимое» одним или несколькими значениями. Для операторов «существует» и «не существует» значения не указывайте.

Условие проверки GET-параметра: имя поля, оператор и значение

5

При необходимости добавьте проверки кнопкой «Добавить условие (И)» или альтернативную ветку кнопкой «Добавить группу (ИЛИ)». Заполните новые условия; лишние условия и группы удалите соответствующими кнопками.

Конструктор правила: условия «И» внутри группы и альтернативная группа «ИЛИ»

6

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

Нажмите «Добавить». Правило будет создано и, если включено, начнёт применяться к трафику.

Созданное активное правило в списке правил

Практические примеры

Пропуск запросов из офисных подсетей

Примечание: для условий по IP-адресам предпочтительны группы IP и CIDR.

Шаг

Действие

Скриншот

1

При создании правила выберите действие «Разрешить». В условии укажите область «IP-адрес источника» и оператор «В подсети (CIDR)».

Правило с действием «Разрешить» и проверкой IP-адреса в подсети CIDR

2

В поле «Содержимое» перечислите нужные офисные подсети.

Поле «CIDR-подсеть» в условии проверки IP-адреса источника

3

При необходимости нажмите «Добавить группу (ИЛИ)» и задайте в новой группе условие для временных IP-адресов гостей.

Две альтернативные группы условий для проверки IP-адресов в подсетях

Блокировка доступа к административным разделам

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

Шаг

Действие

Скриншот

1

При создании правила выберите действие «Запретить». В условии укажите область «Путь URL» и оператор «начинается с» или «регулярное выражение».

Правило с действием «Запретить» и проверкой пути URL

2

Задайте проверку путей административных разделов, например /admin и /manage. Для «начинается с» укажите префиксы, для «регулярное выражение» — выражение для нужных путей.

Значение /admin в условии проверки пути URL