Kaspersky Security для контейнеров

Настройка сканирования образов и конфигурационных файлов

03 июля 2024

ID 259284

Чтобы выполнять проверку образов или репозиториев (для сканирования конфигурационных файлов), используемых в процессе CI/CD, вам нужно добавить в пайплайн CI/CD отдельный этап, на котором запускается сканер Kaspersky Security для контейнеров. Результаты сканирования передаются на сервер решения и отображаются в консоли управления в разделе РесурсыCI/CD.

Между средой CI/CD и продуктом должна быть обеспечена безопасность передачи данных от прослушивания и перехвата сетевого трафика.

Пример настройки интеграции с GitLab CI/CD

В этом примере используется специальный образ сканера со встроенными базами данных уязвимостей, размещенный в реестре образов производителя решения.

Для использования возможности сканирования образов в процессе GitLab CI/CD вам нужно включить использование GitLab Container Registry.

Настройка интеграции состоит из следующих этапов:

  1. Авторизация GitLab CI/CD в реестре образов производителя Kaspersky Security для контейнеров.
    1. На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:

      printf "login:password" | openssl base64 -A

      где login и password – имя и пароль учетной записи в реестре образов производителя Kaspersky Security для контейнеров.

    2. В переменных окружения GitLab CI/CD создайте переменную DOCKER_AUTH_CONFIG (в GitLab репозитории выберите Settings -> CI/CD, нажмите на кнопку Expand, чтобы развернуть блок Variables, затем нажмите на кнопку Add variable).
    3. Укажите содержимое переменной в следующем виде:

      {

      "auths": {

      "repo.cloud.tronsec.ru": {

      "auth": "base64hash"

      }

      }

      }

      где base64hash – строка, полученная на этапе 1a.

  2. Авторизация запросов из GitLab CI/CD при отправке данных в Kaspersky Security для контейнеров.
    1. На рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:

      printf "login:password" | openssl base64 -A

      где login и password – имя и пароль учетной записи в реестре образов производителя Kaspersky Security для контейнеров.

    2. Укажите полученный хэш в переменной API_TOKEN в конфигурационном файле .gitlab-ci.yml.
  3. Добавление этапа сканирования образов в процесс CI/CD.

    Чтобы добавить этап сканирования в пайплайн CI/CD, необходимо добавить в файл .gitlab-ci.yml следующие строки:

    1. Добавьте информацию по образу для сканирования после этапа сборки кода в следующем виде:

      scan_image:

      stage: scanner

      image:

      name: repo.cloud.tronsec.ru/repository/tron-customer/scanner:v1.0.1-with-db

      entrypoint: [""]

    2. Укажите тэг и токен для авторизации запросов от CI/CD сканера в Kaspersky Security для контейнеров в следующем виде:

      variables:

      SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

      API_TOKEN: base64hash

      В приведенном далее примере указан тэг master, вы можете указать другой тэг.

    3. Если вы настраиваете сканирование для приватного репозитория, для доступа сканера к образу укажите авторизационные данные. Их можно задать в виде переменных.

      TRON_EXT_REGISTRY_USERNAME: ${TRON_EXT_REGISTRY_USERNAME}

      TRON_EXT_REGISTRY_PASSWORD: ${TRON_EXT_REGISTRY_PASSWORD}

    4. Укажите доменное имя консоли управления Kaspersky Security для контейнеров внутри контура вашей корпоративной сети:

      API_BASE_URL: <доменное имя>

      script:

      - /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json

      artifacts:

      paths:

      - artifact-result.json

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!