Что такое брандмауэр веб-приложения Azure в Шлюзе приложений Azure?

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

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

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

Примечание.

Шлюз приложений имеет две версии SKU WAF: WAF Шлюза приложений версии 1 и WAF Шлюза приложений версии 2. Связи политики WAF поддерживаются только для SKU WAF Шлюза приложений версии 2.

Application Gateway WAF diagram

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

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

Льготы

В этом разделе описываются основные преимущества, которые предоставляет WAF в Шлюзе приложений.

Защита

  • Защита веб-приложений от сетевых уязвимостей и атак без изменений кода серверной части.

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

  • Создайте пользовательские политики WAF для разных сайтов за одинаковым WAF.

  • Защита веб-приложений от вредоносных ботов с помощью набора правил репутации IP-адресов.

  • Защита приложения от атак DDoS. Дополнительные сведения см. в разделе "Защита от атак DDoS приложения".

Наблюдение

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

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

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

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

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

  • Создайте настраиваемые правила в соответствии с потребностями приложения.

Функции

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

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

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

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

  • настраиваемые правила, которые вы создаете;

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

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

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

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

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

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

Дополнительные сведения см. в статье о правилах и группах правил CRS для брандмауэра веб-приложения.

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

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

Оператор геосоответствия теперь доступен для настраиваемых правил. Дополнительные сведения о настраиваемых правилах геосоответствия см. в этом разделе.

Дополнительные сведения о настраиваемых правилах для шлюза приложений см. в этой статье.

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

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

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

  • Плохо

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

  • Хороший

    Хорошие боты включают проверенные поисковые системы, такие как Googlebot, bingbot и другие доверенные агенты пользователей.

  • Unknown

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

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

Screenshot of bot rule set.

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

Screenshot of Assign managed rule sets.

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

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

Режимы WAF

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

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

Примечание.

После развертывания 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.

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

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

Примечание.

Сообщение, которое регистрируется, когда правило WAF соответствует трафику, включает значение действия "Сопоставлено". Если общая оценка аномалий всех сопоставленных правил составляет 5 или больше, а политика WAF выполняется в режиме предотвращения, запрос запустит обязательное правило аномалии со значением действия "Заблокировано" и запрос будет остановлен. Однако если политика WAF выполняется в режиме обнаружения, запрос активирует значение действия "Обнаружено", а запрос будет зарегистрирован и передан в серверную часть. Дополнительные сведения см. в статье об устранении неполадок в брандмауэре веб-приложения (WAF) для Шлюза приложений Azure.

Настройка

Все правила WAF можно настроить и развернуть с помощью портала Azure, интерфейсов REST API, шаблонов Azure Resource Manager и Azure PowerShell. Вы также можете настроить политики Azure WAF и управлять ими в большом масштабе с помощью интеграции Диспетчера брандмауэра (предварительная версия). Дополнительные сведения см. в статье Использование Диспетчера брандмауэра Azure для управления политиками Брандмауэра веб-приложений (предварительная версия).

Мониторинг WAF

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

Diagram of Application Gateway WAF diagnostics

Azure Monitor

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

Microsoft Defender для облака

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

Defender for Cloud overview window

Microsoft Sentinel

Microsoft Sentinel — это масштабируемое ориентированное на облако решение для управления информационной безопасностью и событиями безопасности (SIEM), а также для автоматического реагирования в рамках оркестрации событий безопасности (SOAR). Microsoft Sentinel обеспечивает интеллектуальные средства для аналитики безопасности и аналитики угроз по всему предприятию, предоставляя единое решение для обнаружения предупреждений, визуального контроля угроз, упреждающей охоты и реагирования на угрозы.

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

Azure WAF firewall events workbook

Книга Azure Monitor для WAF

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

Ведение журнала

WAF в Шлюзе приложений предоставляет подробные отчеты о каждой из обнаруженных угроз. Функция ведения журналов интегрирована с журналами агента "Диагностика Azure". Оповещения сохраняются в формате JSON. Эти журналы можно интегрировать с журналами Azure Monitor.

Application Gateway diagnostics logs windows

{
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupId}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{appGatewayName}",
  "operationName": "ApplicationGatewayFirewall",
  "time": "2017-03-20T15:52:09.1494499Z",
  "category": "ApplicationGatewayFirewallLog",
  "properties": {
    {
      "instanceId": "ApplicationGatewayRole_IN_0",
      "clientIp": "52.161.109.145",
      "clientPort": "0",
      "requestUri": "/",
      "ruleSetType": "OWASP",
      "ruleSetVersion": "3.0",
      "ruleId": "920350",
      "ruleGroup": "920-PROTOCOL-ENFORCEMENT",
      "message": "Host header is a numeric IP address",
      "action": "Matched",
      "site": "Global",
      "details": {
        "message": "Warning. Pattern match \"^[\\\\d.:]+$\" at REQUEST_HEADERS:Host ....",
        "data": "127.0.0.1",
        "file": "rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
        "line": "791"
      },
      "hostname": "127.0.0.1",
      "transactionId": "16861477007022634343"
      "policyId": "/subscriptions/1496a758-b2ff-43ef-b738-8e9eb5161a86/resourceGroups/drewRG/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/globalWafPolicy",
      "policyScope": "Global",
      "policyScopeName": " Global "
    }
  }
} 

Цена на SKU для WAF шлюза приложений

Модели ценообразования для ценовых категорий SKU WAF_v1 и WAF_v2 имеют ряд отличий. Дополнительные сведения см. на странице цен на Шлюз приложений.

Новые возможности

О новых возможностях брандмауэра веб-приложения Azure можно узнать на странице Обновления Azure.

Следующие шаги