Средний

Секреты и безопасные заголовки

Урок 3 из 3 в курсе Безопасность backend: основы

Содержание курса (3/3)
1 OWASP Top 10: обзор угроз 2 Инъекции, XSS и CSRF
3 Секреты и безопасные заголовки

Секреты и безопасные заголовки

секреты должны быть вне кода, а HTTP-заголовки безопасности — обязательной частью ответа.

Почему это важно: Утечка секретов — самая распространённая причина крупных инцидентов. Неправильные заголовки оставляют приложение беззащитным.

Главная идея

Секреты хранятся в vault или переменных окружения, а заголовки безопасности добавляются на уровне приложения или proxy.

Как это выглядит на практике

  1. Разработчик случайно коммитит .env с AWS-ключами.
  2. GitHub секретный сканер детектирует ключ, но кто-то уже успел его скачать.
  3. Решение: секреты хранятся в Vault/AWS Secrets Manager, а не в репозитории.
  4. Приложение добавляет заголовки HSTS, CSP, X-Content-Type-Options — закрывает несколько классов атак.

Что происходит под капотом

  • Секреты не хранятся в коде, .env не коммитится, используется .env.example.
  • Production-секреты — в Vault, AWS Secrets Manager, GCP Secret Manager.
  • Заголовки: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy.
  • Rotation: секреты должны периодически меняться, старые ключи отзываются.

Типичные ошибки и заблуждения

  • Ошибка: .gitignore защищает от утечек. Любая ошибка в истории = утечка на все времена.
  • Ошибка: заголовки безопасности — необязательны. Они закрывают целые классы атак бесплатно.
  • Ошибка: секреты можно зашифровать и положить в репо. Это создаёт проблему 'где хранить ключ шифрования'.
  • Ошибка: ротация — лишняя сложность. Регулярная ротация ограничивает blast radius утечки.

Ключевые выводы

  • Секреты вне кода, всегда.
  • Заголовки безопасности — обязательная часть ответа.
  • Ротация секретов — критическая практика.
  • Секретные сканеры в CI ловят случайные коммиты.

Термины урока

Secret: конфиденциальное значение (пароль, токен, ключ).
HSTS: HTTP Strict Transport Security, принудительное использование HTTPS.
CSP: Content Security Policy, контроль источников ресурсов страницы.
Vault: централизованная система управления секретами.

Связь с работой backend-разработчика

Хорошая гигиена работы с секретами и безопасными заголовками — признак зрелой команды. Это базовый уровень безопасности.

Мини-разбор реальной ситуации

Компания три года не ротировала AWS-ключи. Разработчик ушёл, сохранив старый .env — и через полгода в биллинге появились майнинговые инстансы на $40 000. Ротация избежала бы инцидента.

Что запомнить

  • Никогда не коммитьте секреты.
  • Заголовки безопасности — дешёвый выигрыш.
  • Ротация = ограничение blast radius.

Итог

Управление секретами и заголовки безопасности — рутинная, но критичная работа для backend-разработчика.

Комментарии к уроку

Войдите, чтобы оставить комментарий.

Пока нет комментариев — будьте первым.