Защита от атак DDoS на уровне приложения (уровень 7)

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

Как защитить ваши услуги?

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

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

Azure WAF с Azure Front Door

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

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

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

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

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

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

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

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

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

Используйте ценовую категорию Application Gateway WAF v2, которая включает новейшие возможности, такие как средства защиты от DDoS-атак уровня L7, для защиты от DDoS-атак уровня L7.

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

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

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

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

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

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

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

Другие вопросы

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

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

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

  • Вы можете исключить проверку WAF для известного доверенного трафика, создав пользовательские правила Match с действием «Разрешить», чтобы уменьшить количество ложных срабатываний. Настройте эти правила с высоким приоритетом (более низким числовым значением), чем другие правила ограничения блочных и скоростных значений.

  • По крайней мере, имеется правило ограничения скорости, которое блокирует высокий уровень запросов с любого одного IP-адреса. Например, можно настроить правило ограничения скорости, чтобы ни один IP-адрес клиента не мог отправлять на сайт больше трафика, чем допустимо в каждом окне времени. Azure WAF поддерживает два временных окна для отслеживания запросов: одну и пять минут. Используйте пятиминутное окно для более эффективного противодействия HTTP Flood-атакам. Это правило должно быть наименее приоритетным (приоритеты упорядочены от 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 (облачное сетевое решение от Microsoft)

AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"

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

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

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLog"

Для получения дополнительной информации см. Azure WAF с Шлюзом приложений Azure.