Tоп-12 мер безопасности для АРI. Заметки безопасника
20/07/2021
Пока суд да дело, через АРI стали воровать деньги. Хороший пример — февральское хищение с пользовательских счетов через API, по поводу чего ЦБ РФ направил в банки предупреждающее письмо (пруф).
Мой тезис простой: в API-мире HTTP-запросы пользователей могут неожиданно меняться по объёму и скорости, что делает поведение back-end непредсказуемым. Это может быть результатом злонамеренных усилий, направленных на перехват управления системами, поэтому разумно применять меры безопасности API.
В этой главе описаны топ-12 мер, нацеленных на обеспечение конфиденциальности данных пользователей, защиты от манипуляции back-end через API и доступности цифровых услуг.
МЕРЫ ПРИ РАЗРАБОТКЕ
Документация по API. Правильная документация (например, Swagger) необходима для обеспечения устойчивости разработки и работы вашего API.
Проверка APISchema. API должен соответствовать принятому в отрасли стандарту (OpenAPI), и самый простой способ добиться этого — использовать проверки APISchema.
Аутентификация API. Используйте аутентификацию перед обработкой запроса — каждый запрос должен исходить от аутентифицированного пользователя. Тут хорошо помогут протоколы аутентификации, такие как OAuth.
API-авторизация — ещё один отличный инструмент, ограничивающий доступ к тому, что необходимо для выполнения определённых задач. Это ограничивает площадь атаки для злоумышленника и ограничивает возможные финансовые потери, если ваш облачный провайдер выставит вам счёт за чрезмерное использование трафика (особенно актуально при serverless-вычислениях).
Логирование. Ведение журнала — это ваши глаза. Отсутствие полноценно заполненного журнала означает отсутствие подсказок, что и почему произошло с вашими API-эндпойнтами или другими компонентами и серверной частью системы.
ОПЕРАЦИОННЫЕ МЕРЫ
Лимиты API и политики управления использованием — это правила обработки запросов к API. Среди них — проверка геолокации, лимиты API — управление пиками количества запросов, ограничение (лимиты) количества одновременных запросов и квоты API.
Экранирование API. Ни один API не должен иметь прямого доступа из интернета. Мобильные приложения, CDN, API Gateway или WAF — популярные пути реализации политик управления лимитами и использованием API.
Мониторинг API показывает, насколько быстрым является ваш API, и позволяет видеть время, затрачиваемое различными уровнями вашего приложения (db, back-end etc) на обработку запроса.
КОНТРОЛИ БЕЗОПАСНОСТИ
Обнаружение API. Иногда службы безопасности оставляют API без надзора или даже существуют «теневые API». Мера по обнаружению находит все API и сообщает о них вашей команде по кибербезопасности.
Тест на проникновение API. Тест на проникновение (пентест) — это наиболее гибкий способ тестирования средств контроля безопасности API. Как поставщик услуг тестирования на проникновение API, мы рекомендуем разработать и внедрить элементы управления безопасностью API, прежде чем заказывать тест на проникновение.
L7 DDoS-симуляция. Современные DDoS-атаки фокусируются на уровне приложений, а именно API. Мера симуляции проверяет способности back-end/API обрабатывать запросы пользователей, эффективность и правильность настройки лимитов и политики использования API.
Мониторинг безопасности API. Последний и самый продвинутый контроль безопасности — это мониторинг безопасности API. Это средство защиты призвано служить последней линией обороны: обнаруживать аномалии в последовательностях запросов API и запросах API.
Применение 12 средств контроля API позволяет защитить любое приложение, независимо от того, когда и как оно было создано. Тем не менее они лучше всего работают в сочетании друг с другом. Если вы хотите продолжить свой путь к защите своего цифрового стартапа/сервиса или пересмотреть существующую систему защиты, можно ознакомиться с нашим руководством «CybersecurityforFintechMVP».