Открыть сервис

AWS WAF

AWS WAF — это облачный веб-брандмауэр (Web Application Firewall), предоставляемый компанией Amazon Web Services (AWS) для защиты веб-приложений и API-интерфейсов от распространённых веб-угроз, таких как SQL-инъекции, межсайтовый скриптинг (XSS), флуд-атаки и другие атаки, описанные в проекте OWASP Top 10. Сервис позволяет фильтровать и мониторить HTTP(S)-запросы на основе настраиваемых правил безопасности, работая на уровне приложений (уровень 7 модели OSI).

История и развитие

AWS WAF был запущен в 2015 году как часть экосистемы Amazon Web Services для обеспечения безопасности облачных приложений. Первоначально сервис поддерживал только базовые правила, создаваемые пользователями вручную. В 2017 году была добавлена поддержка управляемых правил от сторонних поставщиков, таких как Trustwave и F5 Networks, что упростило настройку защиты для пользователей без глубоких знаний в области безопасности. В 2019 году AWS представила AWS WAF Security Automations — решение для автоматического развёртывания правил на основе анализа логов. В 2021 году сервис был значительно обновлён: появилась поддержка правил на основе машинного обучения (ML) для обнаружения аномалий в трафике, а также интеграция с AWS Firewall Manager для централизованного управления политиками безопасности в нескольких аккаунтах. В 2023 году была добавлена возможность анализа запросов в реальном времени с помощью AWS WAF Fraud Control для борьбы с мошенничеством и ботами.

Архитектура и принцип работы

AWS WAF работает как фильтр трафика, который размещается перед веб-приложением или API. Он может быть развёрнут совместно с несколькими сервисами AWS:

  • Amazon CloudFront — глобальная сеть доставки контента (CDN). WAF интегрируется с CloudFront для фильтрации трафика на границе сети, до того как запросы достигнут сервера.
  • Application Load Balancer (ALB)балансировщик нагрузки для приложений. WAF может фильтровать трафик, поступающий на ALB, защищая бэкенд-серверы.
  • Amazon API Gateway — сервис для создания и управления API. WAF защищает API-интерфейсы от атак, таких как DDoS и инъекции.
  • AWS App Runner — сервис для развёртывания контейнеризированных приложений.

Компоненты WAF

  1. Веб-ACL (Web Access Control List) — основной объект управления политиками безопасности. Веб-ACL содержит список правил, которые оцениваются для каждого входящего запроса. Каждое правило имеет действие: Allow (разрешить), Block (заблокировать), Count (подсчитать) или CAPTCHA (проверить пользователя через капчу).
  2. Правила (Rules) — логические условия, которые определяют, как обрабатывать запрос. Правила могут быть:
  • Строковыесопоставление с образцом (например, блокировка запросов, содержащих слово «admin» в URI).
  • Регулярные выражения (Regex) — более сложные шаблоны для поиска атак.
  • IP-адреса — блокировка или разрешение трафика с определённых IP-диапазонов.
  • Географическиефильтрация по стране происхождения запроса.
  • Размер запроса — ограничение длины тела запроса или URI.
  • SQL-инъекции и XSS — встроенные наборы правил для обнаружения этих атак.
  • Машинное обучение — правила, которые анализируют поведение трафика и выявляют аномалии.
  1. Группы правил (Rule Groups) — наборы правил, которые можно повторно использовать в нескольких веб-ACL. Существуют:
  • Управляемые группы правил AWS — предустановленные наборы от AWS, например, Core Rule Set (базовый набор правил), SQL Database (защита от SQL-инъекций), Known Bad Inputs (известные вредоносные входные данные).
  • Пользовательские группы правил — созданные пользователем.
  • Группы правил от AWS Marketplace — от сторонних поставщиков, таких как CrowdStrike, Fortinet, Imperva.
  1. Логирование — AWS WAF может отправлять логи всех запросов в Amazon S3, CloudWatch Logs или Amazon Kinesis Data Firehose для последующего анализа и аудита.

Процесс обработки запроса

  1. Запрос поступает на ресурс (CloudFront, ALB и т.д.).
  2. WAF проверяет, есть ли веб-ACL, привязанная к этому ресурсу.
  3. Если веб-ACL существует, WAF последовательно применяет правила в порядке их приоритета (по умолчанию — от низкого к высокому номеру, можно настроить).
  4. Для каждого правила WAF оценивает условие. Если условие совпадает, выполняется действие правила (Allow, Block, Count, CAPTCHA).
  5. Если ни одно правило не сработало, применяется действие по умолчанию (обычно Allow или Block, настраивается пользователем).
  6. Результат и метаданные запроса (если включено логирование) записываются в лог.

Классификация и возможности

AWS WAF можно классифицировать по нескольким признакам:

По типу защиты

  • Защита от веб-атак — блокировка SQL-инъекций, XSS, инъекций команд, path traversal.
  • Защита от ботов — фильтрация трафика от автоматизированных скриптов (скрейпинг, брутфорс, спам). Включает возможность вставки капчи (CAPTCHA) для проверки пользователей.
  • Защита от DDoS — хотя WAF не является полноценным DDoS-решением, он может блокировать аномальный трафик на уровне приложений (например, флуд запросами на один URI).
  • Гео-блокировка — ограничение доступа из определённых стран.
  • Фильтрация по IP — блокировка или разрешение трафика с конкретных IP-адресов или диапазонов.

По способу настройки

  • Ручная настройка — пользователь создаёт правила вручную через консоль AWS, CLI или API.
  • Управляемые правила — использование предварительно настроенных наборов от AWS или сторонних поставщиков.
  • Автоматизация — использование AWS WAF Security Automations или AWS Firewall Manager для автоматического развёртывания политик.

По интеграции

  • Интеграция с AWS — CloudFront, ALB, API Gateway, App Runner.
  • Интеграция с AWS Shield — AWS WAF может работать совместно с AWS Shield Advanced для защиты от DDoS-атак на уровне сети и приложений.
  • Интеграция с AWS Firewall Manager — централизованное управление политиками WAF в нескольких аккаунтах.

Применение

AWS WAF используется в различных сценариях:

  • Защита веб-сайтов и веб-приложений — от интернет-магазинов до корпоративных порталов.
  • Защита API — особенно при использовании RESTful API, которые часто становятся целью атак.
  • Защита от автоматизированных атак — например, от брутфорса на страницы входа или от скрейпинга контента.
  • Соответствие требованиям безопасности — многие стандарты (PCI DSS, HIPAA, GDPR) требуют наличия веб-брандмауэра для защиты данных.
  • Мониторинг и анализ трафика — логи WAF могут использоваться для выявления аномалий и инцидентов безопасности.

Ограничения и критика

Несмотря на широкие возможности, AWS WAF имеет ряд ограничений:

  • Сложность настройки — создание эффективных правил требует глубоких знаний в области веб-безопасности. Неправильно настроенные правила могут блокировать легитимный трафик или пропускать атаки.
  • Стоимость — оплата взимается за количество веб-ACL, правил и обработанных запросов. Для приложений с высоким трафиком затраты могут быть значительными.
  • Задержка — добавление WAF может увеличить время обработки запроса на несколько миллисекунд, что критично для высоконагруженных систем.
  • Отсутствие защиты на уровне сети — WAF не защищает от DDoS-атак на уровне сети (например, SYN-флуд). Для этого требуется AWS Shield Advanced.
  • Ограниченная поддержка нестандартных протоколов — WAF работает только с HTTP/HTTPS, не поддерживая, например, WebSocket или gRPC напрямую (хотя может быть настроен для анализа заголовков).
  • Сложность управления в масштабе — при большом количестве аккаунтов и ресурсов управление политиками WAF может стать трудоёмким, хотя AWS Firewall Manager частично решает эту проблему.

Сравнение с аналогами

AWS WAF конкурирует с другими облачными веб-брандмауэрами, такими как:

  • Azure Web Application Firewall — встроенный WAF в Microsoft Azure, работающий с Azure Application Gateway и Azure Front Door.
  • Cloudflare WAF — часть платформы Cloudflare, предлагает более широкий набор правил и более низкую стоимость для малого бизнеса.
  • Google Cloud Armor — WAF от Google Cloud, интегрированный с Cloud Load Balancing и Cloud CDN.
  • Imperva WAF — специализированное решение, доступное как через AWS Marketplace, так и как отдельный сервис.

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

Интересные факты

  • AWS WAF поддерживает до 1000 правил на одну веб-ACL (по состоянию на 2024 год).
  • Сервис может обрабатывать до 10 000 запросов в секунду на одну веб-ACL (базовый лимит, который может быть увеличен по запросу).
  • AWS WAF Fraud Control, запущенный в 2023 году, использует машинное обучение для обнаружения мошеннических действий, таких как создание поддельных аккаунтов или накрутка голосов.
  • Логи WAF могут быть интегрированы с Amazon Detective для автоматического анализа инцидентов безопасности.

Источники

  1. Документация AWS WAF (Amazon Web Services).
  2. «AWS Security Best Practices» — руководство по безопасности от AWS.
  3. OWASP Top 10 — 2021 (Open Web Application Security Project).
  4. Отчёты AWS re:Invent 2019–2023 о новых функциях WAF.
  5. Статья «Web Application Firewall: A Survey» (IEEE, 2020).
  6. Блог AWS Security Blog — публикации о WAF и безопасности.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →