Настройка сканирования образов и конфигурационных файлов
03 июля 2024
ID 259284
Чтобы выполнять проверку образов или репозиториев (для сканирования конфигурационных файлов), используемых в процессе CI/CD, вам нужно добавить в пайплайн CI/CD отдельный этап, на котором запускается сканер Kaspersky Security для контейнеров. Результаты сканирования передаются на сервер решения и отображаются в консоли управления в разделе Ресурсы → CI/CD.
Между средой CI/CD и продуктом должна быть обеспечена безопасность передачи данных от прослушивания и перехвата сетевого трафика.
Пример настройки интеграции с GitLab CI/CD
В этом примере используется специальный образ сканера со встроенными базами данных уязвимостей, размещенный в реестре образов производителя решения.
Для использования возможности сканирования образов в процессе GitLab CI/CD вам нужно включить использование GitLab Container Registry.
Настройка интеграции состоит из следующих этапов:
- Авторизация GitLab CI/CD в реестре образов производителя Kaspersky Security для контейнеров.
- На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:
printf "login:password" | openssl base64 -A
где login и password – имя и пароль учетной записи в реестре образов производителя Kaspersky Security для контейнеров.
- В переменных окружения GitLab CI/CD создайте переменную DOCKER_AUTH_CONFIG (в GitLab репозитории выберите Settings -> CI/CD, нажмите на кнопку Expand, чтобы развернуть блок Variables, затем нажмите на кнопку Add variable).
- Укажите содержимое переменной в следующем виде:
{
"auths": {
"repo.cloud.tronsec.ru": {
"auth": "base64hash"
}
}
}
где base64hash – строка, полученная на этапе 1a.
- На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:
- Авторизация запросов из GitLab CI/CD при отправке данных в Kaspersky Security для контейнеров.
- На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:
printf "login:password" | openssl base64 -A
где login и password – имя и пароль учетной записи в реестре образов производителя Kaspersky Security для контейнеров.
- Укажите полученный хэш в переменной API_TOKEN в конфигурационном файле .gitlab-ci.yml.
- На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:
- Добавление этапа сканирования образов в процесс CI/CD.
Чтобы добавить этап сканирования в пайплайн CI/CD, необходимо добавить в файл .gitlab-ci.yml следующие строки:
- Добавьте информацию по образу для сканирования после этапа сборки кода в следующем виде:
scan_image:
stage: scanner
image:
name: repo.cloud.tronsec.ru/repository/tron-customer/scanner:v1.0.1-with-db
entrypoint: [""]
- Укажите тэг и токен для авторизации запросов от CI/CD сканера в Kaspersky Security для контейнеров в следующем виде:
variables:
SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master
API_TOKEN: base64hash
В приведенном далее примере указан тэг
master
, вы можете указать другой тэг. - Если вы настраиваете сканирование для приватного репозитория, для доступа сканера к образу укажите авторизационные данные. Их можно задать в виде переменных.
TRON_EXT_REGISTRY_USERNAME: ${TRON_EXT_REGISTRY_USERNAME}
TRON_EXT_REGISTRY_PASSWORD: ${TRON_EXT_REGISTRY_PASSWORD}
- Укажите доменное имя консоли управления Kaspersky Security для контейнеров внутри контура вашей корпоративной сети:
API_BASE_URL:
<доменное имя>
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json
artifacts:
paths:
- artifact-result.json
- Добавьте информацию по образу для сканирования после этапа сборки кода в следующем виде: