Меню
Блог

Многоуровневые меры защиты от злоупотреблений для сервиса временной почты

Сервис временной почты выполняет несколько разных задач: создание адресов, вывод списка писем, открытие содержимого, приём SMTP-трафика и выполнение административных заданий. Единый глобальный лимит не может отразить все связанные с ними риски.

Сначала выполняйте дешёвые проверки

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

Задайте бюджет для каждой рабочей нагрузки

Рабочая нагрузкаПолезная мера контроля
Анонимный опрос входящих сообщенийЛимиты запросов, рекомендации по задержкам и проверка сессий.
Использование API с аутентификациейЛимиты, связанные с учётными данными и операцией.
Приём SMTP-сообщенийЛимиты на соединения, размер сообщений и обработку получателей.
Задания по обслуживаниюНебольшие пакеты и ограниченная степень параллелизма.

Различайте всплеск и продолжающееся злоупотребление

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

Проверьте сценарий отказа

Проверьте, что отклонённый запрос не выполняет дорогостоящую работу. Убедитесь, что корректно работающие клиенты понимают ответы, требующие повтора, и что привилегированный доступ к входящим сообщениям нельзя обойти, изменив конечную точку.

Это архитектурный контрольный список, а не утверждение, что все меры включены в каждом развёртывании. Актуальные лимиты сервиса и правила доступа следует брать из документации сайта и ответов API.