С помощью решения вы можете сканировать образы, которые используются в процессах CI/CD. Для проверки образов из CI/CD вам требуется настроить интеграцию решения с процессами CI/CD.
Между средой CI/CD и решением должна быть обеспечена безопасность передачи данных от прослушивания и перехвата сетевого трафика.
Чтобы выполнять проверку образов или репозиториев (для сканирования конфигурационных файлов), используемых в процессе CI/CD, вам нужно добавить в пайплайн CI/CD отдельный этап, на котором запускается сканер Kaspersky Security для контейнеров.
Для проведения сканирования образов из CI/CD в конфигурационном файле интеграции с репозиторием сканеру требуется указать переменные окружения API_BASE_URL
(веб-адрес хост-сервера API Kaspersky Security для контейнеров) и API_TOKEN
(токен для доступа к API Kaspersky Security для контейнеров). Также необходимо указать API_CA_CERT
(сертификат для проверки хост-сервера API решения) или SKIP_API_SERVER_VALIDATION=true
для пропуска такой проверки.
Результаты сканирования передаются на сервер и отображаются в консоли управления в разделе Ресурсы → CI/CD. В представленной таблице перечислены образы, для которых проводилась проверка, указываются результаты оценки риска и выявленные уязвимости.
По ссылке в названии образа вы можете открыть страницу, содержащую подробную информацию о результатах сканирования образа. Страница аналогична странице с результатами сканирования образов из реестров.
Kaspersky Security для контейнеров также отображает тип артефакта для каждого объекта. Используются два основных артефакта:
Для каждого объекта проверки можно указывать номер сборки (BUILD_NUMBER
) и пайплайн сборки (BUILD_PIPELINE
). С помощью этих параметров можно определить, на каком этапе в объекте произошел сбой.
Для образов из CI/CD недоступно повторное сканирование.
В Kaspersky Security для контейнеров осуществляются следующие виды сканирования в CI/CD:
Чтобы провести сканирование образа из реестра образов,
выполните команду запуска сканирования в следующем формате:
/scanner [TARGET] --stdout
где:
<TARGET> –
полный адрес образа в реестре;<--stdout> –
вывод данных в журнал событий безопасности.Для доступа к реестру необходимо установить в переменных окружения логин COMPANY_EXT_REGISTRY_USERNAME
и пароль (токен) COMPANY_EXT_REGISTRY_PASSWORD
.
Для использования сертификата для безопасного подключения к реестру необходимо указать данные сертификата в переменной окружения COMPANY_EXT_REGISTRY_TLS_CERT
в виде следующей строки в формате .PEM: -----BEGIN CERTIFICATE-----\n... <
данные сертификата
> ...\n-----END CERTIFICATE-----
.
Примеры сканирования образов в GitLab CI/CD и Jenkins CI/CD.
Чтобы провести сканирование образа из TAR-архива:
/scanner [TARGET] --file --stdout
где:
<TARGET>
– путь к файлу образа для сканирования;<--file> –
флаг, указывающий на сканирование файла TARGET
;<--stdout> –
вывод данных в журнал событий безопасности.Пример конфигурационного файла со значениями параметров для сканирования TAR-архива
Чтобы провести сканирование Git-репозитория:
GITHUB_TOKEN
или GITLAB_TOKEN
)./scanner [TARGET] --repo [--branch BRANCH] [--commit COMMIT] --stdout
где:
<TARGET> –
веб-адрес (URL) Git-репозитория;<--repo>
–
флаг, указывающий на сканирование файла TARGET
;<--branch BRANCH>
–
ветка репозитория для сканирования;<--commit COMMIT>
–
хеш коммита для сканирования;<--stdout> –
вывод данных в журнал событий безопасности.Пример конфигурационного файла с переменными окружения для сканирования образа из Git-репозитория
Для сканирования файловой системы IaC требуется использовать образ сканера с базой данных vX.X.X-with-db. Для проверки файлов IaC сканеру необходимо предоставить доступ к этим файлам внутри контейнера (например, с помощью монтирования тома с файлами или копирования файлов в файловую систему контейнера).
Чтобы провести сканирование файловой системы,
выполните команду запуска сканирования в следующем формате:
/scanner [TARGET] --sources --stdout
где:
<TARGET>–
путь к папке с файлами для сканирования;<--sources>
–
флаг, указывающий на необходимость проверки файлов, расположенных в файловой системе;<--stdout> –
вывод данных в журнал событий безопасности.Пример конфигурационного файла с переменными окружения для сканирования файлов в файловой системе
Результаты сканирования можно посмотреть в разделе Ресурсы → CI/CD, а также получить в форматах .SPDX, .JSON и .HTML.
В начало