Рубрики
Uncategorized

Devseccon 2019: CI / CD записи

Мои взлеты от отличного сеанса от Veracode на интеграцию безопасности в ваши трубопроводы. Помечено Devesecops, CICD, SAST, DAST.

В декабре мне было достаточно повезло посещать Devenccon 2019 в Лондоне через работу и имел взрыв. Это была моя первая неязычная/рамочная конференция, и это было действительно интересно, увидев разнообразие тем, которые были в повестке дня.

Мой любимый сеанс, хотя был Обеспечение сахара из Azure DevOps Удан Колин Домни Веракоде. Меня не использовали лазурные трубопроводы, прежде чем многие из них были, чтобы я просто привык к системе ACL, и получать базовый трубопровод вместе, и слышать Colin говорить о некоторых возможностях, которые они исследовали в отношении различных практик безопасности в CI/CD трубопроводы. Я взял заметки и подумал, что поделюсь на некоторые из них здесь.

Наши две цели должны сдвигаться влево, насколько это возможно (плохие новости не стареют хорошо) и автоматизируют абсолютно все, что мы можем (ничего не делать вручную).

Проверка секретов

Public GitHUB REPOS постоянно сканируется на учетные данные, и я лично совершил несколько самих, только чтобы иметь свой счет мой (друг, извините Крис) для некоторого обслуживания заблокирован из-за этого. Мы можем использовать инструмент, похожий на Trufflhog В нашем предварительно совершающем крючок, чтобы убедиться, что мы не совершили ничего личного. Конечно, наши. Гитигниты должны быть проверены и могут пройти через ручное одобрение для изменений.

Гитоппсы: толкать все вещи

Кратко коснулись в этой сессии, но что-то, что я поднял на другом встрече DEVSEC, был концепция гитапса или инфраструктуры — как-код, взятый в крайность. Чем больше мы определили как код в наших репозиториях, тем больше мы можем мгновенно и легко проверять и проверять ранее в процессе. То же самое касается использования услуг, которые имеют хорошие API — если мы можем вытащить конфигурацию VPC из AWS CLI и проверяйте, что только эти порты открыты, отлично!

На тему секретов, один инструмент, с которым я не играл, но получил почетное упоминание было AGWA/GIT-Crypt которые используют файл .git-crypt, настраивают, какие файлы должны быть прозрачно зашифрованы на коммитах, и расшифровываются на оформлении заказа. Действительно крутая концепция, означающая, что наши Devs могут разрабатывать и толкать секреты приложений, как другие файлы, и они будут зашифрованы в нашем репозитории, оставаясь таким образом, если у вас нет ключа!

Сканирование с открытым исходным кодом

Сделано до смерти, но необходимо. Это инструменты, которые проверяют версии любых компонентов с открытым исходным кодом, которые мы используем, и если обнаружена подпись, содержащая уязвимостей, мы останавливаем сборку. Они широко попадают в категории сканеров изображений, таких как Docker/Docker-Stone-Security и проверки зависимости, такие как OwaPP Checker Checker Отказ

Клянусь, есть еще один поглощение аккаунтов NPM/Github/X или артикул злой впрыскивания Hackernews каждую неделю. Мы хотим максимально использовать интеллект по источникам сообщества, и это отличный источник этого.

Тестирование безопасности приложений (SAST)

Я был недавно спросил, как бы проделал в среду, где ваша компания не может просто бросать деньги в эту проблему, и я не был потерян. Мне не пришло не было, что бюджет был заботой о некоторых киберфартах, и я смогут вместе, отвечаю на альтернативы с открытым исходным кодом, чтобы укрепить и CheckMarx, делая записку, чтобы посмотреть на эту сцену. Сильно в зависимости от языка, некоторые Соперники было бы:

Он не говорит, но мы должны сильно сосредоточиться на философии на основе модулей в нашем разработке программного обеспечения по многим причинам, и ваш стек SAST находится там, чтобы поймать влево-овер.

Динамическое тестирование безопасности приложений (отличие)

У моей компании у нас есть удивительная вспомогательная команда, время которой забронировано за каждое значительное освобождение проекта, если только член команды SEC предварительно не одобряет изменение. Эти инструменты, как правило, будут включать в себя спинтующую контейнер с версией приложения и автоматизации атак на нее, незвательный ввод или поиск изменений в ответах маршрута от предыдущих сканов.

Функциональные тесты могут быть подготовлены разработчиками и интегрированы в их CI/CD — они знают свой код наилучшим образом и могут защитить от обычных атак рано. Конечно, мы не хотим предполагать, что они добавили чек на то, что они могут не иметь, поэтому возвращаясь к проблеме ресурсов, мы можем пойти на некоторые способы с такими решениями, как:

Коммерческий или открытый источник, мы широко у нас три стратегии для добавления SAST/DAST в CI/CD:

  1. Синхронный — На построении мы запустим наш инструмент и просто жду его закончить. Это здорово, потому что мы можем потерпеть неудачу или преуспевать нашу сборку на задней части результатов, но не отлично, если наш инструмент занимает час и мы хотим выпустить несколько раз в день
  2. Асинхронный — На построении мы выбиваем наш инструмент в другом процессе и продолжаю постройку. В случае неудачи мы отступим сборку (в зависимости от инструмента CI/CD), как не удалось, и отката от выхода до последней стабильной сборки.
  3. Смешанный — Мы выбираем немного баланса двух, потенциально запущенных файлов анализа или более быстрых инструментов внутриполосных и более медленных инструментов вне полосы.

Управление секретами

Работав вокруг защиты данных и прикладной криптографии за последние 2 года, я люблю разговаривать с тем, кто будет слушать приложения Hashicorp Vault или AWS KMS или Azure Key Vault Отказ Эти решения позволяют нам обернуть все наши тайны приложений в центральном сервисе, облачно или самостоятельно, что мы можем максимально безопасны и контролировать доступ к. Мы можем обеспечить обеспечение минимальной ключевой длины и требовать TLS, поддержав фактическую ACL для наших секретов, а также статистики записи на запись. Есть много причин, по которым мы должны использовать, по крайней мере, некоторые двигатели хранилища Hashicorp, лично моему любимым случаем использования я слышал, имеет ультрадовые сертификаты TLS, снижая условия действия до нескольких минут. Если услуга все еще соответствует критериям, он делает новый запрос на хранилище, где подписан новый сертификат и возвращается, и приложение начинает служить его. Удивительный!

Также есть плагины секретов для большинства самостоятельных решений CI/CD, включая Дженкинс учетные данные , GOCD-файловые секреты и Concourseci Управление учетными данными Отказ

Спасибо снова в Колин, а для организаторов — это было отличное событие И я бы хотел присутствовать снова в 2020 году.

Оригинал: «https://dev.to/psedge/devseccon-2019-ci-cd-write-up-k51»