Публикация веб-сервисов

ID статьи: 2947
Последнее обновление: 13 мая, 2026
Product: WAF
Version: 7.6.x

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

Режим публикации предоставляет следующие возможности:

  • Балансировка нагрузки. Если обработку запросов к веб-сервису выполняют несколько веб-серверов, UserGate WAF может равномерно распределять запросы между ними и тем самым предотвращать перегрузку отдельных веб-серверов.

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

  • Управление доступом к веб-серверам. UserGate WAF может блокировать попытки доступа по идентификационной строке клиентского приложения (useragent) и нежелательным адресам.

  • Поддержка SSL-подключения. UserGate WAF может выполнять шифрование и расшифрование запросов и ответов, что позволяет снизить нагрузку на веб-серверы и повысить их производительность.

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

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

  • Определение реального IP-адреса источника запроса. UserGate WAF может анализировать заголовки HTTP-запросов, чтобы определить реальный IP-адрес. Подробнее — в разделе «Настройка функции определения реального IP-адреса».

  • Фильтрация трафика, закодированного по стандарту Base64. Подробнее — в разделе «Фильтрация закодированного трафика».

Чтобы опубликовать веб-сервис:

1. Создайте один или несколько серверов публикации.

2. Если для доступа к веб-сервису используются несколько серверов, создайте для них правило балансировки.

3. Создайте правила публикации, которые будут определять условия публикации веб-сервисов выбранным сервером или балансировщиком.

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

4. В разделе Настройки ➜ Сеть ➜ Зоны в параметрах контроля доступа той зоны, в которой необходимо разрешить доступ к внутренним ресурсам, разрешите сервис Reverse-прокси.

Создание сервера публикации

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

1. В разделе Политика сервисов ➜ Серверы публикации нажмите Добавить.

2. В окне Настройка сервера публикации укажите название, IP-адрес или FQDN и TCP-порт сервера публикации.

3. Если необходимо, настройте остальные параметры:

  • Установите флажок HTTPS до сервера, чтобы выполнять передачу трафика по защищенному соединению от UserGate WAF до сервера публикации. Если этот флажок установлен, убедитесь, что на шаге 2 вы указали порт для защищенного соединения.

  • Установите флажок Проверять SSL-сертификат, чтобы включить проверку подлинности SSL-сертификата, установленного на сервере публикации. Доступно, если установлен флажок HTTPS до сервера.

  • Установите флажок Не изменять IP-адрес источника, чтобы сохранять оригинальный IP-адрес источника в запросах. Если флажок снят, IP-адрес источника заменяется на IP-адрес UserGate WAF.

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

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

Балансировка нагрузки на серверы публикации

Если для доступа к веб-сервису развернуто несколько серверов публикации, вы можете распределять клиентские запросы между ними с помощью правил балансировки нагрузки.

Чтобы создать правило балансировки серверов публикации:

1. В разделе Политика сервисов ➜ Серверы публикации создайте серверы публикации веб-сервисов. Убедитесь, что в окне Настройка сервера публикации для каждого сервера, который участвует в балансировке, в поле Адрес сервера указан IP-адрес.

2. В разделе Политика сервисов ➜ Балансировка сервисов нажмите Добавить.

3. В окне Настройка правила балансировки сервисов на вкладке Общие укажите название правила и включите его.

4. На вкладке Серверы публикации добавьте серверы, на которые будет распределяться нагрузка.

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

Создание правила публикации

Правила публикации позволяют фильтровать запросы к веб-сервисам, контролировать доступ к ним и обеспечивать безопасное соединение.

Созданные правила применяются поочередно сверху вниз в том порядке, в котором они указаны в списке. Выполняется только первое правило, для которого совпали все указанные в нем условия. Это значит, что более специфические правила должны быть выше в списке, чем более общие правила. Вы можете мышью перетаскивать правила в списке для изменения порядка применения правил.

Чтобы создать правило публикации:

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

2. В окне Настройка правила публикации на вкладке Общие:

  • Включите правило и укажите его название.

  • В списке Сервер публикации выберите сервер публикации или балансировщик, которому UserGate WAF будет пересылать запросы.

  • Укажите порты, на которых UserGate WAF будет слушать входящие запросы.

  • Установите флажок Использовать HTTPS, если необходимо, чтобы обмен трафиком с клиентом проходил по защищенному соединению.

  • Если флажок Использовать HTTPS установлен, выберите профиль SSL, поддерживающий нужные протоколы SSL или отдельные алгоритмы шифрования и цифровой подписи, и сертификат сервера публикации для поддержки HTTPS-соединения.

  • С помощью параметра Вставить настройте расположение правила в списке.

ПримечаниеПараметр доступен, если в списке уже есть другие правила.

3. На вкладке Источник, выберите минимум одну зону источника трафика, а также, если необходимо, добавьте списки IP-адресов, доменных имен или GeoIP-адреса (не более 15 адресов), для которых будет разрешен обмен трафиком с серверами публикации.

Важно!Не добавляйте в списки строки с символом «*», они будут игнорироваться.
ПримечаниеВы также можете настроить правило, игнорирующее источники трафика в указанных зонах и с выбранными адресами. Для этого на вкладке «Источник» нужно сформировать список нежелательных зон и/или адресов и в соответствующих блоках параметров включить «Инвертировать».
ПримечаниеКаждые пять минут UserGate WAF выполняет разрешение доменных имен в IP-адреса и хранит полученный результат во внутреннем кэше на время жизни DNS-записи. По истечении времени жизни UserGate WAF автоматически обновляет значение IP-адреса.
Важно!Обработка трафика происходит по следующей логике: условия объединяются по «ИЛИ», если указаны несколько списков IP-адресов и/или доменов; условия объединяются по «И», если указаны GeoIP и списки IP-адресов и/или доменов.

4. На вкладке Назначение укажите IP-адреса, назначенные на интерфейсы, которые принимают входящие соединения. Этот параметр следует настраивать, когда на один интерфейс UserGate WAF назначено несколько IP-адресов либо несколько интерфейсов подключены к сети.

ПримечаниеВы также можете настроить правило, игнорирующее входящие соединения на указанные адреса. Для этого на вкладке «Назначение» укажите адреса и включите «Инвертировать».
Важно!Обработка трафика происходит по следующей логике: условия объединяются по «ИЛИ», если указаны несколько списков IP-адресов и/или доменов; условия объединяются по «И», если указаны GeoIP и списки IP-адресов и/или доменов.

5. На вкладке Профили безопасности, если необходимо, включите защиту веб-сервисов и WebSocket-соединений. Подробнее об этом — в разделах «Настройка параметров безопасности WAF» и «Защита WebSocket-соединений».

6. На вкладке Веб-сервисы нажмите Добавить и укажите путь к одному или нескольким веб-сервисам, запросы к которым будет обрабатывать правило.

ПримечаниеФормат записи: <host>/<path>, где <host> — обязательный параметр (совпадение строгое, наличие и отсутствие символа «/» в конце названия узла без пути равнозначно; все названия узлов приводятся к нижнему регистру.), а <path> — необязательный, без которого будет выбираться любой путь (совпадение префиксное, не строгое). При указании пути для <host> в качестве маски можно использовать символ *. Например, запись *.example.org соответствует как www.example.org, так и www.sub.example.org.
Важно!Следует указывать те веб-сервисы, публикацию которых обеспечивает сервер, выбранный на шаге 2. В противном случае правило сработает некорректно.

7. На вкладке Useragent, если необходимо, добавьте идентификационные строки клиентских браузеров, для которых будет разрешен обмен трафиком с веб-сервисами.

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

8. На вкладке Подмена путей, если необходимо, настройте переопределение путей URL. Подробнее о подмене путей — в разделе ниже.

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

Подмена путей в правилах публикации

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

Чтобы настроить подмену путей в правиле публикации:

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

2. В окне Настройка правила публикации на вкладке Подмена путей установите флажок Подмена путей.

3. Нажмите Добавить и укажите пути подмены одним или двумя способами:

  • Пути для подмены. Заполните вручную поля, где:

    • Изменить с — домен и/или путь URL, который требуется изменить.

    • Изменить на — домен и/или путь URL, на который требуется заменить старый.

  • Веб-сервисы. В качестве домена и/или пути URL, который требуется изменить, выберите веб-сервис, указанный на вкладке Веб-сервисы, и в поле Изменить на укажите для него соответствующий домен и/или путь URL, на который требуется его заменить.

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

4. Сохраните правило.

При обработке HTTP-запроса правило публикации сработает, если путь, указанный на вкладке Веб-сервисы, совпадет с путем URL в HTTP-запросе. Затем происходит подмена пути в HTTP-запросе, если она предусмотрена сработавшим правилом: паттерн из поля Изменить с меняется на паттерн из поля Изменить на. Если запрос пользователя не попадет ни под одно правило публикации, в ответ на него будет получена ошибка: 403 Forbidden.

Условия проверки соответствия

Синтаксис HTTP-запроса представляет собой следующую последовательность: <scheme>://<host>:<port>/<path>.

Паттерн в поле Изменить с состоит из последовательности <host>/<path> и должен удовлетворять следующим условиям:

  • <host> — обязательный параметр. Совпадение строгое, наличие и отсутствие символа «/» в конце названия узла без пути равнозначно. Все названия узлов приводятся к нижнему регистру.

  • <path> — необязательный параметр. Без него будет выбираться любой путь. Совпадение префиксное (не строгое).

  • Паттерн из поля Изменить с и паттерн из поля Изменить на должны оба либо заканчиваться символом «/», либо не содержать его в конце. В противном случае подмена путей сработает некорректно.

  • Схема (<scheme>) запроса игнорируется и не изменяется.

  • Порт (<port>) запроса игнорируется и не изменяется.

При совпадении запроса и исходного паттерна правило считается сработавшим.

В таблице ниже приведены примеры срабатываний паттернов.

Исходный паттерн в правиле публикации

Примеры запросов, на которые правило сработает

Примеры запросов, на которые правило не сработает

test.dev

  • test.dev

  • test.dev/

  • test.dev/*

  • http://test.dev

  • test.dev:<любой порт>

  • abc.com

  • test.develop

  • test.dev.lol

tesT.deV

  • test.deV

  • tesT.deV/

  • TEST.dev

  • abc.com

  • test.develop

  • test.dev.lol

test.dev/co

  • test.dev/co*

  • http://test.dev/co*

  • test.dev:<любой порт>/co*

  • test.dev.lol/co*

  • test.dev/kool*

http://test.dev

  • http://test.dev

  • http://test.dev/*

  • http://test.dev:<любой порт>

  • http://test.dev:<любой порт>/

  • http://test.dev:<любой порт>/*

  • http://test.develop

http://test.dev/co

  • http://test.dev/co*

  • http://test.dev:<любой порт>/co

  • http://test.dev/cool*

Примеры срабатывания подмены путей

Рассмотрим детальнее логику работы подмены путей.

Для этого создадим правило test.dev/exatest.dev/ad/test и сделаем несколько запросов.

1) Запрос на test.dev/exalala.

Параметр path = /exalala. Из него убирается path паттерна из поля Изменить с, в данном примере убирается /exa. Оставшаяся часть: lala.

При дальнейшей конвертации берется полученный остаток lala и добавляется к концу path паттерна из поля Изменить на, то есть: /ad/test + lala. В итоге, после преобразования, параметр path получает значение /ad/testlala.

Таким образом, конечный запрос будет отправлен по адресу test.dev/ad/testlala.

2) Запрос на test.dev/exa/vvv.

Параметр path = /exa/vvv. Из него убирается path паттерна из поля Изменить c, в данном примере убирается /exa. Оставшаяся часть: /vvv.

При дальнейшей конвертации берется полученный остаток /vvv и добавляется к концу path паттерна из поля Изменить на, то есть: /ad/test + /vvv. В итоге, после преобразования, параметр path получает значение ad/test/vvv.

Таким образом, конечный запрос будет отправлен по адресу test.dev/ad/test/vvv.

Эта статья была:   Полезна | Не полезна
ID статьи: 2947
Последнее обновление: 13 мая, 2026
Ревизия: 32
Просмотры: 405
Комментарии: 0