CloudFront может автоматически добавлять скрипт AWS WAF в подходящие HTML-ответы.
Компания Amazon Web Services (AWS, облачная платформа) добавила возможность CloudFront вставлять скрипт WAF (фильтра веб-запросов) в HTML — код страницы. Возможность работает с определёнными правилами защиты.
Для чего AWS WAF подключает SDK через CloudFront?
Скрипт собирает сигналы в браузере, которые используют некоторые правила AWS WAF — сервиса фильтрации веб-запросов. CloudFront может вставить этот скрипт в страницу вместо ручного добавления разработчиком.
SDK — набор средств для подключения функций сервиса. Автоматическая вставка доступна для списка правил CloudFront, если в нём есть Bot Control с углублённой проверкой либо одна из двух групп Fraud Control: против захвата аккаунтов или мошеннического создания аккаунтов.
В объявлении от 30 октября AWS говорит об отсутствии доплаты именно за автоматическую вставку. Это не означает, что весь WAF и используемые правила становятся бесплатными.
Включится ли новая возможность на уже работающем сайте?
Существующие настройки сами не меняются. По умолчанию вставка включается при создании нового подходящего списка правил через консоль AWS; при программном создании она выключена, если её явно не задать.
Документация уточняет: вставка затрагивает весь список правил, а ограничить её отдельными путями внутри этой настройки нельзя. Поэтому область изменения стоит проверить до включения, даже если приложение не нужно пересобирать.
Какие ограничения важно проверить разработчику?
Скрипт добавляется в подходящие успешные HTML-ответы, а не в любой файл. Кеш может сохранять старую страницу, а строгая политика разрешённых скриптов способна заблокировать вставленный код.
Есть и менее очевидное изменение: при включённой возможности CloudFront убирает заголовки частичного запроса Range и If-Range и возвращает объект целиком. AWS предупреждает о влиянии на видео, аудио и инструменты загрузки файлов.
Для Origin Shield и некоторых функций Lambda@Edge автоматическая вставка не поддерживается. Если приложение само прикрепляет токены защиты к своим запросам, документация предлагает сохранять прямое подключение SDK.
Это хороший повод обновить перечень внешних зависимостей сайта: изменение защитного сервиса может затронуть страницы и файлы за пределами формы входа.
Как убедиться, что защита работает и посетитель может войти?
Проверьте одновременно появление скрипта и выполнение обычных действий посетителя. В документации AWS предложено открыть страницу без старого кеша, проверить исходный HTML и появление cookie aws-waf-token.
Перед принудительными правилами, реагирующими на отсутствие токена, AWS рекомендует режим подсчёта и изучение результатов. Сам факт успешного включения настройки не подтверждает, что каждый браузер получил и выполнил скрипт.
Мы предлагаем отдельно пройти вход, регистрацию, форму и загрузку медиа. В плане на случай недоступной капчи или оплаты разбираем, как сохранить рабочий маршрут для клиента. В рамках новости мы не меняли защиту сайта и не отключали ограничения безопасности.