Новым пользователямБесплатные тарифы DNS и CDN для каждого нового аккаунта.Создать аккаунт

WAF и безопасность

Настройка управляемых наборов правил WAF, пользовательских правил межсетевого экрана, ограничения частоты запросов, режима защиты при атаке и управления доступом: защиты от хотлинкинга, списков стран и User-Agent.

8 мин на чтение Обновлено 20 окт. 2026 г.

У каждого домена CDN есть страница Межсетевой экран, где можно управлять политикой безопасности, применяемой пограничными узлами к этому домену. Перейдите в CDN → CDN-домены, откройте домен и выберите Межсетевой экран. URL в консоли: /cdn/domains/<domain>/firewall.

На странице межсетевого экрана четыре вкладки:

ВкладкаНазначение
Настройка правилПользовательские правила межсетевого экрана, управляемые наборы правил WAF и пользовательские правила WAF с начислением баллов
Контроль доступаЗащита от хотлинкинга, блокировка стран/ASN, списки User-Agent, аутентификация доступа, режим защиты при атаке (UAM) и защита соединений
Аналитика WAFСтатистика блокировок и других событий (см. Журналы и аналитика)
Журнал событийОтдельная запись для каждого заблокированного запроса или запроса, для которого назначена проверка

При сохранении конфигурация автоматически передаётся на пограничные узлы. Изменения обычно вступают в силу за время от нескольких секунд до минуты; очищать кеш не требуется.

Управляемые наборы правил WAF

WAF (межсетевой экран веб-приложений) проверяет URI, строку запроса, User-Agent, Referer и файлы cookie каждого запроса. Также проверяются тела запросов с данными форм и JSON. Проверка выявляет признаки распространённых атак.

  1. Откройте Межсетевой экран → Настройка правил и найдите карточку Предустановленные наборы правил WAF.

  2. Включите основной переключатель в заголовке карточки.

  3. Разверните категорию и включите или отключите отдельные наборы правил:

    Набор правилЧто обнаруживает
    SQL-инъекцииДанные, характерные для SQL-инъекций
    XSSДанные, характерные для межсайтового скриптинга
    Обход каталоговОбход каталогов с помощью конструкций вида ../
    Внедрение командВнедрение команд ОС
    LFI/RFIВключение локальных и удалённых файлов
    Атаки на протоколНекорректные или аномальные HTTP-запросы
    Обнаружение сканеровРаспространённые сканеры уязвимостей
    Вредоносные роботыИзвестные вредоносные поисковые роботы
  4. В разделе Настройки движка CRS выберите Режим проверки:

    • Блокировать: блокирует совпавший запрос с кодом 403 и записывает событие в журнал.
    • Только журналирование: записывает событие в журнал без блокировки. Используйте этот режим для проверки ложных срабатываний перед применением новых правил.
  5. Нажмите Сохранить.

Порог оценки аномалий применяется к правилам с начислением баллов. Каждое сработавшее правило добавляет баллы к оценке запроса; когда оценка достигает порога, запрос блокируется. Значение по умолчанию — 5. Чем меньше значение, тем строже проверка.

Примечание

Доступность WAF зависит от тарифа. На момент написания функция включена в тарифы CDN Professional и Enterprise и недоступна на Free и Starter. Актуальные сведения приведены на странице тарифов. Если ваш тариф не включает WAF, переключатель не влияет на работу пограничных узлов.

Совет

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

Пользовательские правила WAF с начислением баллов

Если управляемые наборы правил не охватывают ваш сценарий, добавьте правила в карточке Пользовательские правила WAF с начислением баллов:

  • Область проверки: URI (со строкой запроса), путь, параметры запроса, тело запроса, заголовок запроса, файл cookie, User-Agent или метод. Для заголовков и файлов cookie можно указать имя.
  • Тип сопоставления: регулярное выражение, SQL-инъекция (libinjection) или XSS (libinjection).
  • Действие:
    • Блокировать: немедленно блокирует запрос. Можно задать код состояния; по умолчанию 403.
    • Записать в журнал (начислить баллы): добавляет баллы правила к оценке запроса. Запрос блокируется, когда его суммарная оценка достигает порога оценки аномалии.

Пользовательские правила межсетевого экрана

Пользовательское правило межсетевого экрана связывает условия с действием. Типичные сценарии — блокировка IP-адресов, разрешение трафика только из определённых стран и защита конечных точек входа в систему.

Создание правила

  1. На вкладке Правила нажмите Добавить правило.
  2. Введите имя. Приоритет может быть от 1 до 9999; значение по умолчанию — 100.
  3. Добавьте одно или несколько условий. Каждое условие содержит поле, необязательный ключ, оператор и значение. Запрос соответствует правилу, только если выполнены все условия.
  4. Выберите действие и заполните его настройки.
  5. Сохраните правило. В любой момент его можно включить, отключить или удалить из списка.

Поля

ПолеОписание
IP-адресIP-адрес клиента. Для оператора «в списке» каждое значение может быть отдельным IP-адресом или диапазоном CIDR
Код страныКод ISO 3166-1 alpha-2, например US или DE
ASNНомер автономной системы, например 13335
Путь URI / ПутьПуть запроса без строки запроса
HostЗапрашиваемое имя хоста
МетодGET, POST и т. д.
User-Agent / RefererСоответствующий заголовок запроса
Заголовок / Cookie / Параметр запросаУкажите имя в поле ключа
РасширениеРасширение файла, например jpg

Доступные операторы: равно, не равно, содержит, не содержит, начинается с, заканчивается на, в списке, не в списке, соответствует регулярному выражению, больше/меньше (или равно), существует и не существует. Для операторов со списками указывайте каждое значение на отдельной строке.

Примечание

Страна и ASN определяются по IP-адресу клиента. Если определить их для IP-адреса не удалось, условия по этим полям не выполняются.

Действия

ДействиеРезультат
БлокироватьВозвращает ответ с ошибкой. Можно задать код состояния от 400 до 599; по умолчанию 403
РазрешитьПропускает проверку WAF и все оставшиеся правила. Используйте для доверенных IP-адресов или конечных точек обратного вызова
JS-проверка / Управляемая проверкаПоказывает посетителю страницу проверки браузера с тем же механизмом, что и в режиме защиты при атаке. После успешной проверки повторная не требуется до истечения срока действия допуска
Ограничение частоты запросовПодсчитывает совпавшие запросы и выполняет действие при превышении лимита (см. ниже)
Предупреждение

Один запрос может соответствовать нескольким правилам. Не включайте пересекающиеся правила с противоречащими действиями, например разрешение и блокировку одного диапазона. Результат может оказаться неожиданным.

Пример API

Блокировка подсети:

bash
curl -X POST "https://api.yeap.cloud/api/user/cdn/firewall-rules/create" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "domain_id": 123,
    "name": "Block bad subnet",
    "expression": {"op": "and", "conditions": [
      {"collection": "IP", "op": "in", "var": ["203.0.113.0/24"]}
    ]},
    "action": "block",
    "action_config": {"status": 403},
    "priority": 100,
    "enabled": true
  }'

Другие конечные точки:

  • Список правил: GET /api/user/cdn/firewall-rules?domain_id=123
  • Обновление правила: POST /api/user/cdn/firewall-rules/update, с id в теле запроса
  • Удаление правила: DELETE /api/user/cdn/firewall-rules/delete?id=<id>

Ограничение частоты запросов

Чтобы ограничить частоту запросов, создайте правило межсетевого экрана с действием Ограничение частоты запросов. Условия правила задают запросы, которые требуется защитить, например пути, начинающиеся с /api/login. Затем настройте:

  • Лимит запросов и окно (секунды): лимит считается превышенным, когда количество запросов за указанное окно становится больше лимита.
  • Ключ: IP-адрес, заголовок запроса, файл cookie, путь URI или страна. Для заголовков и файлов cookie также укажите имя, например X-Api-Key.
  • Область действия: Весь домен ведёт отдельный счётчик для каждого значения ключа, например для каждого IP-адреса. Глобально использует один счётчик для всех запросов, соответствующих правилу.
  • При превышении: блокировать с кодом 429, назначить проверку, только записать в журнал или замедлить ответ (tarpit). Tarpit замедляет ответ, но не отклоняет запрос.
Примечание

Каждая пограничная площадка ведёт собственные счётчики. Если запросы клиента распределены между несколькими площадками, общее разрешённое количество запросов по сети может быть выше лимита для одной площадки.

Управление доступом

Вкладка Контроль доступа содержит несколько отдельных модулей. У каждого есть собственный переключатель. По завершении нажмите Сохранить правила доступа, чтобы сохранить все настройки.

Защита от хотлинкинга (список Referer)

  • Разрешать пустой Referer и Разрешать тот же домен: пропускают прямые посещения и переходы с вашего сайта.
  • Разрешённые домены: по одной записи на строку. Можно использовать точные имена, подстановочные знаки, например *.example.com, или регулярные выражения, начинающиеся с ~. Если список не пуст, Referer должен соответствовать одной из записей.
  • Заблокированные домены: совпавший запрос блокируется. Этот список имеет приоритет над списком разрешённых доменов.
  • Защищаемые расширения: ограничивает защиту определёнными типами файлов, например .jpg или .mp4. Оставьте поле пустым, чтобы защитить все пути.

Блокировка по стране / ASN

Задайте списки блокировки и разрешений для стран, административных единиц (коды ISO 3166-2) и ASN, по одной записи на строку. Совпадение со списком блокировки приводит к блокировке. Если список разрешений для какого-либо критерия не пуст, допускаются только посетители из этого списка. При использовании нескольких критериев посетитель должен пройти проверку по каждому из них.

Список User-Agent

Задайте действие по умолчанию, обработку пустого User-Agent и код состояния при блокировке, затем добавьте правила. При действии «разрешить» по умолчанию список работает как список блокировки; при действии «блокировать» — как список разрешений. Правила проверяются сверху вниз, и первое совпадение определяет результат. Доступно сопоставление по подстроке, шаблону с подстановочными знаками, регулярному выражению, точному значению, префиксу или суффиксу.

Аутентификация доступа

Можно задать списки разрешённых и запрещённых IP-адресов с поддержкой диапазонов CIDR. Также можно потребовать HTTP Basic-аутентификацию, параметр с токеном или подписанный URL (типы A, B, C или D). Если настроено несколько методов, выберите, должен ли запрос пройти все проверки или любую одну из них.

Режим защиты при атаке (UAM)

РежимПоведение
ОтключеноНет упреждающих проверок
АдаптивныйВ обычных условиях проверок нет. Проверки назначаются посетителям только при обнаружении аномального трафика автоматической защитой платформы
Под атакой (5-секундная защита)Каждый посетитель сначала должен пройти проверку браузера (proof of work)
Принудительная CAPTCHAКаждый посетитель должен решить CAPTCHA. Поддерживается captcha.la; необходимо указать Site Key и Secret. Без них посетителям предлагается проверка браузера

Можно настроить минимальное ожидание (секунды) (рекомендуется 5 и более), сложность (рекомендуется 15 и более) и срок действия допуска (секунды). Введите 0 для использования значения по умолчанию. IP-адреса/диапазоны CIDR из списка разрешений пропускают проверку в любом режиме. Расширения статических файлов и разрешённые ASN роботов действуют только в адаптивном режиме; режимы «Под атакой» и «Принудительная CAPTCHA» их игнорируют.

Совет

Во время атаки с массовыми запросами включите режим «Под атакой». После завершения атаки вернитесь в режим «Отключено» или «Адаптивный», чтобы не мешать клиентам API и поисковым роботам.

Защита соединений (Slowloris)

Ограничивает количество одновременных соединений с каждого IP-адреса и обнаруживает атаки с медленными запросами. Можно задать минимальную скорость передачи тела запроса, окно выборки, льготный период, максимальное время простоя и максимальное время получения тела запроса. Введите 0, чтобы отключить ограничение.

См. также

Была ли эта страница полезна?