Планирование и реализация Брандмауэра веб-приложений (WAF)

Завершено

Брандмауэр веб-приложения (WAF) предоставляет централизованную защиту веб-приложений от распространенных эксплойтов и уязвимостей. Веб-приложения все чаще подвергаются вредоносным атакам, использующим общеизвестные уязвимости. Наиболее распространенными атаками являются внедрение SQL и использование межсайтовых скриптов.

Схема, показывающая, как Брандмауэр веб-приложений (WAF) обеспечивает централизованную защиту веб-приложений от распространенных эксплойтов и уязвимостей.

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

Решение WAF может быстрее реагировать на угрозы безопасности по сравнению с защитой каждого отдельного веб-приложения посредством установки исправлений известных уязвимостей в центральном расположении.

Поддерживаемые службы

Брандмауэр веб-приложения можно развернуть на основе служб корпорации Майкрософт: Шлюз приложений Azure, Azure Front Door или Azure CDN (сеть доставки содержимого). WAF в Azure CDN сейчас предоставляется в общедоступной предварительной версии. Возможности WAF можно настроить для каждой конкретной службы. Дополнительные сведения о возможностях WAF для каждой службы см. в обзоре для каждой службы.

Azure Брандмауэр веб-приложений (WAF) на Шлюз приложений Azure активно защищает веб-приложения от распространенных эксплойтов и уязвимостей. Поскольку веб-приложения становятся более частыми целями для вредоносных атак, эти атаки часто используют известные уязвимости, такие как внедрение SQL и межсайтовые скрипты.

Брандмауэр веб-приложения в Шлюзе приложений работает на базе основного набора правил версий 3.1, 3.0 или 2.2.9 из Open Web Application Security Project (OWASP).

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

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

Шлюз приложений функционирует как контроллер доставки приложений. Он предоставляет функции обработки TSL-запросов (ранее SSL), сходства сеансов на основе файлов cookie, распределения нагрузки по методу циклического перебора, маршрутизации на основе содержимого, размещения нескольких веб-сайтов и улучшения безопасности.

Шлюз приложений повышает безопасность с помощью управления политиками TLS и сквозной поддержки TLS. Интеграция WAF в Шлюз приложений упрощает безопасность приложений. Эта комбинация активно защищает веб-приложения от распространенных уязвимостей и предлагает централизованно управляемое, простое расположение.

Защита

  • Защита веб-приложений от сетевых уязвимостей и атак без изменений кода серверной части.
  • Одновременная защита нескольких веб-приложений. Один экземпляр Шлюза приложений может содержать до 40 веб-сайтов, защищенных брандмауэром веб-приложения.
  • Создайте пользовательские политики WAF для разных сайтов за одинаковым WAF.
  • Защита веб-приложений от вредоносных ботов с помощью набора правил репутации IP-адресов.
  • Защита приложения от атак DDoS.

Наблюдение

Отслеживайте атаки на веб-приложения с помощью журнала WAF в реальном времени. Этот журнал интегрирован с Azure Monitor, что позволяет отслеживать оповещения WAF и тенденции.

WAF Шлюза приложений интегрирован с Microsoft Defender для облака. Defender для облака предоставляет централизованное представление о состоянии безопасности всех гибридных и многооблачных ресурсов Azure.

Пользовательская настройка

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

Функции

  • Защита от внедрения кода SQL.
  • Защита от межсайтовых сценариев.
  • Защита от других распространенных веб-атак, таких как внедрение команд, контрабанда HTTP-запросов, разделение ответа HTTP и включение удаленных файлов.
  • Защита от нарушений протокола HTTP.
  • Защита от аномалий протокола HTTP, например отсутствия агента пользователя узла и заголовков accept.
  • Защита от программ-обходчиков и сканеров.
  • Обнаружение распространенных неправильно настроенных приложений (например, Apache и службы IIS).
  • Настраиваемые ограничения размера запроса с нижней и верхней границами.
  • Списки исключений позволяют исключать некоторые атрибуты запроса из проверки WAF. Типичным примером является маркеры, вставляемые идентификатором Microsoft Entra, которые используются для проверки подлинности или полей паролей.
  • Создайте настраиваемые правила в соответствии с конкретными потребностями приложения.
  • Примените географическую фильтрацию трафика, чтобы разрешать или запрещать доступ к приложениям из определенных стран или регионов.
  • Защитите веб-приложения от ботов с помощью набора правил для предотвращения использования ботов.
  • Проверка нотации объектов JavaScript (JSON) и расширяемого языка разметки (XML) в тексте запроса

Политика и правила WAF

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

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

  • настраиваемые правила, которые вы создаете;
  • Управляемые наборы правил, которые являются коллекцией предварительно настроенных наборов правил, управляемых Azure

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

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

Веб-приложение, доставленное Шлюзом приложений, может иметь политику WAF, связанную с ним на глобальном уровне, на уровне отдельных сайтов или на уровне URI.

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

Шлюз приложений поддерживает несколько наборов правил, включая CRS 3.2, CRS 3.1 и CRS 3.0. Эти правила защищают веб-приложения от вредоносных действий.

Настраиваемые правила

Кроме того, Шлюз приложений поддерживает пользовательские правила. С помощью пользовательские правил вы можете создать собственные правила, которые оцениваются для каждого запроса, проходящего через WAF. Эти правила имеют более высокий приоритет, чем любые правила из управляемых наборов правил. Если выполняется указанный набор условий, применяется соответствующее действие (разрешение или блокировка).

Набор правил защиты от ботов

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

Поддерживаются три категории ботов:

  • Плохие боты включают ботов из вредоносных IP-адресов и ботов, которые фальсифицируют свои удостоверения. Плохие боты с вредоносными IP-адресами создаются из индикаторов компрометации веб-канала Microsoft Threat Intelligence.
  • Хороший — хорошие боты включают проверенные поисковые системы, такие как Googlebot, bingbot и другие доверенные агенты пользователей.
  • Неизвестно. Неизвестные боты классифицируются с помощью опубликованных агентов пользователей без дополнительной проверки. Например, анализатор рынка, наборы веб-каналов и агенты сбора данных. Неизвестные боты также включают вредоносные IP-адреса, полученные из веб-канала Microsoft Threat Intelligence среднего доверия IP-индикаторов компрометации.

Платформа WAF активно управляет и динамически обновляет подписи ботов.

Screesnhot, показывающий пример подписей бота.

Вы можете назначить Microsoft_BotManagerRuleSet_1.0 с помощью параметра "Назначение " в разделе "Управляемые наборы правил":

Screesnhot, показывающий пример назначения управляемых наборов правил.

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

Вы можете получить доступ к журналам WAF из учетной записи хранения, концентратора событий, log analytics или отправить журналы в партнерское решение.

Режимы WAF

WAF Шлюза приложений можно настроить для работы в следующих двух режимах.

  • Режим обнаружения: отслеживает и регистрирует все оповещения об угрозах. Ведение журнала диагностики для Шлюза приложений можно включить в разделе Диагностика. Кроме того, нужно убедиться, что выбран и включен параметр ведения журнала WAF. Брандмауэр веб-приложения не блокирует входящие запросы, когда он работает в режиме обнаружения.
  • Режим предотвращения: блокирует вторжение и атаки, обнаруженные правилами. Злоумышленник получает сообщение "403 unauthorized access" (несанкционированный доступ) и такое подключение прерывается. В режиме предотвращения подобные атаки также заносятся в журналы WAF.

Подсистемы WAF

Подсистема брандмауэра веб-приложений Azure (WAF) — это компонент, который проверяет трафик и определяет, включает ли запрос подпись, которая может указывать на потенциальную атаку. Если используется CRS 3.2 или более поздней версии, WAF работает на базе новой подсистемы WAF, которая обеспечивает более высокую производительность и улучшенный набор функций. Если же используются более ранние версии CRS, WAF работает на более старой подсистеме. Новые функции доступны только в новом ядре Azure WAF.

Действия WAF

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

  • Разрешить: запрос пропускается через WAF и передается в серверную часть. Никакие правила с более низким приоритетом не могут блокировать такой запрос. Разрешить действия применимы только к набору правил Bot Manager и не применимы к набору правил Core.
  • Блокировать: запрос блокируется, а WAF отправляет клиенту ответ, не перенаправляя запрос в серверную часть.
  • Занести в журнал: WAF записывает запрос в свои журналы и продолжает анализ правил с более низким приоритетом.
  • Оценка аномалий. Это действие по умолчанию для набора правил CRS, где общая оценка аномалий увеличивается при сопоставлении правила с этим действием. Оценка аномалий не применима к набору правил Bot Manager.

Режим оценки аномалий

Открытый проект безопасности веб-приложений (OWASP) имеет два режима для определения того, следует ли блокировать трафик: традиционный режим и режим оценки аномалий.

В традиционном режиме трафик, который соответствует любому правилу, оценивается независимо от других совпадений с правилами. Это очень простой для понимания режим. Но его полезность ограничивается отсутствием сведений о том, скольким правилам соответствует каждый запрос. Для устранения этой проблемы добавлен режим оценки аномалий. Он используется по умолчанию в OWASP 3.x.

В режиме оценки аномалий трафик, соответствующий любому правилу, не блокируется сразу, если брандмауэр работает в режиме предотвращения. Правила имеют определенную серьезность: критические, ошибки, предупреждения или уведомления. Это значение серьезности влияет на числовое значение "Оценка аномалии", которое присваивается каждому запросу. Например, при каждом совпадении с правилом уровня Предупреждение эта оценка повышается на 3. А при совпадении с правилом уровня Критический добавляется значение 5.

Уровень серьезности Value
Критически важно 5
Ошибка 4
Предупреждение 3
Примечание. 2

Чтобы оценка аномалии привела к блокировке трафика, она должна достигнуть порогового значения 5. Это означает, что достаточно одного совпадения с правилом уровня Критический, чтобы WAF на Шлюзе приложений заблокировал запрос в режиме предотвращения. Но одно совпадение с правилом уровня Предупреждение увеличивает оценку аномалии только на 3, и этого недостаточно для блокировки трафика.

Настройка

Все правила WAF можно настроить и развернуть с помощью портала Azure, интерфейсов REST API, шаблонов Azure Resource Manager и Azure PowerShell.

Мониторинг WAF

Важно отслеживать работоспособность шлюза приложений. Это можно поддерживать, интегрируя WAF и приложения, защищенные с помощью журналов Microsoft Defender для облака, Azure Monitor и Azure Monitor.

Схема, на которой показан пример функций мониторинга брандмауэра веб-приложений Azure.

Azure Monitor

Журналы Шлюза приложений интегрированы с Azure Monitor. Это позволяет отслеживать диагностические сведения, включая журналы и оповещения WAF. Вы можете применить эту возможность на вкладке Диагностика для ресурса Шлюза приложений на портале или напрямую через службу Azure Monitor.