Белые списки, капча, rate limiting: что выбрать, чтобы защититься и не отпугнуть клиентов

Каждый бизнес хочет получить крепкую защиту для сайта, а пользователь — быструю авторизацию без лишних проверок. Между этими желаниями всегда есть конфликт: стоит добавить один барьер, и часть клиентов уходит, закрыв вкладку. А если убрать барьеры, то это ставит сайт под угрозу.

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

Разберём три популярных подхода: белые списки, капчу и rate limiting. Посмотрим, где они действительно работают хорошо, а где просто делают вид. В итоге вы сможете собрать защитную конфигурацию под разные типы проектов.

Белые списки: максимум строгого контроля

Белый список — это перечень IP-адресов, пользователей или сервисов, которым разрешён доступ на ресурс.

Где такой вариант оправдан:

— административные панели;

— внутренние сервисы компании;

— API для проверенных партнеров;

— служебные интерфейсы с ограниченным кругом пользователей.

Плюсы: если доступ имеют только известные участники, вероятность случайного проникновения резко падает. Для админок это часто самый лучший сценарий. Так вы знаете, кто входит, откуда и зачем.

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

Когда белые списки вредят:

— открытые интернет-магазины;

— новостные порталы;

— массовые SaaS-сервисы;

— проекты с широкой географией аудитории.

Капча: неплохо работает против ботов, а вот с людьми…

Капча проверяет, человек ли перед экраном. Классические картинки с непонятными буквами давно уступили место более сложным задачам: выбор картинок, проверка поведения мыши, невидимые тесты.

Где капча помогает:

— формы регистрации и восстановления пароля;

— комментарии и отзывы;

— формы обратной связи;

— подозрительные сценарии входа.

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

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

Когда капча бьёт по конверсии:

— оформление заказа;

— быстрый вход через соцсети;

— повторяющиеся действия внутри личного кабинета.

Что помогает снизить негатив:

— показывать капчу только при подозрительной активности;

— применять невидимые версии с анализом поведения;

— предоставлять альтернативу. Например, подтверждение по email или push-уведомлению.

Rate limiting: универсальный фильтр частоты запросов

Rate limiting — это ограничение числа запросов от одного источника за определенный промежуток времени. Пример: не больше 10 попыток входа за минуту или 100 запросов к API в час.

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

Плюсы метода:

— снижает нагрузку на сервер;

— сдерживает перебор логинов и паролей;

— подходит почти для любого публичного сервиса;

— работает незаметно для обычного посетителя.

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

Нужно учитывать:

— особенности трафика и поведение пользователей;

— работу поисковых роботов;

— различие между мобильным и десктопным доступом.

Полезные ориентиры при настройке:

— разделяйте лимиты для гостей и авторизованных пользователей;

— добавляйте исключения для поисковых систем;

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

Как выбрать комбинацию под тип проекта

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

Интернет-магазин

Основные угрозы — боты, сканеры цен, перебор аккаунтов.

Подход:

— rate limiting для поиска, логина и API;

— капча только при подозрительной активности;

— белые списки — лишь для админ-панели и внутренней CRM.

SaaS-сервис

Пользователи работают регулярно, часто из разных стран и сетей.

Подход:

— гибкие лимиты запросов;

— анализ поведения для скрытой капчи;

— белые списки для администраторов и партнёрских интеграций.

Медиа и контент-порталы

Главный приоритет — быстрый доступ к материалам.

Подход:

— мягкий rate limiting для защиты от сканирования;

— капча в комментариях;

— отказ от белых списков на публичной части сайта.

Личный кабинет

Работа с персональными данными требует аккуратной защиты.

Подход:

— строгие лимиты попыток входа;

— капча после нескольких неудачных попыток;

— белые списки для административного доступа.

API мобильного приложения

Здесь частые запросы — нормальное явление, поэтому нужен баланс.

Подход:

— rate limiting с учётом сценариев приложения;

— токены и авторизация;

— белые списки для партнёрских сервисов и служебных функций.

Эти меры образуют первую линию обороны: они уменьшают шум от атак, стабилизируют нагрузку и защищают от массовых автоматических действий. При серьёзных DDoS-атаках требуется отдельная специализированная защита на уровне инфраструктуры и сетевых фильтров.