Подключение WAF к CloudFront и ALB
Размещайте WAF перед нужной периферийной службой или балансировщиком нагрузки.
«Подключение WAF к CloudFront и ALB» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Для WAF нужен узел
WAF не является автономным устройством: его необходимо связать с ресурсом, который пересылает ему запросы. Поддерживаются интеграции с CloudFront, балансировщиком нагрузки приложений (ALB), шлюзом API, AppSync, пулами пользователей Cognito и службой запуска приложений. Место подключения WAF определяет, где выполняется проверка.
CloudFront на периферии
Подключение WAF к дистрибутиву CloudFront позволяет проверять запросы в периферийных местоположениях AWS до их отправки к источнику. Это блокирует атаки ближе всего к пользователю, снижает нагрузку на серверную часть и работает глобально. Такой вариант идеально подходит для общедоступных веб-сайтов и доставки содержимого, где фильтрация на периферии приносит наибольшую пользу.
ALB в регионе
Подключение WAF к балансировщику нагрузки приложений позволяет проверять запросы при их поступлении на ваш региональный балансировщик нагрузки. Это подходит для внутренних приложений, API за ALB или случаев, когда трафик не проходит через CloudFront. Веб-ACL должен использовать область действия REGIONAL в регионе ALB.
Область действия должна совпадать
Напомним, что веб-ACL может иметь область действия CLOUDFRONT (глобальную, us-east-1) или область действия REGIONAL. Нельзя подключить региональный веб-ACL к CloudFront или веб-ACL CloudFront к ALB. Выбор неправильной области действия — распространённая ошибка развёртывания, на которую обращается внимание на экзамене.
Защита на нескольких уровнях
Для максимальной защиты можно разместить CloudFront перед ALB и подключить WAF к обоим ресурсам: веб-ACL CloudFront обеспечит глобальную фильтрацию на периферии, а региональный веб-ACL на ALB будет служить дополнительной защитой. Это защищает от запросов, которые обходят CloudFront и напрямую достигают ALB.
Защита источника
Если злоумышленники могут напрямую обращаться к ALB, они обходят CloudFront и его WAF. Чтобы снизить этот риск, ограничьте группу безопасности ALB диапазонами IP-адресов CloudFront или используйте секретный пользовательский заголовок, который добавляет CloudFront, а ALB или WAF проверяет. Так вы убедитесь, что трафик действительно прошёл через периферийный уровень.
# Origin protection pattern
CloudFront adds header: X-Origin-Verify: <secret>
WAF on ALB blocks requests missing that headerШлюз API и AppSync
WAF также подключается к REST API шлюза API и GraphQL API AppSync, причём оба ресурса являются региональными. Это защищает серверные части на основе API от внедрения и злоупотреблений без отдельного балансировщика нагрузки. Для бессерверных API это естественная точка применения защиты.
Защита Cognito
WAF можно подключить к пулам пользователей Cognito, чтобы защищать конечные точки аутентификации от подбора учётных данных и злоупотреблений при регистрации, выполняемых ботами. Это хорошо сочетается с управляемой группой Account Takeover Prevention. Такая защита предназначена для процессов идентификации, которые часто становятся целью атак. Проверка на периферии CloudFront также почти не увеличивает задержку и блокирует атаки раньше, чем региональный ALB.
Один ресурс — один веб-ACL
Ресурс можно одновременно связать только с одним веб-ACL, но один веб-ACL может защищать множество ресурсов. Чтобы применять разные политики, создавайте отдельные веб-ACL. Централизация общих правил в управляемых или пользовательских группах правил помогает поддерживать согласованность нескольких веб-ACL.
Выбор точки подключения
Ориентируйтесь на поток трафика: для общедоступного глобального содержимого подходит CloudFront; для региональных или внутренних приложений — ALB; для бессерверных API — шлюз API или AppSync. Если сомневаетесь, подключите защиту на периферии и добавьте защиту источника, чтобы злоумышленники не могли обойти её.
Объединяем всё
Эффективность защиты WAF зависит от правильного размещения. Сопоставляйте область действия с ресурсом, для общедоступных приложений отдавайте предпочтение подключению на периферии, используйте WAF на ALB как дополнительную защиту и блокируйте прямой доступ к источнику, оставляя его доступным только через CloudFront. Эти варианты размещения регулярно встречаются в сценариях защиты сетей на экзамене SCS-C02.
Быстрая проверка
Примените знания о подключении WAF.
Повторение
WAF необходимо подключить к ресурсу: CloudFront, ALB, шлюзу API, AppSync, Cognito или службе запуска приложений. CloudFront выполняет глобальную проверку на периферии; ALB и остальные ресурсы выполняют региональную проверку и требуют веб-ACL с областью действия REGIONAL. Размещайте WAF и на периферии, и на ALB, а также защищайте источник с помощью секретного заголовка или диапазонов IP-адресов CloudFront, чтобы злоумышленники не могли обойти периферийную фильтрацию. Одному ресурсу соответствует один веб-ACL.
Часто задаваемые вопросы
Урок «Подключение WAF к CloudFront и ALB» бесплатный?
Да — полный текст урока «Подключение WAF к CloudFront и ALB» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Подключение WAF к CloudFront и ALB»?
Размещайте WAF перед нужной периферийной службой или балансировщиком нагрузки. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Подключение WAF к CloudFront и ALB»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Как AWS WAF проверяет запросы
- Правила, группы правил и веб-ACL
- Управляемые правила и ограничение частоты
- Подключение WAF к CloudFront и ALB