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

Запуск сканера в GitLab

Чтобы запустить сканер в режиме lite SBOM в GitLab, при настройке сканирования образов в процессе CI/CD измените конфигурационный файл .gitlab-ci.yml следующим образом:

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

    scan_image:

    stage: scanner

    image:

    name:repo.cloud.example.com/repository/company/scanner:v.2.0.0-lite

    entrypoint: [""]

    pull_policy: always

  2. Укажите тег платформы оркестрации в следующем виде:

    k8s

    В приведенном примере указан тег k8s для обозначения Kubernetes, вы можете указать тег для другой поддерживаемой платформы оркестрации.

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

    SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master

    COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}

    COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}

    COMPANY_EXT_REGISTRY_TLS_CERT: ${COMPANY_EXT_REGISTRY_TLS_CERT}

    BUILD_NUMBER: ${CI_JOB_ID}

    BUILD_PIPELINE: ${CI_PIPELINE_ID}

    API_TOKEN: <значение токена API>

    HTTP_PROXY: <прокси-сервер для запросов по протоколу HTTP>

    HTTPS_PROXY: <прокси-сервер для запросов по протоколу HTTPS>

    NO_PROXY: <домены или соответствующие им маски для исключения из проксирования>

    Данные сертификата для безопасного подключения к реестру сканируемого образа в переменной COMPANY_EXT_REGISTRY_TLS_CERT указываются в виде строки в формате .PEM:
    -----BEGIN CERTIFICATE-----\n... <данные сертификата> ...\n-----END CERTIFICATE-----.

  4. При необходимости укажите переменную для проверки сертификата API-интерфейса решения:

    API_CA_CERT: ${KCS_CA_CERT}

    Если переменная API_CA_CERT не задана, проверка будет запускаться, но не будет пройдена.

  5. Укажите веб-адрес хост-сервера API Kaspersky Security для контейнеров:

    API_BASE_URL: <веб-адрес>

  6. Укажите команду для создания файла артефакта при запуске сканера в одном из следующих поддерживаемых форматов:
    • Для создания артефакта в формате .JSON:

      script:

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

      artifacts:

      paths:

      - artifact-result.json

    • Для создания артефакта в формате .HTML:

      script:

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

      artifacts:

      paths:

      - artifact-result.html

    • Для создания артефакта SBOM в формате .SPDX:

      script:

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

      artifacts:

      paths:

      - artifact-result.spdx

    • Для создания артефакта SBOM в формате .CDX:

      script:

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

      artifacts:

      paths:

      - artifact-result.cdx.json

Пример настройки запуска сканера в режиме lite SBOM и создания артефакта в формате .HTML в GitLab