Плейбук: компрометация контура CI/CD

0
1
Обложка статьи: Плейбук: компрометация контура CI/CD

Остановите пайплайны и отзовите токены раннеров, если сборка или выкладка идут без вашей задачи. Один утёкший ключ в файле — другой плейбук: утечка секрета. Как хранить переменные: секреты для GitLab CI. Сутки: первые 24 часа. Каталог: каталог плейбуков.

Статья опирается на логику направления «Управление инцидентами» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. CIS Control 17: cisecurity.org/controls. Это не российский закон. Значения токенов в чат не копируем. Чужие GitLab не трогаем.

Признаки и что не делать

Job в час ночи, неизвестный коммит с правом на прод, новый раннер, образ в registry, который вы не собирали. Не «ещё разок прогоним тот же пайплайн». Не оставляйте shared runner с вашими секретами.

Первые шаги

  1. Pause/disable pipelines и раннеров в своей консоли CI.
  2. Отзовите deploy keys, job tokens, переменные, webhook. Новый комплект — после чистого коммита с известной машины.
  3. Артефакты и образы с момента подозрительного job не катите в прод. Подпись образов — сосед: cosign.
  4. Кто имел maintainer: сверка доступа: отзыв доступа.
  5. Если выкладывали на периметр — журналы веб-сервера и сценарий сайта в обзоре пяти.

Приоритет: критический при выкладке в прод; высокий при доступе к секретам без выкладки. Эскалация директору. Связь не через тот же GitLab, если он и скомпрометирован.

Диагностика

Симптом Причина и что делать
Пайплайн остановили, ключ в Kubernetes жив Не полный отзыв. Секреты в кластере тоже
История git «чистая», job был Форс-пуш. Смотрите журнал CI, не только ветку

Где это в модели зрелости

Материал относится к направлению «Управление инцидентами» (хаб: инциденты, карта: карта зрелости). SSDLC закрывает порог merge. Плейбук — когда контур сборки уже чужой.

Как проверить

  1. Есть кнопка/роль остановить все job за минуту.
  2. Плейбук отделяет один утёкший токен от захваченного раннера.
  3. Токены не печатают в карточку инцидента.

Источники

Комментарии закрыты.