Common Security Pipeline
Описание проекта:
Данный проект является вариантом реализации DevSecOps практик, на базе:
- GitLab
- DefectDojo
- OpenSouce tools
Используйте данный репозиторий чтобы построить безопасность в цикле CI/CD.
Quick Start
- Склонировать к себе Common Security Pipeline
- Исправить все места где встречается комментарий
CHECK IT
илиFIX IT
- Изменить в
./pipeline/security_tools.yml
путь до контейнеров с Security Tools - Поднять у себя DefectDojo
- Прописать у себя в GitLab необходимые переменные:
- API-ключ
- Путь до DefectDojo для доступа к вашему DefectDojo в файле
./dd_prepare/dd_prepare.py
. - Если у вас используется Vault или аналогичное решение, то дороботать код проекта для получения API в runtime самостоятельно
Security Tools
Мы не поставляем вместе с проектом исходники контейеров с security-тулами. Вам необходимо сбилдить и положить в регистре самостоятельно с учетом ваших политик безопасности. Так же важно добавить во все контейнеры следующие пакеты:
- openssh - ssh-клиент, нужен чтобы в некоторых случаях выполнять дополнительное клонирвоание проектов
- curl - для отправки данных в DefectDojo
- jq - для красивого отображания получаемого в ответ json
Пример реализации на инфраструктуре gitlab
Просто смотреть исходник на github не очень интересно. Лучше смотреть на работающие пайплайны.
TODO:
- генерация пайплайна в рантайме на основе шаблонов jinja2
- добавление security-тулов
Доп. материалы:
Презентация ZeroNights2021
Участники проекта:
- Максим Мошаров - дал много полезной информации на старте
- Александр Вознесенский - реализация ранних версий пайплайна
- Вацлав Довнар - стратегическое сопровождение, полный рефакторинг, вывод в паблик
- Георгий Старостин - здоровая критика
Спонсор проекта
Лицензия
Common Security Pipeline лицензируется под Apache License 2.0