Безопасность CI/CD
Что такое Безопасность CI/CD?
Безопасность CI/CDСовокупность контролей, защищающих конвейеры непрерывной интеграции и поставки от компрометации, инъекций кода, утечки секретов и несанкционированных деплоев.
Системы CI/CD находятся между исходным кодом и продакшеном, поэтому их компрометация даёт атакующим почти произвольный контроль над тем, что выполняется. Безопасность CI/CD охватывает идентичности (OIDC-токены с минимальными правами, федеративная идентификация, отсутствие долгоживущих ключей деплоя), конфигурацию конвейера (закреплённые раннеры, подписанные шаги сборки, изолированные задачи), управление секретами (хранилища, JIT-учётные данные, секрет-сканирование, маскировка логов), целостность исходников (подписанные коммиты, защита веток, обязательные ревью), контроли цепочки поставок (SBOM, SLSA, подписанные артефакты) и защиту самих контроллеров на этапе исполнения. Инциденты SolarWinds, Codecov и исследования SCMKit показали, что CI/CD — ценная цель. Полезны OWASP CI/CD Top 10 и рекомендации CISA по защите цепочки поставок.
● Примеры
- 01
GitHub Actions, использующий OIDC-федерацию с AWS без долгоживущих секретов.
- 02
Принудительное применение CODEOWNERS, подписанных коммитов и обязательных ревью на ветке main.
● Частые вопросы
Что такое Безопасность CI/CD?
Совокупность контролей, защищающих конвейеры непрерывной интеграции и поставки от компрометации, инъекций кода, утечки секретов и несанкционированных деплоев. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Безопасность CI/CD?
Совокупность контролей, защищающих конвейеры непрерывной интеграции и поставки от компрометации, инъекций кода, утечки секретов и несанкционированных деплоев.
Как работает Безопасность CI/CD?
Системы CI/CD находятся между исходным кодом и продакшеном, поэтому их компрометация даёт атакующим почти произвольный контроль над тем, что выполняется. Безопасность CI/CD охватывает идентичности (OIDC-токены с минимальными правами, федеративная идентификация, отсутствие долгоживущих ключей деплоя), конфигурацию конвейера (закреплённые раннеры, подписанные шаги сборки, изолированные задачи), управление секретами (хранилища, JIT-учётные данные, секрет-сканирование, маскировка логов), целостность исходников (подписанные коммиты, защита веток, обязательные ревью), контроли цепочки поставок (SBOM, SLSA, подписанные артефакты) и защиту самих контроллеров на этапе исполнения. Инциденты SolarWinds, Codecov и исследования SCMKit показали, что CI/CD — ценная цель. Полезны OWASP CI/CD Top 10 и рекомендации CISA по защите цепочки поставок.
Как защититься от Безопасность CI/CD?
Защита от Безопасность CI/CD обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Безопасность CI/CD?
Распространённые альтернативные названия: Безопасность пайплайнов.
● Связанные термины
- appsec№ 1069
Безопасность цепочки поставок ПО
Дисциплина защиты каждого звена производства ПО — исходного кода, зависимостей, сборки, подписи, дистрибуции и деплоя — от вмешательства, вредоносного кода и потери целостности.
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts — выпущенный OpenSSF набор требований по уровням, который последовательно ужесточает практики сборки, подписи и верификации ПО для защиты от вмешательства в цепочку поставок.
- appsec№ 459
Хардкод секретов в коде
Встраивание учётных данных, API-ключей, токенов или криптографического материала прямо в исходный код, конфигурационные файлы или контейнерные образы, откуда их легко обнаружить и использовать злоумышленникам.
- appsec№ 444
Безопасность GitOps
Практики безопасности для GitOps-процессов, в которых декларативное желаемое состояние инфраструктуры и приложений хранится в Git и приводится в соответствие с продакшеном автоматическим контроллером.
- appsec№ 784
Подпись пакетов
Применение криптографической подписи к программному пакету, чтобы потребители могли проверить личность издателя и убедиться, что артефакт не был изменён после выпуска.
- appsec№ 309
DevSecOps
Культура и практики, встраивающие ответственность за безопасность в процессы DevOps, чтобы команды непрерывно и быстро выпускали безопасное ПО.