Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Брандмауэр веб-приложений Azure (WAF) в Шлюзе приложений Azure предлагает функцию вызова JavaScript (JS) в качестве одного из вариантов устранения рисков для расширенной защиты ботов.
Брандмауэр веб-приложений Azure (WAF) в Azure Front Door предлагает функцию вызова JavaScript (JS) в качестве одного из вариантов устранения рисков для расширенной защиты ботов. Он доступен в версии premium в качестве действия в пользовательском наборе правил и наборе правил Bot Manager 1.x.
Вызов JavaScript — это невидимое веб-испытание, которое различает между законными пользователями и ботами. Злонамеренные боты не справляются с задачей, что защищает веб-приложения. Кроме того, JavaScript-задача уменьшает препятствия для добросовестных пользователей, так как она не требует вмешательства человека.
Это важно
Вызов JavaScript брандмауэра веб-приложений Azure в Azure Application Gateway в настоящее время находится в предварительной версии. Ознакомьтесь с Дополнительными условиями использования для предварительных версий Microsoft Azure, чтобы узнать юридические условия, применимые к функциям Azure, которые находятся в статусе бета, предварительного просмотра или иначе еще не выпущены в общий доступ.
Принцип работы
Если вызов JavaScript активен в Azure WAF и запрос HTTP(S) клиента соответствует конкретному правилу, клиенту отображается страница с испытанием JavaScript от Microsoft. Пользователь видит эту страницу в течение нескольких секунд, пока браузер вычисляет проблему. Если браузер пользователя успешно вычисляет проблему, он отправляет ответ обратно в конечную точку Azure, которая предоставляется при настройке WAF. Эта конечная точка открыта для публичного доступа, однако запросы, отправленные к этой конечной точке, не перенаправляются на сервер и не учитываются для функции ограничения скорости. Если вызов браузера к этой конечной точке содержит правильные значения, указывающие на успешное вычисление, пользователь проходит испытание.
Браузер клиента должен успешно вычислить вызов JavaScript на этой странице, чтобы получить проверку от Azure WAF. При успешном выполнении вычислений WAF проверяет запрос как клиент, отличный от бота, и выполняет остальные правила WAF. Запросы, которые не удалось успешно вычислить проблему, блокируются.
Запросы общего доступа к ресурсам между источниками (CORS) оспариваются при каждой попытке доступа. Таким образом, если клиент обращается к странице, которая активирует вызов JavaScript из домена, отличного от домена, в котором размещена проблема, клиент снова сталкивается с проблемой, даже если клиент ранее передал вызов.
Кроме того, если клиент решает проблему JavaScript, а затем изменяется IP-адрес клиента, проблема будет выдана снова.
Ниже приведен пример страницы задач JavaScript:
Истечение срока действия
Параметр политики WAF определяет срок действия файла cookie запроса JavaScript в минутах. Пользователь оспаривается после истечения срока действия. Время существования — целое число от 5 до 1440 минут, а значение по умолчанию — 30 минут. Название cookie JavaScript challenge — appgw_azwaf_jsclearance в шлюзе приложений Azure.
Параметр политики WAF определяет срок действия файла cookie запроса JavaScript в минутах. Пользователь оспаривается после истечения срока действия. Время существования — целое число от 5 до 1440 минут, а значение по умолчанию — 30 минут. Имя файла cookie для вызова JavaScript находится afd_azwaf_jsclearance в Azure Front Door.
Примечание.
Файл cookie срока действия запроса JavaScript внедряется в браузер пользователя после успешного выполнения задачи.
Ограничения
- Вызовы AJAX и API не поддерживаются: вызов JavaScript не применяется к запросам AJAX и API.
- Ограничение размера тела POST: первый запрос, который активирует вызов JavaScript, блокируется, если его тело POST превышает 128 КБ в шлюзе приложений Azure.
- Ограничение размера тела POST: первый запрос, вызывающий вызов JavaScript, блокируется, если его тело POST превышает 64 КБ в Azure Front Door.
Встроенные ресурсы, отличные от HTML: задача JavaScript предназначена для HTML-ресурсов. Проблемы, не связанные с HTML-ресурсами, внедренными на страницу, например изображения, CSS, файлы JavaScript или аналогичные ресурсы, не поддерживаются. Однако если был предыдущий успешный запрос на вызов JavaScript, эти ограничения будут отменены.
Совместимость браузера: вызов JavaScript не поддерживается в Microsoft Internet Explorer. Он совместим с последними версиями веб-браузеров Microsoft Edge, Chrome, Firefox и Safari.
Ограничение скорости не поддерживается: действие вызова JavaScript в шлюзе приложений не поддерживается для пользовательских правил типа "Ограничение скорости " во время предварительной версии.
Шлюз приложений для контейнеров WAF: шлюз приложений для контейнеров WAF не поддерживает вызов JavaScript.