CI/CD-конвейер автоматизирует сборку и доставку: здесь компилируется код, формируются образы, запускается развертывание в CRI и выполняются основные проверки безопасности. Однако стоит помнить: полноправный владелец этого процесса – DevOps-инженер. Он может обойти любую неуспешную проверку безопасности просто дописав в строке запуска сканирования "ignore_errors: true" или "|| true".
Это значит, что если безопасность целиком завязана на CI/CD, она становится ненадежной. Оптимальный подход – двухуровневый контроль: первичные проверки безопасности можно проводить в CI/CD, но результаты этих проверок необходимо хранить снаружи или делать дополнительную проверку.
Такой подход реализован, например, в Kaspersky Container Security: сканирование запускается в CI/CD, но результаты сохраняются вне конвейера – в Kaspersky Container Security. Перед развертыванием в оркестраторе KCS повторно проверяет образ на соответствие политикам, что снижает риски обхода.
Для CI/CD-конвейера можно выделить следующие основные риски:
- подмена базового образа перед сборкой и подмена собранного (child) образа перед деплоем;
- встраивание вредоносного ПО или ПО с эксплуатируемыми уязвимостями в код или в собираемые компоненты в образе;
- несанкционированный доступ к секретам (пароли, ключи, токены и пр.) в случае хранения их в репозитории в открытом виде.
Для закрытия данных рисков можно реализовать следующие меры:
- подписывать базовый и дочерний образы, например в системах Cosign или Notary;
- анализировать импортируемые библиотеки и их поведения в динамике с использованием решений класса SAST/DAST;
- фиксировать версии базового образа и отказаться от использования latest-версий;
- отслеживать цепочку поставок для добавляемых библиотек с использованием Supply Chain Management-систем;
- проверять собранные дочерние образы на вредоносные файлы, секреты, ошибки конфигурации и уязвимости с использованием систем контейнерной безопасности;
- хранить секреты либо во встроенных хранилищах секретов CI/CD, либо во внешних Vault-системах;
- использовать решения для контроля CI/CD-конвейера на обязательные шаги (например, проверки безопасности) и соответствие лучшим практикам с помощью таких инструментов, как Quality Gate, Open Policy Agent (OPA) / Rego и пр.