Защита от атак DDoS на уровне 7

В Azure WAF есть несколько механизмов защиты, которые могут помочь предотвратить распределенные атаки типа "отказ в обслуживании" (DDoS). Атаки DDoS могут быть направлены на оба уровня сети (L3/L4) или уровня приложений (L7). Служба DDoS Azure защищает клиентов от атак большого сетевого слоя. Azure WAF, работающий на уровне 7, защищает веб-приложения от атак DDoS L7, таких как http-наводнения. Эти средства защиты могут предотвратить доступ злоумышленников к приложению и повлиять на доступность и производительность приложения.

Как защитить службы?

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

  • Развертывание Azure Брандмауэр веб-приложений (WAF) с помощью Azure Front Door Premium или Шлюз приложений SKU WAF версии 2 для защиты от атак уровня приложений L7.
  • Масштабируйте число экземпляров источника, чтобы обеспечить достаточную резервную емкость.
  • Включите защиту от атак DDoS Azure на общедоступных IP-адресах источника для защиты общедоступных IP-адресов от атак DDoS уровня 3(L3) и уровня 4(L4). Предложения DDoS Azure могут автоматически защищать большинство сайтов от атак L3 и L4, которые отправляют большое количество пакетов на веб-сайт. Azure также предлагает защиту уровня инфраструктуры для всех сайтов, размещенных в Azure по умолчанию.

Azure WAF с Azure Front Door

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

  • Используйте управляемый набор правил защиты ботов для защиты от известных плохих ботов. Дополнительные сведения см. в разделе "Настройка защиты бота".

  • Примените ограничения скорости, чтобы предотвратить слишком частое вызовы службы IP-адресами. Дополнительные сведения см. в разделе "Ограничение скорости".

  • Блокировать IP-адреса и диапазоны, которые вы определяете как вредоносные. Дополнительные сведения см. в разделе об ограничениях IP-адресов.

  • Блокировать или перенаправлять на статическую веб-страницу любой трафик извне определенного географического региона или в определенном регионе, который не соответствует шаблону трафика приложения. Дополнительные сведения см. в статье Геофильтрация.

  • Создайте пользовательские правила WAF для автоматического блокировки и ограничения скорости атак HTTP или HTTPS с известными сигнатурами. Подпись, например конкретный агент пользователя или определенный шаблон трафика, включая заголовки, файлы cookie, параметры строки запроса или сочетание нескольких подписей.

Помимо WAF, Azure Front Door также предлагает защиту от атак DDoS инфраструктуры Azure по умолчанию для защиты от атак DDoS L3/4. Включение кэширования в Azure Front Door может помочь поглотить внезапный пиковый объем трафика на границе и защитить серверные источники от атак.

Дополнительные сведения о функциях и защите от атак DDoS в Azure Front Door см. в статье "Защита от атак DDoS" в Azure Front Door.

Azure WAF с Шлюз приложений Azure

Мы рекомендуем использовать Шлюз приложений SKU WAF версии 2, который поставляется с новейшими функциями, включая функции устранения рисков DDoS L7, чтобы защититься от атак DDoS L7.

Шлюз приложений SKU WAF можно использовать для устранения многих атак DDoS L7:

  • Задайте для Шлюз приложений автоматическое масштабирование и не применяет максимальное количество экземпляров.

  • Использование управляемого набора правил защиты бота обеспечивает защиту от известных плохих ботов. Дополнительные сведения см. в разделе "Настройка защиты бота".

  • Примените ограничения скорости, чтобы предотвратить слишком частое вызовы службы IP-адресами. Дополнительные сведения см. в разделе "Настройка ограничения скорости" настраиваемых правил.

  • Блокировать IP-адреса и диапазоны, которые вы определяете как вредоносные. Дополнительные сведения см. в примерах в статье "Создание и использование настраиваемых правил версии 2".

  • Блокировать или перенаправлять на статическую веб-страницу любой трафик извне определенного географического региона или в определенном регионе, который не соответствует шаблону трафика приложения. Дополнительные сведения см. в примерах в статье "Создание и использование настраиваемых правил версии 2".

  • Создайте пользовательские правила WAF для автоматического блокировки и ограничения скорости атак HTTP или HTTPS с известными сигнатурами. Подписи, такие как конкретный агент пользователя или определенный шаблон трафика, включая заголовки, файлы cookie, параметры строки запроса или сочетание нескольких подписей.

Дополнительные рекомендации

  • Блокировка доступа к общедоступным IP-адресам в источнике и ограничение входящего трафика, чтобы разрешить трафик только из Azure Front Door или Шлюз приложений к источнику. Ознакомьтесь с руководством по Azure Front Door. Шлюз приложений развертываются в виртуальной сети, убедитесь, что нет общедоступных IP-адресов.

  • Переключите политику WAF на режим предотвращения. Развертывание политики в режиме обнаружения работает только в журнале и не блокирует трафик. После проверки и тестирования политики WAF с рабочим трафиком и тонкой настройкой для уменьшения ложных срабатываний следует повернуть политику в режим предотвращения (режим блокировки и защиты).

  • Отслеживайте трафик с помощью журналов Azure WAF для любых аномалий. Вы можете создать настраиваемые правила, чтобы заблокировать любой обижающий трафик — подозреваемые IP-адреса, отправляющие необычное количество запросов, необычные строки агента пользователя, аномальные шаблоны строк запроса и т. д.

  • Вы можете обойти WAF для известного законного трафика, создав настраиваемые правила сопоставления с действием Allow to reduce false positive. Эти правила должны быть настроены с высоким приоритетом (более низким числовым значением), чем другие правила ограничения блочных и скоростных ограничений.

  • Как минимум, у вас должно быть правило ограничения скорости, которое блокирует высокий уровень запросов с любого одного IP-адреса. Например, можно настроить правило ограничения скорости, чтобы не разрешать один IP-адрес клиента отправлять на сайт больше, чем XXX-трафик. Azure WAF поддерживает два окна для отслеживания запросов, 1 и 5 минут. Рекомендуется использовать 5-минутное окно для улучшения устранения атак HTTP-наводнения. Это правило должно быть самым низким приоритетом (приоритет упорядочен с 1 самым высоким приоритетом), чтобы более конкретные правила ограничения скорости или правила сопоставления могли быть созданы перед этим правилом. Если вы используете Шлюз приложений WAF версии 2, можно использовать дополнительные конфигурации ограничения скорости для отслеживания и блокировки клиентов методами, отличными от IP-адреса клиента. Дополнительные сведения об ограничениях скорости Шлюз приложений waf можно найти в обзоре ограничения скорости.

    Следующий запрос Log Analytics может быть полезным при определении порогового значения, которое следует использовать для приведенного выше правила. Для аналогичного запроса, но с Шлюз приложений замените FrontdoorAccessLog на ApplicationGatewayAccessLog.

    AzureDiagnostics
    | where Category == "FrontdoorAccessLog"
    | summarize count() by bin(TimeGenerated, 5m), clientIp_s
    | summarize max(count_), percentile(count_, 99), percentile(count_, 95)
    
  • Управляемые правила, не предназначенные для защиты от атак DDoS, обеспечивают защиту от других распространенных атак. Дополнительные сведения см. в статье об управляемых правилах (Azure Front Door) или управляемых правилах (Шлюз приложений), чтобы узнать больше о различных типах атак, которые могут помочь защититься от них.

Анализ журнала WAF

Журналы WAF можно анализировать в Log Analytics с помощью следующего запроса.

Azure Front Door

AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"

Дополнительные сведения см. в статье Azure WAF с Azure Front Door.

Шлюз приложений Azure

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLog"

Дополнительные сведения см. в статье Azure WAF с Шлюз приложений Azure.

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