Защита API в 2026 году: OAuth2, JWT, rate limiting, защита от инъекций
API стали критической поверхностью атак. По данным исследований, 63% приложений имеют критические уязвимости, а 42% содержат уязвимости управления доступом. В 2026 году защита API — это не опция, а обязательное условие. В этой статье — полное руководство по защите API: аутентификация, авторизация, rate limiting, защита от инъекций, CORS, аудит.
📋 Содержание статьи
Состояние безопасности API в 2026
приложений с критическими уязвимостями
уязвимости управления доступом
рост веб-уязвимостей
больше уязвимостей при аутентифицированных сканах
Аутентификация: OAuth2, JWT, API-ключи
OAuth2 и OIDC
OAuth2 — протокол авторизации, позволяющий приложениям получать доступ к ресурсам без передачи пароля. OIDC — надстройка для аутентификации.
JWT (JSON Web Tokens)
JWT — компактный способ передачи утверждений между сторонами. Состоит из Header, Payload, Signature.
⚠️ Важно
- Короткоживущие токены — не более 15-60 минут
- Refresh токены — для получения новых токенов
- Хранение — в памяти, не в localStorage
- Передача — через заголовок Authorization: Bearer
Авторизация: проверка прав на каждом запросе
BOLA (Broken Object Level Authorization) — самая распространённая уязвимость API. Она возникает, когда API не проверяет, имеет ли пользователь право на доступ к конкретному объекту.
📌 Пример уязвимости
Пользователь заходит на /api/users/123/profile и видит свой профиль. Он меняет ID на /api/users/124/profile — и видит профиль другого пользователя.
Защита
- Проверяйте права на каждом запросе — не только на уровне интерфейса
- Используйте UUID вместо числовых ID
- Принцип наименьших привилегий
- Логирование и аудит
Rate Limiting: защита от DDoS и брутфорса
Rate Limiting — ограничение числа запросов от одного клиента за период. Критическая защита от DDoS, брутфорса, злоупотреблений.
| Подход | Описание |
|---|---|
| Leaky Bucket | Запросы обрабатываются с постоянной скоростью |
| Token Bucket | Токены пополняются с постоянной скоростью |
| Fixed Window | Фиксированное окно времени (100 запросов/мин) |
| Sliding Window | Скользящее окно — более точное ограничение |
📌 Рекомендуемые лимиты
- Публичные API: 1000 запросов/час
- Партнерские API: 5000 запросов/час
- Аутентификация: 5-10 попыток в минуту
Защита от SQL-инъекций и XSS
SQL-инъекции
SQL-инъекция — вставка вредоносного SQL-кода. Защита:
- Параметризованные запросы — главная защита
- ORM — снижает риск, но не панацея
- Валидация ввода — проверка типов и форматов
- Минимальные привилегии — учётная запись БД с ограниченными правами
📌 Пример параметризованного запроса
// Безопасный запрос
$stmt = $db->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
XSS (Cross-Site Scripting)
XSS — внедрение вредоносного JavaScript. Защита:
- Кодирование вывода — экранирование HTML
- CSP — ограничение источников скриптов
- HttpOnly куки — защита от кражи сессий
- Валидация ввода — фильтрация опасных символов
CORS: настройка межсайтовых запросов
CORS (Cross-Origin Resource Sharing) — механизм, который позволяет или запрещает запросы с других доменов.
📌 Настройка CORS
- Access-Control-Allow-Origin — разрешенные домены
- Access-Control-Allow-Methods — разрешенные методы
- Access-Control-Allow-Headers — разрешенные заголовки
- Access-Control-Allow-Credentials — разрешение на куки
⚠️ Важно
Не используйте Access-Control-Allow-Origin: * в production. Указывайте конкретные доверенные домены.
Аудит и логирование
Аудит и логирование — обязательный элемент безопасности API. Без логов вы не узнаете об атаке до тех пор, пока не станет слишком поздно.
📝 Что логировать
- Все запросы к API
- Аутентификацию (успешные и неуспешные)
- Изменения данных
- Ошибки и исключения
- Подозрительные действия
🔍 Как использовать логи
- Централизованное хранение (ELK, Loki)
- Дашборды для мониторинга
- Алерты при подозрительных событиях
- Анализ для выявления атак
- Аудит для комплаенс
Чек-лист безопасности API
🔐 Аутентификация и доступ
- Используются UUID вместо числовых ID
- Проверка прав на каждом запросе
- OAuth2/OIDC с короткоживущими токенами
- API-ключи для машин-к-машине
- Двухфакторная аутентификация
🛡️ Защита данных
- Валидация всех вводов
- Параметризованные запросы
- Кодирование вывода (XSS)
- TLS 1.3 для всех соединений
- Rate Limiting настроен
⚙️ Конфигурация
- CORS настроен правильно
- Security Headers установлены
- CSP настроен
- Логирование включено
🔍 Мониторинг
- Мониторинг API настроен
- Алерты на подозрительные события
- Регулярный аудит безопасности
- OWASP API Security Top 10 проверен
Наши рекомендации
1. Безопасность с первого дня
Проектируйте API с безопасностью на этапе архитектуры. Закажите разработку защищенного API.
📌 Что вы получаете, заказывая защиту API у нас
- Аудит API — проверка на OWASP API Security Top 10
- Настройка аутентификации — OAuth2, JWT, API-ключи
- Rate Limiting — защита от DDoS и брутфорса
- Защита от инъекций — SQL, XSS, CSRF
- CORS — правильная настройка
- Логирование и аудит — отслеживание всех действий
- Мониторинг — алерты при подозрительных событиях
- Поддержку 24/7 — мониторинг, обновления
🔹 Оставьте заявку на защиту API
Хотите защитить ваш API? Оставьте заявку на бесплатную консультацию. Закажите сейчас.
📌 Итоговый вывод
Защита API в 2026 году — это не опция, а обязательное условие.
63% приложений имеют критические уязвимости, 42% содержат уязвимости управления доступом. OWASP API Security Top 10 определяет ключевые угрозы: BOLA, некорректная аутентификация, ошибки конфигурации.
Защита требует комплексного подхода: OAuth2/JWT, rate limiting, защита от инъекций, CORS, аудит, регулярные сканирования SAST/DAST/SCA.
Хотите защитить ваш API? Закажите аудит в Lead Hub.
Также рекомендуем: кибербезопасность, разработка API, OWASP Top 10.