К содержимому
DDoS·Protect
Возможности

Защита API: лимиты, ключи и схема запросов вместо капчи

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

Что угрожает API

  • Перегрузка тяжёлыми методами. Поиск, выгрузка отчётов, генерация документов — один запрос может стоить серверу секунды работы.
  • Перебор. Подбор кодов подтверждения, номеров заказов, идентификаторов пользователей.
  • Злоупотребление бизнес-логикой. Массовая проверка промокодов, регистрация аккаунтов, проверка наличия товаров конкурентом.
  • Утечки через перебор идентификаторов. Если API отдаёт данные по номеру заказа без проверки прав, бот выгрузит их все.

Механизмы защиты

МеханизмЧто даёт
Лимиты по ключу API и методуОдин клиент не может занять все ресурсы; тяжёлые методы ограничены отдельно
Проверка схемы запросаЗапросы с неожиданными полями, размерами и типами отклоняются до сервера
Ограничение глубины и сложности GraphQLЗащита от запросов, которые разворачиваются в миллионы строк
Подпись запросов мобильного приложенияОтличает ваше приложение от скрипта, повторяющего его запросы
Списки разрешённых клиентовПартнёрские интеграции проходят по IP или секретному заголовку

Наблюдаемость

В личном кабинете видно, какие клиенты и методы создают нагрузку, сколько ответов с ошибками получает каждый ключ, где упираются в лимиты. Часто это первая подсказка о том, что интеграция партнёра написана неэффективно или что ключ утёк.

Вопросы и ответы

Как защитить API мобильного приложения, если ключ можно достать из приложения?

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

Поддерживается ли WebSocket?

Да. Соединения WebSocket проходят через фильтр с проверкой при установке соединения и лимитами на количество одновременных соединений.

Ранний доступ

Подключим ваш сайт одним из первых

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