Вопросы и ответы по AWS WAF

Общие вопросы

AWS WAF – это брандмауэр интернет‑приложений, предназначенный для защиты интернет‑приложений от атак с помощью настройки правил, которые пропускают или блокируют сетевые запросы на основании определенных условий, а также могут осуществлять мониторинг (подсчет) таковых. Эти условия включают в себя IP-адреса, заголовки и тела HTTP, строки URI, внедренный SQL-код и межсайтовый скриптинг.

Когда базовый сервис получает запросы в адрес веб‑сайтов, он направляет их в AWS WAF для проверки на соответствие установленным правилам. Если запрос отвечает условию, установленному правилами, AWS WAF дает базовому сервису инструкции заблокировать или пропустить этот запрос, в соответствии с назначенным в правилах действием.

AWS WAF тесно интегрирован с Amazon CloudFront, Application Load Balancer (ALB), Amazon API Gateway и AWS AppSync – теми сервисами, которые клиенты AWS обычно используют для доставки контента для своих веб‑сайтов и приложений. При использовании AWS WAF в сочетании с Amazon CloudFront правила работают во всех периферийных местоположениях AWS, расположенных по всему миру вблизи конечных пользователей. Это означает, что безопасность обеспечивается без ущерба производительности. Заблокированные запросы перехватываются до того, как достигают веб-серверов. При использовании AWS WAF в сочетании с региональными сервисами, например Application Load Balancer, Amazon API Gateway и AWS AppSync, правила работают в регионе и могут использоваться для защиты как интернет-ресурсов, так и внутренних ресурсов.

Да, AWS WAF интегрирован с Amazon CloudFront, который поддерживает пользовательские источники за пределами облака AWS.

AWS WAF способен защищать веб‑сайты от широко распространенных способов атаки типа SQL‑инъекций и межсайтового скриптинга (XSS). Кроме того, вы можете создавать правила для блокировки или ограничения частоты запросов от определенных браузеров, IP-адресов или содержащего определенные заголовки запросов. Примеры см. в Руководстве разработчика по AWS WAF.

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

Да. Для сохранения истории всех вызовов API AWS WAF своего аккаунта включите сервис AWS CloudTrail в соответствующем разделе Консоли управления AWS. Для получения подробных сведений посетите главную страницу сервиса AWS CloudTrail или ознакомьтесь с Руководством разработчика по AWS WAF.

Да, поддержка IPv6 позволяет AWS WAF обрабатывать запросы HTTP/S с адресов IPv6 и IPv4.

Да, для новых и существующих сетевых ACL могут быть созданы новые условия совпадения с адресами IPv6 в соответствии с документацией.

Да. В пробных запросах будут отображаться адреса IPv6 (если применимо).

Да. Все существующие функции работы с трафиком поддерживают IPv6 и IPv4 без каких-либо различий в эффективности, масштабируемости и доступности сервисов.

AWS WAF можно развертывать поверх сервисов Amazon CloudFront, Application Load Balancer (ALB), Amazon API Gateway и AWS AppSync. При развертывании поверх Amazon CloudFront этот сервис может использоваться в рамках сети доставки контента (CDN) для защиты ресурсов и контента в периферийных местоположениях. При развертывании поверх Application Load Balancer этот сервис защищает серверы‑источники, расположенные за ALB. При развертывании поверх Amazon API Gateway AWS WAF помогает защитить API REST и обеспечить его безопасное использование. А при развертывании поверх AWS AppSync – защитить и обеспечить безопасное использование API GraphQL.

Да, AWS расширила свою программу соответствия требованиям HIPAA. Теперь сервис AWS WAF соответствует требованиям HIPAA. Если вы заключили с AWS договор делового партнерства (BAA), можно использовать AWS WAF для защиты интернет‑приложений от распространенных сетевых эксплойтов. Подробнее см. на странице Соответствие требованиям HIPAA.

Стоимость сервиса AWS WAF зависит от количества созданных списков управления доступом (ACL) для сети, количества правил, добавленных для этих списков ACL, и количества получаемых сетевых запросов. Сервис не требует авансовых обязательств. Плата за использование сервиса AWS WAF начисляется в дополнение к стоимости таких сервисов: Amazon CloudFront, Балансировщик нагрузки приложений (см. цены на ALB), API шлюз Amazon и (или) AWS AppSync.

Правила, основанные на частоте запросов, можно настроить в AWS WAF. Они дают возможность указать количество веб‑запросов, разрешенных для IP‑адреса клиента за непрерывный, постоянно обновляемый 5‑минутный интервал времени. Если запросы IP-адреса превышают установленное предельное значение, новые запросы будут заблокированы до тех пор, пока частота запросов не окажется ниже установленного порогового значения.

Правила, основанные на частоте запросов, аналогичны обычным правилам, с одним дополнением: есть возможность настроить пороговое значение частоты запросов. Если, например, пороговое значение для правила, основанного на частоте запросов, равно 2000, правило блокирует все IP‑адреса, которые выполнили более 2000 запросов за последний 5‑минутный интервал. Правило, основанное на частоте запросов, может также содержать любое другое условие AWS WAF, доступное для обычных правил.

Правило, основанное на частоте запросов, стоит столько же, сколько и обычное правило AWS WAF, то есть 1 USD за каждое правило из каждого веб-списка ACL в месяц.

Вот некоторые распространенные примеры использования клиентами правил, основанных на частоте запросов.

  • Требуется блокировать или вести подсчет IP‑адресов, которые превышают установленную пороговую частоту запросов (количество веб‑запросов в течение непрерывного 5‑минутного периода).
  • Требуется знать, какие IP‑адреса блокируются из‑за превышения установленной пороговой частоты запросов.
  • Требуется, чтобы IP‑адреса, которые были внесены в список блокировки, автоматически удалялись из него, если они перестают превышать установленную пороговую частоту запросов.
  • Требуется, чтобы определенные диапазоны IP‑адресов источника с интенсивным трафиком не блокировались по правилам, основанным на частоте запросов.

Да. Правила, основанные на частоте запросов, совместимы с существующими условиями соответствия AWS WAF. Это позволяет дополнительно уточнить критерии соответствия и применить основанные на частоте запросов ограничения только к конкретным URL-адресам веб-сайта клиента или к трафику, поступающему от конкретных источников ссылок (или пользовательских агентов), или добавить другие настраиваемые критерии соответствия.

Да. Этот новый тип правил был разработан для того, чтобы защитить клиентов от DDoS-атак на сетевом уровне, от попыток входа в систему методом перебора и от нежелательных ботов.

Правила, основанные на частоте запросов, поддерживают все возможности видимости, доступные для обычных правил AWS WAF. Кроме того, они обеспечивают видимость IP-адресов, заблокированных в результате работы правила, основанного на частоте запросов.

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

  • Строка запроса, по которой будет выполняться фильтрация – «URI».
  • Тип совпадения – «Starts with».
  • Значение, с которым выполняется сравнение – «/ login» (так должно быть независимо от того, что именно идентифицирует страницу входа в строке URI веб-запроса).

Кроме того, следует указать предельное значение частоты запросов, скажем, 15 000 запросов за 5 минут. Добавление этого правила, основанного на частоте запросов, в веб-список ACL ограничит количество запросов страницы входа, приходящихся на каждый IP-адрес, не затрагивая остальные страницы сайта.

Да. Это можно сделать, задав отдельное условие соответствия IP-адреса, которое разрешает запрос для правила, основанного на частоте запросов.

Точность отнесения IP‑адреса к какой‑либо стране зависит от региона. По последним данным, общая точность соответствия IP-адресов странам составляет 99,8 %.

Управляемые правила для AWS WAF

Управляемые правила – это удобный способ развертывания предварительно настроенных правил для защиты приложений от распространенных угроз, таких как уязвимости в приложениях (по данным проекта OWASP), боты или угрозы из общего перечня уязвимостей и рисков (CVE). Управляемые правила AWS для AWS WAF управляются AWS, тогда как управляемые правила AWS Marketplace – сторонними продавцами средств безопасности.

Оформить подписку на управляемые правила, предоставляемые продавцами средств безопасности AWS Marketplace, можно из консоли AWS WAF или из AWS Marketplace. Все управляемые правила, на которые оформлена подписка, можно добавить в веб-список контроля доступа AWS WAF.

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

Количество правил внутри управляемого правила не влияет на лимит. Но каждое управляемое правило, добавленное к сетевому списку контроля доступа, будет считаться одним отдельным правилом.

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

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

Конфигурация AWS WAF

Да, можно настроить CloudFront для выдачи пользовательских страниц ошибок при блокировке запроса. Подробнее см. в Руководстве разработчика по CloudFront

После первоначальной настройки, добавление или изменение правил обычно требует около минуты для применения по всему миру.

В AWS WAF предусмотрено два разных способа контролировать защиту веб‑сайта: поминутные метрики доступны в CloudWatch, а образцы сетевых запросов доступны в API AWS WAF или через консоль управления. Это позволяет увидеть, какие запросы были заблокированы, пропущены или подсчитаны и какое правило сработало на конкретный запрос (например, что данный запрос был заблокирован по IP‑адресу и т. п.). Подробные сведения см. в Руководстве по AWS WAF для разработчиков.

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

Метрики реального времени хранятся в Amazon CloudWatch. Сервис Amazon CloudWatch позволяет настроить период времени, в течение которого хранятся записи о событиях. Образцы сетевых запросов сохраняются до 3 часов.

Да. AWS WAF способен защищать приложения и может контролировать сетевые запросы по протоколам HTTP или HTTPS.

Контроль мошенничества AWS WAF – Защита от завладения аккаунтом

Защита от завладения аккаунтом (ATP) – это управляемая группа правил, которые отслеживают трафик страницы входа в приложении и выявляют несанкционированный доступ к аккаунтам пользователей с помощью скомпрометированных учетных данных. ATP можно использовать для предотвращения атак с использованием учетных данных, попыток входа методом перебора и других аномальных действий при входе в систему. При попытке входа в приложение ATP в режиме реального времени проверяет, не были ли предоставленные имена пользователей и пароли скомпрометированы где-либо в Интернете. Проверяя аномальные попытки входа в систему от злоумышленников, ATP сопоставляет историю запросов и помогает выявить попытки перебора и атак с вбросом учетных данных и устранить их последствия. ATP также предлагает дополнительные пакеты SDK JavaScript и iOS/Android, которые можно интегрировать в приложение, чтобы получить данные телеметрии пользовательских устройств, с которых выполняется попытка входа, и обеспечить лучшую защиту от автоматических попыток входа ботов.

Трафик между пользовательскими устройствами и приложением защищен протоколом SSL/TLS, который настраивается в сервисе AWS, используемого для взаимодействия с приложением, такого как Amazon CloudFront, Application Load Balancer, Amazon API Gateway или AWS AppSync. Как только учетные данные пользователя попадают в AWS WAF, сервис проверяет их, а затем немедленно хэширует и удаляет, и информация никогда не покидает сеть AWS. Любое взаимодействие между сервисами AWS, используемыми в приложении, и AWS WAF шифруется при передаче и во время хранения.

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

Защита от завладения аккаунтом (ATP) позволяет видеть и контролировать аномальные попытки входа со стороны злоумышленников, использующих скомпрометированные учетные данные, помогая предотвращать несанкционированный доступ, за которым могут последовать мошеннические действия. ATP применяется для защиты страницы входа в приложение.

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

Создайте веб-список ACL в консоли AWS WAF или измените существующий веб-список, если вы уже используете AWS WAF. При необходимости мастер настройки поможет задать основные параметры, например, какой ресурс вы хотите защитить и какие правила добавить. Для добавления правил выберите Add Managed Rules (Добавить управляемые правила), а затем в списке правил выберите Account Creation Fraud Prevention (Предотвращение мошенничества при создании аккаунта). Чтобы настроить ATP, введите URL-адрес страницы входа приложения и укажите место в теле запроса, где расположены поля с именем пользователя и паролем.

Пакеты SDK для JavaScript и Mobile предоставляют дополнительную телеметрию устройств, с которых выполняется попытка входа в приложение, чтобы обеспечить лучшую защиту от автоматических попыток входа ботов. Использование пакетов SDK не обязательно, но мы рекомендуем применять их для дополнительной защиты.

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

Контроль мошенничества в AWS WAF – Предотвращение мошенничества при создании аккаунта

Предотвращение мошенничества при создании аккаунта (ACFP) – это платная управляемая группа правил, которая позволяет выявлять и предотвращать атаки на страницу регистрации при создании поддельных аккаунтов. Вы можете использовать ACFP для предотвращения злоупотреблений, связанных с рекламой или регистрацией, нарушениями правил лояльности или вознаграждений, а также фишинга. При регистрации новых аккаунтов ACFP проверяет все предоставленные учетные данные (например, имя пользователя и пароль), используемые домены электронной почты и другую информацию, такую как номера телефонов, поля адресов, введенные в режиме реального времени, и блокирует попытку регистрации, если какие-либо из этих сведений считаются похищенными или обладают плохой репутацией. Кроме того, ACFP включает прогнозы рисков мошенничества, которые можно использовать без глубоких знаний моделей обнаружения на основе машинного обучения. ACFP также предлагает рекомендуемые SDK для JavaScript и iOS / Android, которые можно интегрировать в ваше приложение, чтобы получить дополнительные данные телеметрии о пользователе и лучше защитить приложение от автоматических попыток входа ботов.

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

Создайте веб-список ACL в консоли AWS WAF или измените существующий веб-список, если вы уже используете AWS WAF. При необходимости мастер настройки поможет задать основные параметры, например, какой ресурс вы хотите защитить и какие правила добавить. Для добавления правил выберите Add Managed Rules (Добавить управляемые правила), а затем в списке правил выберите Account Takeover Prevention (Защита от завладения аккаунтом). Чтобы настроить ACFP, введите URL-адрес страницы создания и регистрации аккаунта вашего приложения. Кроме того, вы можете указать, где в тексте запроса расположены поля формы имени пользователя, пароля, адреса и номера телефона.

Это необязательно, но настоятельно рекомендуется. Интеграция с SDK предоставляет дополнительную информацию, такую как версии браузеров, плагины и данные Canvas, что повышает эффективность правил ACP. Если интеграция с SDK не используется, мы применяем действие вызова. Действие вызова плохо работает с одностраничными (SPA) и нативными мобильными приложениями, поэтому для них интеграция с SDK обязательна. Для других приложений, которые могут выдержать обновление страницы, например HTML-страниц, интеграция с SDK необязательна. Мы поддерживаем SDK JS для веб-приложений и SDK Android и iOS для нативных мобильных приложений.

Вы можете проследить, как ACFP защищает ваше приложение, просмотрев панель мониторинга мошенничества в консоли, полный журнал WAF и метрики CloudWatch.

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

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