|
Настройка политики безопасности
Политика безопасности в UserGate WAF задает параметры и уровень защиты веб‑сервисов. Она позволяет продукту обнаруживать и блокировать различные угрозы, включая наиболее опасные атаки из списка OWASP Top 10, а также фильтровать запросы, содержащие данные в различных форматах. В зависимости от настроенных параметров политика безопасности может обеспечивать:
В UserGate WAF можно настроить политику безопасности, обеспечивающую защиту опубликованных веб-сервисов от атак. Механизмы защиты, разработанные экспертами UserGate, позволяют обнаруживать и блокировать различные угрозы, включая наиболее опасные атаки из списка OWASP Top 10. Настройка защиты выполняется в WAF-профилях — наборах WAF-правил и механизмов управления ими. Структура WAF-профиляWAF-профиль включает следующие элементы:
Таким образом, для защиты веб-сервиса в WAF-профиле необходимо включить соответствующие технологии и нужные слои, чтобы применялись WAF-правила, защищающие эти технологии от выбранных типов атак. O системных WAF-правилахUserGate WAF поставляется с набором системных WAF-правил, обеспечивающих защиту веб-сервисов от различных атак. Системные WAF-правила доступны для загрузки с серверов UserGate после активации лицензии и затем регулярно обновляются и дополняются командой экспертов UserGate, если настроено расписание автообновлений. Подробнее об автообновлении — в разделе «Настройка общих параметров». Важно!Для получения регулярных обновлений системных WAF-правил необходима лицензия на модуль Security Updates.
ПримечаниеПри обновлении экспертизы новые и обновленные системные WAF-правила (как в WAF-профилях, так и в списке глобальных правил) переводятся в режим журналирования — в качестве их действия устанавливается No action. Журналирование включается автоматически, чтобы администратор мог проанализировать поведение новых версий правил перед включением блокировки. После обновления экспертизы следует проверить действия WAF-правил и при необходимости вернуть блокирующие действия.
Все системные WAF-правила отображаются в разделе Политика безопасности ➜ Глобальные правила. Вы можете просматривать сведения о WAF-правилах (например, в каком слое они находятся, какое назначено действие при срабатывании или какой выбран профиль ответа), изменять их параметры, выполнять поиск и сортировку. В WAF-профилях отображаются только те правила, которые соответствуют включенным технологиям и слоям. Каждое WAF-правило защищает веб-сервисы от угроз определенного уровня. В системе выделено три уровня угроз. Уровень угрозы, от которой защищает правило, обозначается цветовым индикатором: зеленый (1) — низкий уровень, синий (2) — средний, желтый (3) — высокий. Это позволяет быстро оценить критичность правила и приоритет его применения при настройке защиты. Системные WAF-правила группируются в системные слои, которые также формируются разработчиками решения. Критерием группировки WAF-правил в слои являются следующие типы атак:
Действия в системных WAF-правилахПри срабатывании системного WAF-правила к трафику применяется действие, назначенное этому правилу:
Таким образом, приоритет force-действий выше, что следует учитывать, настраивая последовательность слоев. Настройка и подключение WAF-профиляВ WAF-профиле настраиваются технологии, слои и WAF-правила, обеспечивающие защиту публикуемых веб-сервисов. Вы можете настроить несколько WAF-профилей и подключить их к разным правилам публикации, реализуя таким образом необходимые сценарии защиты одного или нескольких веб-сервисов. Правило публикации с подключенным WAF-профилем проверяет веб-трафик выбранного веб-сервиса на наличие угроз. При срабатывании WAF-правила, для которого включено журналирование, UserGate WAF записывает информацию об обнаружении атаки или другого события ИБ. Эти данные доступны для просмотра и анализа в разделе Атаки. Подробнее — в разделе «Просмотр обнаруженных атак». Общий сценарий настройки и подключения WAF-профиля следующий: 1. Проверьте, что лицензия UserGate WAF Security Updates активирована и скачаны пакеты экспертизы WAF. Подробнее о лицензии — в разделе «Лицензирование UserGate WAF». 2. Убедитесь, что для ваших веб-сервисов настроены серверы публикации и созданы правила публикации, настроенные на проверку трафика этих веб-сервисов. Подробнее — в разделе «Публикация веб-сервисов». 3. Создайте WAF-профиль, включите необходимые технологии и слои с WAF-правилами. Подробнее — в разделе «Создание и настройка WAF-профиля». 4. Если необходимо, настройте WAF-правила, чтобы выполнять только необходимые проверки трафика. Подробнее — в разделе «Настройка системных WAF-правил». 5. Подключите созданный WAF-профиль к правилу публикации, настроенному на проверку трафика соответствующего веб-сервиса. Подробнее — в разделе «Подключение WAF-профиля к правилу публикации». В UserGate WAF предусмотрено быстрое создание настроенного WAF-профиля по шаблону:
WAF-профиль, созданный по любому шаблону, остается доступным для внесения изменений. Например, в созданном по шаблону для наблюдения WAF-профиле вы можете настроить блокирование трафика любыми правилами. В WAF-профиле можно использовать как системные слои, содержащие экспертизу UserGate, так и персональные слои с пользовательскими правилами. Подробнее — в разделе «Создание персонального слоя и пользовательских WAF-правил». Созданные WAF-профили отображаются в разделе Настройки ➜ Политика безопасности ➜ WAF-профили. Профили можно редактировать, копировать и удалять. Быстрое создание WAF-профиляЧтобы создать WAF-профиль без дополнительной настройки: 1. В разделе Политика безопасности ➜ WAF-профили нажмите Добавить. 2. В окне WAF-профиль выберите шаблон Наблюдение, Базовая защита или Максимальная защита и нажмите Создать. 3. В окне WAF-профиль на вкладке Общие при необходимости измените название профиля и описание. 3. Нажмите Сохранить. Будет создан WAF-профиль с параметрами, предустановленными в выбранном шаблоне. Вы можете вносить дополнительные изменения в профиль или сразу перейти к его подключению к правилу публикации. Создание и настройка WAF-профиляЧтобы создать и настроить WAF-профиль: 1. В разделе Политика безопасности ➜ WAF-профили нажмите Добавить. 2. В окне WAF-профиль выберите один из шаблонов и нажмите Создать. 3. В окне WAF-профиль на вкладке Общие укажите название профиля и при необходимости описание. 4. На вкладке Технологии включите технологии, которые используется при создании и эксплуатации веб-сервисов, которые будет защищать этот профиль. 5. При необходимости выполните оптимизацию профиля на основе рекомендаций по технологиям. Подробнее — в разделе «Применение рекомендаций по технологиям в WAF-профиле». 5. На вкладке Слои включите нужные системные слои. В счетчике активных правил отобразится общее количество включенных правил. ПримечаниеПосле сохранения WAF-профиля включенные слои автоматически поднимаются наверх в своих группах. Порядок в этом случае определяется так: первый в списке включенный слой поднимается на первое место, на второе место поднимается следующий по списку включенный слой, и т. д. В рамках одной группы вы можете перемещать слои по списку, чтобы таким образом настроить очередность проверки трафика системными WAF-правилами.
6. При необходимости добавьте персональный слой с пользовательскими правилами. Подробнее — в разделе «Создание персонального слоя и пользовательских WAF-правил». ПримечаниеПользовательские слои и правила имеют более высокий приоритет, чем системные правила, включенные в WAF-профиле.
7. На вкладке WAF-правила при необходимости настройте WAF-правила. Например, вы можете выключить все правила, блокирующие угрозы 1-го (низкого) уровня. Подробнее — в разделе «Настройка системных WAF-правил». 8. Нажмите Сохранить. Теперь созданный WAF-профиль можно подключить к правилу публикации. Подключение WAF-профиля к правилу публикацииЧтобы подключить WAF-профиль к правилу публикации и начать проверку трафика в соответствии с настроенной политикой безопасности: 1. В разделе Политика сервисов ➜ Правила публикации создайте или выберите правило публикации. Подробнее — в разделе «Публикация веб-сервисов». 2. На вкладке Профили безопасности установите флажок Включить защиту веб-приложений (WAF) и выберите из списка нужный WAF-профиль. ПримечаниеЕсли нужного профиля нет в списке, вы можете создать его, нажав в конце списка «Создать и выбрать новый объект».
3. Завершите настройку других параметров правила публикации и сохраните изменения. Правило публикации настроено на защиту веб-сервиса, указанного в его параметрах. Настройка WAF-профиля по рекомендованным технологиямВ WAF-профиле можно вручную управлять защищаемыми технологиями или использовать рекомендации по технологиям. Даже если защищаемые технологии в WAF-профиле уже выбраны вручную, их состав необходимо периодически пересматривать. Со временем технологический стек веб-сервисов может измениться: одни WAF-правила становятся избыточными и замедляют проверку трафика, а для новых технологий существующих механизмов защиты может быть недостаточно. Чтобы поддерживать WAF-профиль в соответствии с текущим технологическим стеком и исключать лишние проверки, в системе предусмотрена функция обнаружения технологий. С помощью специального пакета экспертизы UserGate WAF анализирует трафик, соответствующий условиям выбранных правил публикации, и определяет используемые технологии. На основе обнаруженных технологий система формирует рекомендации по настройке WAF-профилей. Их применение помогает поддерживать актуальный список механизмов защиты, оптимизировать использование ресурсов и обеспечивать высокий уровень защиты веб-сервисов. Для настройки WAF-профиля по рекомендованным технологиям необходимо:
Включение обнаружения технологийЧтобы включить обнаружение технологий: 1. В разделе Политика сервисов ➜ Правила публикации выберите правило публикации и нажмите Редактировать. ПримечаниеЕсли правило публикации с нужными параметрами еще не создано, вы можете создать его по кнопке «Добавить» и выполнить в нем описанные ниже действия.
2. В окне Настройка правила публикации на вкладке Общие в блоке Обнаружение технологий установите флажок Определять технологии защищаемого веб-сервиса. ПримечаниеДля работы этой функции необходим пакет экспертизы WAF Tech detector. Если пакет экспертизы не был скачан ранее, его можно скачать в блоке «Обнаружение технологий» по кнопке «Обновить».
3. Сохраните изменения. 4. При необходимости повторите шаги 1-3 для других правил публикации. Например, если для обработки трафика разных веб-сервисов, публикуемых с помощью одного сервера публикации, настроены разные правила публикации. Результаты обнаружения технологий будут отображены в журнале технологий. Подробнее — в разделе «Журнал технологий». ПримечаниеПри достижении порогового значения высокой нагрузки на CPU или оперативную память обнаружение технологий автоматически отключается. Это позволяет снизить нагрузку на систему и сохранить ее стабильную работу.
Применение рекомендаций по технологиям в WAF-профилеЧтобы применить рекомендации по обнаруженным технологиям в WAF-профиле: 1. В разделе Политика безопасности ➜ WAF-профили выберите WAF-профиль и нажмите Редактировать. ПримечаниеЕсли WAF-профиль с нужными параметрами еще не создан, вы можете создать его по кнопке «Добавить» и выполнить в нем описанные ниже действия.
2. В окне WAF-профиль на вкладке Технологии в блоке Выберите правила публикации выберите из раскрывающегося списка одно или несколько правил публикации, которые настроены на обнаружение технологий тех же веб-сервисов, которые защищает выбранный WAF-профиль. Таблица со списком технологий обновится, для каждой обнаруженной технологи в столбце Статус отобразится запись Обнаружена, а также отобразятся рекомендации по включению или выключению технологий. Внимание!Правила публикации, выбранные в WAF-профиле, применяются как временный фильтр. Поэтому после сохранения профиля выбранные правила не сохраняются.
3. В соответствии с рекомендациями выполните одно из действий:
Важно!Отсутствие технологии в результатах обнаружения не означает, что веб-сервис ее не использует. Технология может не обнаруживаться в анализируемом трафике, например, если соответствующие данные пока не передавались в запросах или ответах. Поэтому рекомендации по отключению необнаруженных технологий следует рассматривать с осторожностью. Перед отключением технологии убедитесь, что она действительно не используется веб-сервисом.
4. Сохраните изменения в WAF-профиле. Управление уровнем защищенности веб-сервисовПрименение рекомендаций по обнаруженным технологиям позволяет контролировать уровень защищенности веб-серверов с помощью виджета Защита веб-сервисов правилами публикации. Виджет показывает, насколько конфигурация WAF-профиля соответствует технологиям веб-сервисов. Если уровень защищенности снижается, вы можете обновить WAF-профиль в соответствии с актуальными рекомендациями. Чтобы добавить виджет на дашборд: 1. Перейдите на страницу Дашборды. 2. Перейдите на вкладку нужного дашборда, если их несколько, и нажмите Добавить виджет. 3. Выберите виджет Защита веб-сервисов правилами публикации и нажмите Добавить.
При расчете уровня защищенности учитываются правила публикации, для которых одновременно:
ПримечаниеИнформация об обнаруженных технологиях доступна на странице «Журналы и отчеты» в разделе «Журнал технологий».
Эти же правила отображаются на виджете. Остальные правила публикации с подключенными WAF-профилями также продолжают защищать соответствующие веб-сервисы. Однако если для правила не включено обнаружение технологий, оно не участвует в расчете уровня защищенности на виджете. Уровень защищенности показывает, насколько WAF-профиль соответствует актуальному списку обнаруженных технологий веб-сервисов. Если в WAF-профиле применены все рекомендованные технологии, уровень защищенности составляет 99%. Значение 99% является максимальным для виджета. Уровень защищенности веб-сервисов на виджете обозначается цветовыми индикаторами:
Виджет отображает уровень защищенности веб-сервисов за последние 7 дней. Со временем уровень защищенности может снижаться, так как может изменяться набор технологий веб-сервиса. Например, при разработке или обновлении веб-сервиса могут появиться новые технологии, которые ранее не использовались. После того как новая технология будет обнаружена, она учитывается при оценке уровня защищенности. Если для этой технологии в подключенном WAF-профиле не приняли рекомендацию по включению, уровень защищенности снижается. ПримечаниеПериод в 7 дней также влияет на учет правил, в которых функцию обнаружения технологий сначала включили, а затем отключили. Такие правила продолжают участвовать в расчете уровня защищенности до окончания этого периода.
Таким образом, значение на виджете позволяет отслеживать изменения в составе технологий веб-сервисов и своевременно выявлять технологии, для которых защита еще не настроена. Чтобы повысить защищенность веб-сервисов, необходимо нажать на соответствующее правило публикации, чтобы перейти в окно свойств WAF-профиля, подключенного к этому правилу, и затем обновить профиль в соответствии с актуальными рекомендациями по обнаруженным технологиям. Рассмотрим конфигурацию, на основе которой сформированы данные, отображаемые на виджете на рисунке выше:
Внимание!Если два или более правила, в которых включено обнаружение технологий, настроены на публикацию одного веб-сервиса, в расчете уровня защищенности участвует только правило, которое первым обрабатывает трафик, соответствующий условиям публикации.
На виджете отображается информация только о Rule_max_1 и Rule_3, поскольку для них включено обнаружение технологий и в журнале технологий есть соответствующие записи об обнаруженных технологиях. Для правила Rule_max_1 уровень защищенности составляет 99%, так как в WAF-профиле Profile_1, созданному по шаблону для максимальной защиты, по умолчанию включены все технологии, в том числе и рекомендованные. Работу этого WAF-профиля можно оптимизировать, выключив лишние технологии в соответствии с рекомендациями. При этом уровень защищенности 99% сохранится. Но после отключения лишних технологий уровень защищенности может измениться, если в дальнейшем в веб-сервисе будет обнаружена новая технология, для которой защита в WAF-профиле не настроена. Хотя правило Rule_3 не участвует в защите веб-сервиса, информация об уровне защищенности тоже отображается на виджете. Такой режим может использоваться для предварительной оценки работы WAF-профиля и наблюдения за срабатываниями WAF-правил. Для Rule_3 уровень защищенности ниже, поскольку в WAF-профиле Profile_3 применена только часть рекомендованных технологий. Правила публикации с подключенными WAF-профилями, но без включенного обнаружения технологий, например Rule_max_2, не отображаются на виджете и не участвуют в расчете уровня защищенности. Если необходимо отслеживать уровень защищенности веб-сервисов, рекомендуется включать обнаружение технологий в соответствующих правилах публикации и подключать к ним WAF-профили. Работа с системными WAF-правиламиПоиск системных WAF-правилДля быстрого поиска в списке WAF-правил предусмотрены быстрые фильтры по основным параметрам. Также вы можете формировать собственные поисковые запросы для выполнения более сложной фильтрации. Структура и логика поисковых запросов для фильтрации WAF-правил та же, что и в поисковых запросах для журналов. Подробнее о логических операторах в поисковых запросах — в разделе «Поиск и фильтрация данных». Важно!При формировании поискового запроса рекомендуется для одного параметра WAF-правила указывать одно значение или несколько значений через оператор OR. В противном случае результаты поиска могут быть неверными. Примеры корректного запроса: technology = "PHP" или technology = "PHP" OR technology = "WordPress". Пример некорректного запроса: technology = "PHP" AND technology = "WordPress".
Для фильтрации WAF-правил по поисковому запросу используются следующие параметры.
Настройка системных WAF-правилВ веб-консоли UserGate 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-правила выберите WAF-правило и нажмите Переопределить. 3. В окне Переопределение правил измените нужные параметры. 4. Сохраните все изменения. ПримечаниеВы также можете изменить параметры сразу нескольких WAF-правил. Для этого в окне «WAF-профиль» на вкладке «WAF-правила» нужно выбрать несколько WAF-правил, затем нажать «Переопределить», в окне «Переопределение правил» изменить нужные параметры и сохранить изменения.
Настройка системного WAF-правила в списке глобальных правилПри настройке системного WAF-правила через список глобальных правил параметры WAF-правила изменятся только в тех WAF-профилях, в которых не выполнялось переопределение параметров этого правила. Чтобы изменить параметры системного WAF-правила через список глобальных правил: 1. В разделе Глобальные правила выберите системное WAF-правило и нажмите Редактировать. 2. В окне Редактирование правил измените нужные параметры. 3. Сохраните изменения. ПримечаниеВы также можете изменить параметры сразу нескольких WAF-правил. Для этого в списке глобальных правил нужно выбрать несколько WAF-правил, затем нажать «Редактировать», в окне «Редактирование правил» изменить нужные параметры и сохранить изменения.
Восстановление значений по умолчаниюПри настройке политики безопасности может понадобиться восстановить исходные состояния отдельных WAF-правил. В зависимости от того, значения параметров какого WAF-правила нужно вернуть к исходным, необходимо перейти в одно из следующих окон и нажать Восстановить значения по умолчанию:
Создание персонального слоя и пользовательских WAF-правилЧтобы более гибко управлять политикой безопасности, вы можете создавать персональные слои, содержащие пользовательские WAF-правила, написанные на языке UPL. Созданные персональные слои отображаются в разделе Политика безопасности ➜ Персональные слои. Вы можете просматривать и редактировать их, выполнять поиск по названию слоя. Чтобы создать персональный слой с пользовательским WAF-правилом: 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-правила применяются ко всем запросам и ответам, содержащим значения, соответствующие условиям WAF-правила. Вы можете настроить исключения, чтобы скорректировать работу WAF-правил. Исключения помогут предотвратить ложные срабатывания и обеспечить гибкое управление обработкой трафика. Например, они позволяют игнорировать легитимный трафик от систем мониторинга, партнерских API и доверенных поисковых ботов (Googlebot, YandexBot), а также запросы с надежными реферерами или специфическими заголовками Accept от внутренних систем. Исключения задаются условиями, при выполнении которых WAF-правило пропускает запрос или ответ без обработки. Если для WAF-правила есть исключение, оно проверяется в первую очередь. Если WAF-правило содержит несколько исключений, достаточно срабатывания любого исключения, чтобы прекратить обработку. Для создания исключений используются UPL-условия и логические операторы, аналогичные операторам фильтрации данных. Подробнее о UPL-условиях и операторах — в разделах «Условия» и «Поиск и фильтрация данных». Вы можете настраивать исключения по следующим условиям.
Создание исключенияЧтобы создать исключение: 1. В разделе Настройки ➜ Политика безопасности ➜ Исключения нажмите Добавить. 2. В окне Свойства исключения укажите название исключения. 3. Если необходимо вести запись сработавших исключений, установите флажок Журналирование. 4. Выберите из списка условие, затем выберите доступный для него логический оператор и укажите одно или несколько значений. ПримечаниеВы можете добавить несколько условий в одно исключение. В этом случае исключение сработает, если при проверке запроса или ответа выполнены все указанные условия.
5. Сохраните изменения. Исключение создано. Чтобы оно сработало, его следует применить к выбранным 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 — вспомогательный опциональный заголовок 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-запроса:
Чтобы настроить фильтрацию закодированного трафика: 1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте правило. Подробнее о создании и настройке правила публикации — в разделе «Публикация веб-сервисов». 2. В окне Настройка правила публикации на вкладке Профили безопасности установите флажок Включить защиту веб-приложений (WAF) и выберите WAF-профиль, в соответствии с которым декодированные данные будут подвергаться сигнатурному анализу. После выбора WAF-профиля станет доступной вкладка Base64. 3. На вкладке Base64 установите флажки для тех элементов клиентского запроса, которые следует декодировать. 4. Укажите количество итераций декодирования для многократно закодированных данных. Максимальное значение — 5. 5. Сохраните изменения. При срабатывании правила публикации будет выполнена попытка декодирования выбранных элементов HTTP-запроса, а в записях журнала событий сохранится информация об изменении состояния декодированных параметров. Веб-сервисы и API часто используют формат JSON для обмена данными. Если UserGate WAF будет обрабатывать HTTP-запрос с JSON-телом как обычный текст, не учитывая его структуру, это может привести к пропуску угроз. Для корректной проверки таких запросов в UserGate WAF предусмотрены разбор тела запроса и проверка соответствия данных структуре JSON. Эти параметры настраиваются в JSON-профилях. JSON-профиль, подключенный к правилу публикации, обеспечивает:
О данных в формате JSONJSON (JavaScript Object Notation) — текстовый формат для представления структурированных данных. В HTTP-запросах данные в формате JSON передаются в теле запросов POST, PUT или PATCH с заголовком Content-Type: application/json или аналогичным. Пример HTTP-запроса с JSON.
JSON строится на двух основных конструкциях:
Внутри объектов и массивов допустимы различные типы значений (строка, число, булево значение, пустое значение, объект, массив), связанные поля могут группироваться во вложенные объекты, вложенность может достигать нескольких уровней. Принцип проверки HTTP-запросов с телом в формате JSONЕсли к правилу публикации подключен только JSON-профиль, проверка выполняется последовательно: сначала проверяется заголовок Content-Type или формат тела запроса, затем — заданные лимиты и соответствие JSON-схемам. Парсинг JSON и проверка тела запроса на соответствие JSON-схемам выполняются только в том случае, если в профиле настроен хотя бы один лимит или хотя бы одна JSON-схема. Само по себе указание заголовка Content-Type не запускает проверку структуры JSON. 1. Проверка заголовка Content-Type Если в JSON-профиле указан заголовок Content-Type, UserGate WAF проверяет, соответствует ли ему заголовок запроса. Если заголовок запроса не соответствует заданному значению, запрос пропускается этим профилем и может быть проверен другими профилями или правилами публикации. Если заголовок Content-Type не указан, UserGate WAF проверяет, соответствует ли тело запроса формату JSON:
2. Проверка лимитов Если в JSON-профиле настроены лимиты для тела запроса, UserGate WAF проверяет их соблюдение:
Если лимиты не настроены, этот этап пропускается, а запрос передается на проверку по JSON-схеме. 3. Проверка соответствия JSON-схеме Если в JSON-профиле указаны JSON-схемы, UserGate WAF разбирает тело запроса, проверяет его структуру и сопоставляет ее с заданными схемами.
Если в JSON-профиле не указаны JSON-схемы, запрос пропускается и передается на проверку другими правилами публикации, если они предусмотрены в конфигурации политики безопасности. Порядок совместной проверки запроса JSON-профилем и WAF-профилемЕсли к правилу публикации подключен только JSON-профиль, UserGate WAF будет фильтровать запросы в соответствии с настроенной конфигурацией JSON-профиля. Чтобы после парсинга также выполнялась проверка JSON-тела запроса на наличие угроз, к правилу публикации помимо JSON-профиля также необходимо подключить и WAF-профиль. Правило публикации, в котором одновременно подключены WAF‑профиль (для проверки экспертными WAF‑правилами) и JSON‑профиль (для парсинга и проверки JSON), обрабатывает запрос в несколько этапов, порядок которых определяется параметрами JSON‑профиля. Порядок проверки зависит от того, какие параметры проверки указаны в JSON‑профиле: значение заголовка Content-Type, лимиты на данные, JSON-схема. WAF‑профиль при этом отвечает за проверку по экспертным правилам (заголовки, параметры, тело), а JSON‑профиль — за парсинг, лимиты и проверку по схеме. Рассмотрим проверку запроса на примере, когда к правилу публикации подключены WAF‑профиль и JSON‑профиль и в JSON‑профиле указаны:
Тогда проверка запроса будет выполняться в следующем порядке: 1. Проверка соответствия заголовка Content-Type и лимитов (JSON‑профиль).
2. Проверка заголовков (WAF‑профиль). 3. Проверка тела запроса (JSON‑профиль, затем WAF‑профиль). Настройка и подключение JSON-профиляЧтобы правило публикации участвовало в проверке запросов с данными в формате JSON, необходимо создать JSON-профиль и подключить его к правилу публикации. Важно!Чтобы JSON-профиль выполнял проверку запросов, в нем необходимо указать хотя бы один лимит или добавить хотя бы одну JSON-схему.
Создание JSON-профиляЧтобы создать JSON-профиль: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ JSON-профили нажмите Добавить. 2. В окне Свойства JSON-профиля на вкладке Общие выполните следующие действия:
3. На вкладке Content-type укажите одно или несколько значений заголовка Content-type. Для запросов с этим значением в заголовке будет выполняться проверка на соответствие формату JSON. ПримечаниеЕсли не выбрано ни одно значение, проверку на соответствие формату JSON будут проходить все входящие запросы.
4. На вкладке Лимиты укажите максимальное значение для одного или нескольких лимитов:
5. На вкладке JSON-схемы при необходимости добавьте хотя бы одну JSON-схему для проверки соответствия запросов необходимым требованиям. Подробнее о создании JSON-схем — в разделе «JSON-схемы» ПримечаниеUserGate WAF поддерживает спецификации JSON Schema Draft 03, Draft 04 и Draft 06.
6. Если вы добавили несколько схем, выберите, требуется ли проверять соответствие хотя бы одной JSON-схеме или всем добавленным. 7. Сохраните изменения. Подключение JSON-профиля к правилу публикацииЧтобы подключить JSON-профиль к правилу публикации: 1. На странице Настройки в разделе Политика сервисов ➜ Правила публикации создайте или выберите правило публикации. Подробнее — в разделе «Публикация веб-сервисов». 2. На вкладке Профили безопасности установите флажок Включить проверку данных в формате JSON и выберите из списка нужный JSON-профиль. ПримечаниеЕсли нужного профиля нет в списке, вы можете создать его, нажав в конце списка «Создать и выбрать новый объект».
3. Завершите настройку других параметров правила публикации и сохраните изменения. Правило публикации настроено на проверку данных в формате JSON. Если в JSON-профиле включено журналирование, события, связанные с обработкой запросов с данными в формате JSON, отображаются на странице Атаки. Подробнее об этом — в разделе «Просмотр обнаруженных атак». Веб-сервисы и 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, отображаются на странице Атаки. Подробнее об этом — в разделе «Просмотр обнаруженных атак». UserGate WAF может контролировать безопасность установления соединений по протоколу WebSocket. Протокол WebSocket обеспечивает двунаправленную связь между клиентом и сервером в реальном времени и позволяет поддерживать постоянное соединение, по которому данные могут передаваться в обе стороны без необходимости повторных запросов от клиента. Принцип работы протокола WebSocket следующий:
В UserGate WAF правила установления WebSocket-соединений определяются WebSocket-профилем, который позволяет настроить:
Настройка WebSocket-профиля для блокирования всего WebSocket-трафикаЧтобы создать WebSocket-профиль, блокирующий весь WebSocket-трафик: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ WebSocket-профили нажмите Добавить. 2. В окне Свойства WebSocket-профиля на вкладке Общие установите флажок Блокировать WebSocket-трафик. 3. Если необходимо, включите журналирование событий 4. Сохраните изменения. Чтобы начать блокирование трафика в соответствии с настроенным WebSocket-профилем, его нужно выбрать в качестве профиля безопасности в правиле публикации. Настройка WebSocket-профиля для фильтрации WebSocket-соединенийЧтобы создать WebSocket-профиль, фильтрующий WebSocket-соединения: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ WebSocket-профили нажмите Добавить. 2. В окне Свойства WebSocket-профиля на вкладке Общие укажите название профиля. 3. Настройте один или несколько параметров фильтрации WebSocket-соединений:
ПримечаниеВы также можете настроить WebSocket-профиль, игнорирующий источники, запрашивающие WebSocket-соединение. Для этого на вкладке «Источники» нужно сформировать список нежелательных источников либо добавить предустановленные списки и включить «Инвертировать».
ПримечаниеВы также можете настроить WebSocket-профиль на игнорирование WebSocket-соединений по запросам, в заголовках которых найдены расширения и субпротоколы из добавленных списков. Для этого на вкладке «Расширения и протоколы» нужно добавить списки нежелательных расширений и субпротоколов и включить «Инвертировать».
4. Если необходимо, на вкладке Общие включите журналирование событий. 5. Сохраните изменения. Чтобы начать фильтрацию WebSocket-соединений в соответствии с настроенным WebSocket-профилем, его нужно выбрать в качестве профиля безопасности в правиле публикации. Создание списков расширений и субпротоколов для WebSocket-соединенийHandshake-запрос может содержать в том числе следующие заголовки:
Вы можете создавать списки расширений и субпротоколов и использовать их в WebSocket-профиле для фильтрации WebSocket-соединений. Чтобы создать список расширений: 1. На странице Настройки в разделе Библиотеки ➜ WebSocket-расширения нажмите Добавить и укажите название списка. 2. Выберите тип списка:
3. Сохраните список. Чтобы создать список субпротоколов: 1. На странице Настройки в разделе Библиотеки ➜ WebSocket-протоколы нажмите Добавить и укажите название списка. 2. Выберите тип списка:
3. Сохраните список. О настройке расписания обновлений списковВы можете выбрать одно из предустановленных значений или указать время вручную в cron-формате: <минуты: 0–59> <часы: 0–23> <дни месяца: 1–31> <месяцы: 1–12> <дни недели: 0–6, где 0 — воскресенье>. При ручном вводе также можно использовать следующие символы:
Подключение WebSocket-профиля к правилу публикацииЧтобы подключить WebSocket-профиль к правилу публикации: 1. На странице Настройки в разделе Политика сервисов ➜ Правила публикации создайте или выберите из списка правило. Подробнее — в разделе «Публикация веб-сервисов». 2. В окне Настройка правила публикации на вкладке Профили безопасности установите флажок Включить защиту WebSocket-соединений и выберите нужный WebSocket-профиль. 3. Сохраните изменения. В соответствии с политикой безопасности подозрительные запросы к защищаемым веб-серверам могу блокироваться. С помощью профилей ответа вы можете настроить, какой ответ будет возвращен клиенту, если сработал один из профилей безопасности: например, сработало блокирующее WAF-правило или запрос с данными в формате JSON не прошел проверку в JSON-профиле. Поддерживаются следующие виды ответов на заблокированный запрос:
Чтобы создать профиль ответа: 1. На странице Настройки в разделе Политика безопасности ➜ Профили ответа нажмите Добавить. 2. В окне Свойства профилей ответа укажите название профиля. 3. Выберите нужный тип политики и настройте для него необходимые параметры:
ПримечаниеТрехзначный код состояния HTTP для переадресации должен начинаться с цифры 3. Например, 302. Если поле текста ответа не заполнено, будет использован текст по умолчанию, соответствующий указанному коду.
ПримечаниеТрехзначный код состояния HTTP для блокировки должен начинаться с цифр 1, 2, 4 или 5. Например, 403. Если поле текста ответа не заполнено, будет использован текст по умолчанию, соответствующий указанному коду.
4. Сохраните изменения. Чтобы добавить созданный профиль ответа в WAF-правило: 1. На странице Настройки в разделе Политика безопасности ➜ Глобальные правила выберите правило, которому назначено действие Deny или Force deny, и нажмите Редактировать. 2. В окне Редактирование правил в списке Профили ответа выберите нужный профиль 3. Сохраните изменения. ПримечаниеВы также можете добавить профиль ответа в WAF-правило при создании или изменении WAF-профиля. Подробнее о настройке WAF-профилей — в разделе «Настройка параметров безопасности WAF».
Чтобы добавить созданный профиль ответа в JSON-профиль: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ JSON-профили выберите JSON-профиль с действием Deny и нажмите Редактировать. 2. В окне Свойства JSON-профиля в списке Профили ответа выберите нужный профиль 3. Сохраните изменения. Чтобы добавить созданный профиль ответа в XML-профиль: 1. На странице Настройки в разделе Политика безопасности ➜ Профили безопасности ➜ XML-профили выберите XML-профиль с действием Deny и нажмите Редактировать. 2. В окне Свойства XNL-профиля в списке Профили ответа выберите нужный профиль 3. Сохраните изменения. При передаче запроса промежуточные узлы (такие, как сервер reverse-прокси или балансировщик нагрузки) меняют значения в стандартных заголовках запроса, обеспечивая таким образом безопасность внутренних веб-сервисов или правильную маршрутизацию. Но внутреннему веб-сервису для корректной обработки запроса требуется исходная информация, переданная клиентом. Например, для определения геолокации клиента или сбора статистики. Чтобы обеспечить корректную работу внутренних веб-сервисов, серверы reverse-прокси или другие устройства могут передавать исходные данные запроса в дополнительных HTTP-заголовках. В UserGate WAF вы можете использовать правила публикации для обработки следующих дополнительных HTTP-заголовков:
Чтобы настроить обработку дополнительных HTTP-заголовков: 1. В разделе Настройки ➜ Политика сервисов ➜ Правила публикации создайте правило. Подробнее об этом — в разделе «Публикация веб-сервисов». 2. В окне Настройка правила публикации на вкладке Обработка заголовков установите флажки для тех заголовков, которые будут добавлены в исходный запрос. Если заголовки уже содержатся в запросе, их значения будут переписаны. 3. Сохраните изменения. |
