Проверка уязвимостей с помощью интеграции стороннего сканера в DevSecOps
Как найти уязвимости и не сломать CI/CD-пайплайн
Рассказываем про угрозы безопасности и поиск уязвимостей в контейнерных приложениях на примере сканера уязвимостей и сторонних инструментов в Yandex Cloud.
По результатам опроса наших клиентов, четверть пользователей Yandex Cloud используют облачную платформу для разработки. Применение облачных сервисов уменьшает time-to-market и облегчает организацию разработки, тестирования и доставки кода, а также избавляет от необходимости создавать и поддерживать физическую инфраструктуру. Не нужно думать о том, как реализовать систему виртуализации, оркестрацию контейнеров, как управлять репозиториями и где размещать Docker-образы: об этом позаботятся готовые сервисы облачной платформы.
Растущие угрозы безопасности
Использование облачных инструментов ускоряет цикл разработки. При этом вопросы защиты информации становятся всё более актуальными, а требования регуляторов — более жёсткими. В этих условиях для эффективной разработки качественного программного обеспечения необходимо тесное взаимодействие разных команд: разработчиков, DevOps-специалистов и специалистов по информационной безопасности.
Особенно важно управлять уязвимостями образов, развёрнутых в продуктивной среде. Как отметили специалисты, работающие над большой и подробной базой данных уязвимостей Vulners
Одна из основных проблем управления уязвимостями — быстро обнаружить их, а это фактически невозможно без специализированных инструментов. В Yandex Cloud создали собственный сканер уязвимостей.
В этой статье мы расскажем:
Какой сканер уязвимостей выбрать
На рынке множество сканеров: Aqua Trivy, Clair, Falco, Docker scan. Зачастую это opensource-продукты. Качество и скорость сканирования разнятся. Сравним сторонние решения и сканер уязвимостей при условии развёртывания в Yandex Cloud.
В Yandex Cloud среди компаний — разработчиков ПО популярны сервисы для управления DevOps-платформой GitLab Yandex Managed Service for GitLab, кластерами Kubernetes® — Yandex Managed Service for Kubernetes®, образами и контейнерами Docker — Yandex Container Registry. Поэтому будем исходить из того, что компания хранит код в управляемом GitLab, работает с Docker-контейнерами с помощью управляемого Kubernetes®, а готовые образы хранит в Container Registry.
Для применения сторонних продуктов в таком воркфлоу потребуется решить насколько задач:
-
Договориться с руководителями проекта и коллегами из отделов DevOps и разработки, что для поиска уязвимостей нужно интегрировать отдельный инструмент.
-
Выделить и настроить инфраструктуру для развёртывания сканера уязвимостей.
-
Изменить CI/CD-пайплайн, добавив дополнительный шаг для проверки образа перед его отправкой в Container Registry.
-
Потратить время DevOps-специалиста на поддержку инструмента.
Yandex Managed Service for Kubernetes®
Задача в целом выполнима, но нужно учитывать, что внедрение стороннего продукта трудозатратно и, кроме того, усложняет воркфлоу, что не всегда возможно.
Чтобы использовать сканер уязвимостей Yandex Cloud, не требуется выделять дополнительную инфраструктуру, обслуживать её, заниматься разворачиванием и поддержкой продукта или глобально менять процесс выкладки кода. Затраты на использование сканера уязвимостей зависят от количества и типа сканирований.
Первые шесть первичных и шесть последующих сканирований бесплатны. Начиная с седьмого раза нужно будет платить: за каждое первичное — 13,2 рубля, а за последующее — 7,2 рубля.
Сканер уязвимостей интегрирован в сервис Yandex Container Registry и настраивается с помощью веб-интерфейса. Это позволяет освободить время специалистов ИБ и DevOps.
Проверка уязвимостей с помощью Vulnerability scanner в DevSecOps
Как работает сканер уязвимостей
Сканер уязвимостей с использованием статического анализа проверяет на уязвимости Docker-образы в Container Registry. По результатам сканирования образа пользователь получает отчёт об уязвимостях, обнаруженных в конкретных пакетах ОС, и о версиях этих пакетов с исправлениями, если такие имеются. Для поиска уязвимостей сервис использует публичные базы уязвимостей.
В последней версии сканера мы расширили настройки автоматического сканирования. Реализовано сканирование всех новых образов, и доступны следующие уровни сканирования:
-
Реестра целиком
-
Выбранных репозиториев
В планах — реализовать сканирование отдельных образов и сделать возможность фильтрации по тегу.
Результаты автоматического сканирования можно увидеть при просмотре списка образов в репозитории, а историю сканирования — при просмотре образа.
Мы продолжаем улучшать качество сканирования и расширять настройки. Если у вас есть пожелания о работе сервиса или идеи новых опций, пожалуйста, свяжитесь с нами, и мы вместе сделаем мир безопаснее.