Аутентификация, авторизация, OAuth2, JWT, API-ключи и защита от атак
Безопасность API — это комплекс мер, направленных на защиту данных, пользователей и бизнеса от несанкционированного доступа, атак и утечек информации. Это не опциональная функция, а обязательное требование для любого production-сервиса.
| Компонент | Описание | Примеры инструментов/практик |
|---|---|---|
| Аутентификация | Подтверждение личности | JWT, OAuth2, API-ключи, Session Cookies |
| Авторизация | Определение разрешенных действий | RBAC (Role-Based), ABAC (Attribute-Based), ACL |
| Защита от атак | Предотвращение эксплуатации уязвимостей | Параметризованные запросы, валидация входных данных, CSP для XSS |
| Шифрование | Защита данных при передаче и хранении | TLS 1.3+, шифрование "на лету", шифрование "в покое" |
| Аудит и мониторинг | Отслеживание и анализ операций | Логирование всех запросов, SIEM-системы, alerting на аномалии |
Это принцип многоуровневой защиты: если один слой безопасности будет скомпрометирован, другие слои продолжат защищать систему. Типичные слои:
| Этап | Действия | Ответственные | Сроки |
|---|---|---|---|
| Проектирование | Threat modeling (STRIDE), security requirements | Архитектор, Security Engineer | На этапе проектирования |
| Разработка | Secure coding guidelines, code review с security focus | Разработчики, Tech Lead | В процессе разработки |
| Тестирование | SAST (SonarQube), DAST (OWASP ZAP), security unit tests | QA, DevOps | Перед PR и в CI |
| Релиз | Пентест перед major release, security checklist | Security Team, Release Manager | Перед каждым major release |
| Эксплуатация | Мониторинг, логирование, incident response | DevOps, Security Operations | Постоянно |
Q: Что такое безопасность API и почему это важно? A: Безопасность API — это комплекс мер для защиты данных, пользователей и бизнеса от несанкционированного доступа, атак и утечек информации. Это критически важно для любого production-сервиса, так как API часто являются основным вектором атаки.
Q: Какие OWASP Top 10 относятся к API Security? A: К API Security относятся: Injection, Broken Authentication, XSS, Insecure Deserialization, Sensitive Data Exposure, Broken Access Control, Security Misconfiguration и Insufficient Logging & Monitoring.
Q: Как тестировать API Security? A: Используйте комбинацию методов: SAST (статический анализ кода), DAST (динамический анализ), пентесты, сканирование зависимостей и security unit tests.
Q: Что такое defense in depth для API Security? A: Это принцип многоуровневой защиты: WAF, валидация входных данных, параметризованные запросы, аутентификация, авторизация, шифрование, аудит и мониторинг. Если один слой будет скомпрометирован, другие продолжат защищать систему.
Q: Как организовать security review для API Security? A: Процесс включает: threat modeling (STRIDE), создание security requirements, secure coding guidelines, проверочный чек-лист, автоматизированное сканирование (SAST/DAST) и пентесты перед релизом.
Q: Какой тип аутентификации используется в OAuth2?
A: OAuth2 использует Bearer Token в заголовке Authorization: Bearer <token>. JWT является одним из возможных форматов токена, но не единственным.
Безопасность — это не однократная задача, а непрерывный процесс, который должен быть встроен в весь жизненный цикл разработки.
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.