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

Подготовка к установке в закрытом контуре корпоративной сети

Чтобы подготовиться к установке решения в закрытом контуре корпоративной сети:

  1. Подключите Helm-репозиторий производителя, где находится пакет Helm Chart.

    export CHART_URL="xxxxxx"

    export CHART_USERNAME="xxxxxx"

    export CHART_PASSWORD="xxxxxx"

    export VERSION="xxxxxx"

    Значения CHART_URL, CHART_USERNAME, CHART_PASSWORD, VERSION предоставляются производителем.

    Пример подключения репозитория с Helm Chart

  2. Заполните файл с параметрами установки (values.yaml), который входит в комплект поставки решения, в соответствии с комментариями в этом файле.

    Мы не рекомендуем указывать данные учетных записей в файле values.yaml для использования при запуске пакета Helm Chart.

    Для управления секретами вы можете воспользоваться одним из следующих безопасных способов:

    • Использование CI/CD-систем. Секреты задаются с помощью защищенных переменных среды или встроенных механизмов управления секретами. При развертывании данные подставляются в Helm Chart динамически, их не требуется открыто указывать в конфигурационном файле values.yaml.
    • Интеграция с HashiCorp Vault. Helm Chart поддерживает интеграцию с хранилищем секретов HashiCorp Vault, в котором вы можете хранить секреты, а в values.yaml требуется указывать только пути к ним.

      Значения pull-secret для Docker Registry не могут полностью сохраняться в HashiCorp Vault. Мы рекомендуем указывать pull-secret вручную в разделе с параметрами кластера Kubernetes и ссылаться на него из Helm Chart.

    В файле values.yaml необходимо указать следующие основные параметры установки:

    • Название пространства имен.

      helm upgrade --install kcs . \

      --create-namespace \

      --namespace kcs \

      --values values.yaml \

    • Доменное имя Kaspersky Security для контейнеров для входящих соединений.

      --set default.domain="kcs.example.domain.ru" \

      При включенных сетевых политиках необходимо указать минимум одно пространство имен ингресс-контроллера кластера.

      --set default.networkPolicies.ingressControllerNamespaces="{ingress-nginx}" \

      По умолчанию сетевые политики включены.

    • Секреты компонентов решения.

      --set secret.infracreds.envs.POSTGRES_USER="user" \

      --set-string secret.infracreds.envs.POSTGRES_PASSWORD="pass" \

      --set secret.infracreds.envs.MINIO_ROOT_USER="user" \

      --set-string secret.infracreds.envs.MINIO_ROOT_PASSWORD="password" \

      --set-string secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD="pass" \

      --set secret.infracreds.envs.MCHD_USER="user" \

      --set-string secret.infracreds.envs.MCHD_PASS="pass" \

      Для обеспечения безопасности компонентам решения требуется использовать учетные данные, сгенерированные администратором системы самостоятельно в соответствии с корпоративными политиками безопасности. При развертывании целевого компонента в составе решения, указанные пользователь и пароль создаются автоматически. При использовании стороннего сервиса необходимо указать учетные данные пользователя и пароль, созданные администратором в этом стороннем сервисе.

    • Секреты доступа в репозиторий установки решения.

      --set pullSecret.kcs-pullsecret.username="user" \

      --set pullSecret.kcs-pullsecret.password="pass"

      Если вы планируете развертывание системы с использованием реестра "Лаборатории Касперского", необходимо указать учетные данные, переданные вам при покупке Kaspersky Security для контейнеров. Если вы планируете использовать частный реестр или прокси-реестр, требуется указать учетные данные вашего реестра.

    • Конфигурационные параметры хранилища секретов HashiCorp Vault:
      • enabled – флаг включения интеграции с хранилищем. Значение переменной vault.enabled = true указывает на то, что интеграция с HashiCorp Vault осуществлена, значения переменных окружения получаются из хранилища.
      • mountPath – путь до директории с секретами в хранилище.
      • role – роль, под которой будет осуществляться аутентификация в хранилище.

    Мы рекомендуем не менять состав основных параметров установки.

  3. В случае использования внешней СУБД PostgresSQL, укажите следующее:

    --set default.postgresql.external="true"

    --set configmap.infraconfig.envs.postgres_host="<IP-адрес или FQDN СУБД PostgresSQL>"

    --set configmap.infraconfig.envs.postgres_port="<порт для подключения к СУБД PostgresSQL, по умолчанию используется порт 5432>"

    --set configmap.infraconfig.envs.postgres_db_name="<имя созданной администратором СУБД PostgresSQL базы данных, по умолчанию используется api>"

    Также у администратора СУБД PostgresSQL необходимо уточнить требования к проверке сертификатов сервера СУБД. Kaspersky Security для контейнеров поддерживает следующие режимы проверки:

    • --set configmap.infraconfig.envs.postgres_verify_level= "disable” – сертификат сервера не проверяется.
    • --set configmap.infraconfig.envs.postgres_verify_level= "require” – сертификат требуется, решение доверяет любому сертификату без дополнительных проверок.
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-ca” – сертификат требуется, решение проверяет, что сертификат выпущен доверенным удостоверяющим центром (англ. Certificate authority).
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-full” – сертификат требуется, решение проверяет, что сертификат выпущен доверенным удостоверяющим центром и содержит верный IP-адрес или FQDN.

    Если требуется проверять сертификат внешней СУБД PostgresSQL, выполните следующие действия:

    1. Загрузите открытую часть CA-сертификата в папку, в которой находится пакет Helm Chart, по маске certs/pgsql-ca.crt.
    2. Укажите параметр проверки --set configmap.infraconfig.envs.postgres_root_ca_path="/etc/ssl/certs/pgsql-ca.crt".
    3. Раскомментируйте блок secret.cert-pgsql-ca в конфигурационном файле values.yaml для создания секрета.
  4. Сохраните файл с параметрами установки и переходите к установке решения.