Ответ вслух Senior ConfigMap и Secret обновлено

Секрет утёк в git

Вопрос

Разработчик закоммитил в публичный репозиторий манифест Secret с паролем от продовой базы. Что делаешь?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Первое правило: утёкший секрет скомпрометирован, даже если коммит удалили через минуту, потому что публичные репозитории сканируют боты. Поэтому сразу меняю пароль: создаю новый в базе, обновляю значение в хранилище секретов, перезапускаю приложения, затем отзываю старый.

Что должно прозвучать в ответе

  • Считать секрет скомпрометированным: сразу сменить пароль в базе и в хранилище, перезапустить потребителей

  • Проверить логи доступа к базе на подозрительные подключения за период утечки

  • Удалить секрет из истории git (filter-repo) и попросить хостинг очистить кеши, но это вторично

  • Найти причину: почему секрет оказался в манифесте, а не во внешнем хранилище

  • Защиты на будущее: pre-commit и CI сканеры секретов (gitleaks), push protection, External Secrets

  • Разбор инцидента без поиска виноватых и сообщение по процессу безопасности

Что могут спросить следом

  • Почему недостаточно удалить коммит?
  • Как ротировать пароль без простоя?

Разбор

Первое правило: утёкший секрет скомпрометирован, даже если коммит удалили через минуту, потому что публичные репозитории сканируют боты. Поэтому сразу меняю пароль: создаю новый в базе, обновляю значение в хранилище секретов, перезапускаю приложения, затем отзываю старый. Если у базы было открытое подключение снаружи, смотрю журнал подключений за период утечки. Только после ротации чищу историю git через filter-repo и прошу хостинг сбросить кеши, но это гигиена, а не защита. Дальше ищу причину: почему пароль вообще оказался в манифесте. Закрываю на будущее: сканер секретов в pre-commit и в CI, push protection на хостинге, переход на External Secrets или Sealed Secrets, чтобы реальные значения физически не попадали в репозиторий. И провожу разбор без поиска виноватых, с сообщением ответственным за безопасность по принятому процессу.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.