Каждый бизнес хочет получить крепкую защиту для сайта, а пользователь — быструю авторизацию без лишних проверок. Между этими желаниями всегда есть конфликт: стоит добавить один барьер, и часть клиентов уходит, закрыв вкладку. А если убрать барьеры, то это ставит сайт под угрозу.
Задача владельца ресурса в том, чтобы подобрать инструменты, которые сдерживают злоумышленников и не превращают авторизацию на сайте в сложный квест.
Разберём три популярных подхода: белые списки, капчу и 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-атаках требуется отдельная специализированная защита на уровне инфраструктуры и сетевых фильтров.