Контекст
OWASP Top 10 в контексте System Design
API security - это конкретизация OWASP-рисков для API surface вашей системы.
API Security Patterns отвечают за то, чтобы API оставались безопасными под нагрузкой, в multi-tenant среде и при активных злоумышленниках. Это сочетание протоколов, политики доступа, защиты от abuse и наблюдаемости.
Core API security patterns
Strong AuthN + short-lived tokens
OIDC/OAuth2, mTLS для service-to-service, token rotation и revocation strategy.
Fine-grained AuthZ
RBAC/ABAC, tenant-scoped permissions, policy engine и deny-by-default в gateway и сервисах.
Input/Schema validation
Strict JSON schema/OpenAPI checks, canonicalization и reject unknown fields.
Rate limiting + abuse controls
Per user/app/tenant quotas, burst-control, bot detection и adaptive throttling.
Anti-replay and request signing
Nonce + timestamp + HMAC/signature, clock-skew policy и request expiration window.
Zero-trust network posture
Ни один внутренний API не доверяется по умолчанию: mutual auth + network segmentation.
Secure API lifecycle
Без замкнутого security-цикла API-защита быстро деградирует до точечных фиксов. Ниже - практический loop, где каждый этап формирует входы для следующего и возвращает обратную связь назад в проектирование.
Current step
1. Design-time
Определяем trust boundaries, abuse-cases и security requirements до написания кода: кто вызывает API, какие данные передаются, где возможна эскалация привилегий.
- • STRIDE/LINDDUN по endpoint-группам и business flows
- • Явная модель AuthN/AuthZ, tenant isolation и data classification
- • Security acceptance criteria в OpenAPI/ADR
Next step
2. Build-time
Встраиваем проверки прямо в pipeline: код, зависимости и секреты проверяются автоматически до merge и build artifact promotion.
- • SAST + secret scanning + dependency/SBOM scan
- • Lint/OpenAPI checks: auth scopes, schema strictness, rate-limit hints
- • Standard libraries/middleware для auth, input validation и signature checks
Data
Data Governance & Compliance
API-поле часто является главным каналом утечки PII без правильных данных-политик.
Sensitive data rules for APIs
Никогда не возвращайте чувствительные поля по умолчанию; explicit allow-list only.
PII в логах/трассировке маскируется или полностью исключается.
Версионирование API не должно нарушать security guarantees старых клиентов.
Public и internal API имеют разные security baselines и ключи доступа.
Типичные антипаттерны
Полагаться только на perimeter security и не проверять auth внутри сервиса.
Смешивать пользовательские и машинные токены без явной модели привилегий.
Retry без anti-replay и idempotency guard в write API.
Логировать request body целиком в production.
