Поделиться через


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

В Azure WAF есть несколько механизмов защиты, которые могут помочь предотвратить распределенные атаки типа "отказ в обслуживании" (DDoS). Атаки DDoS могут быть направлены на оба уровня сети (L3/L4) или уровня приложений (L7). Служба Azure DDoS защищает клиентов от объемных атак на сетевом уровне. 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.
  • Увеличьте число экземпляров исходного сервера, чтобы обеспечить достаточные запасные ресурсы.
  • Включите защиту от атак 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 Application Gateway на оригинальный сервер. Ознакомьтесь с руководством по Azure Front Door. Убедитесь, что в виртуальной сети шлюза приложений нет общедоступных IP-адресов.

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

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

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

  • Как минимум, у вас должно быть правило ограничения скорости, которое блокирует высокий уровень запросов с любого одного IP-адреса. Например, можно настроить правило ограничения скорости, чтобы ни один IP-адрес клиента не мог отправлять на сайт больше трафика, чем допустимо в каждом окне времени. 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.