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

Установка решения

Компоненты Kaspersky Security для контейнеров поставляются в виде образов в реестре производителя решения и развертываются в виде контейнеров.

Установка Платформы контейнерной безопасности Kaspersky Security для контейнеров состоит из следующих этапов:

  1. Установка компонентов Модуль основной бизнес-логики и Сканер.
  2. Первый запуск консоли управления.
  3. Настройка групп агентов и развертывание агентов на контролируемых узлах кластеров.

После завершения установки нужно подготовить решение к работе:

В этом разделе справки

Установка модуля основной бизнес-логики и сканера

Запуск консоли управления

Просмотр и принятие Лицензионного соглашения

Проверка функционирования решения

Развертывание агентов

Просмотр и изменение групп агентов

Конфигурация работы через прокси-сервер

Подключение к внешним ресурсам для хранения данных

Установка закрытых исправлений

В начало
[Topic 276636]

Установка модуля основной бизнес-логики и сканера

Перед установкой решения необходимо проверить целостность данных в подготовленном пакете Helm Chart.

Чтобы проверить целостность данных:

  1. Скачайте архив с подготовленным пакетом Helm Chart и файл хеша и перейдите в эту директорию.
  2. Выполните команду:

    sha256sum -c kcs-2.0.0.tgz.sha

    Целостность данных подтверждается, если отображается следующее сообщение:

    kcs-2.0.0.tgz: OK

Перед началом установки (в том числе в AWS EKS или Microsoft Azure) обратите внимание на параметры storageClass и ingressClass в блоках конфигурационного файла default и ingress.kcs. Эти параметры указываются для кластера и при необходимости их требуется изменить в соответствии с вашей инфраструктурой. Например, для Azure используется следующий вариант:

default:
  storageClass: azurefile
  networkPolicies:
    ingressControllerNamespaces:
      - app-routing-system

ingress:
  kcs:
    ingressClass: webapprouting.kubernetes.azure.com

Чтобы выполнить установку модуля основной бизнес-логики и сканера Kaspersky Security для контейнеров,

после подготовки конфигурационного файла запустите установку решения:

cd kcs/

helm upgrade --install kcs . \

--create-namespace \

--namespace kcs \

--values values.yaml \

--set default.domain="example.com" \

--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-string pullSecret.kcs-pullsecret.password="pass"

В результате установки будут развернуты компоненты решения.

Также при установке модуля основной бизнес-логики и сканера Kaspersky Security для контейнеров настраивается возможность безопасной передачи паролей, токенов и секретов. Для этого используется хранилище HashiCorp Vault, значения параметров которого указываются в файле values.yaml и разворачиваются при запуске пакета Helm Chart.

После выполнения установки в командной оболочке останется запись о выполнении команды по установке решения. Вы можете открыть файл с историей команд и удалить эту запись или перед выполнением установки запретить запись истории команд в командной оболочке.

Панель управления будет доступна по адресу, указанному в подсекции envs раздела переменных окружения для создания объекта ConfigMap для параметра API_URL:

http://${DOMAIN}

В начало
[Topic 292077]

Запуск консоли управления

Чтобы запустить консоль управления Kaspersky Security для контейнеров:

  1. В браузере перейдите по адресу, заданному для консоли управления при установке Сервера.

    Откроется страница авторизации.

  2. Введите имя и пароль учетной записи, нажмите на кнопку Войти.

    При установке решения задается одинаковое значение имени и пароля учетной записи – admin. После запуска консоли управления вы можете изменить имя и пароль учетной записи.

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

  3. По запросу измените текущий пароль учетной записи: укажите новый пароль, подтвердите его и нажмите на кнопку Изменить.

    К паролю предъявляются следующие требования:

    • Пароль должен включать в себя цифры, заглавные и строчные буквы и специальные символы.
    • Минимальная длина пароля – 6 знаков, максимальная – 72 знака.

Откроется главная страница консоли управления.

По умолчанию сеанс работы зарегистрированного пользователя в консоли составляет 9 часов. В разделе ПараметрыПараметры подключения вы можете задать свою продолжительность сеанса работы от минимум 1 часа до максимум 168 часов. По истечению установленного времени сеанс работы в консоли завершается.

Вы можете изменить параметры подключения в разделе ПараметрыПараметры подключения.

В начало
[Topic 250380]

Просмотр и принятие Лицензионного соглашения

При первом запуске консоли управления в браузере Kaspersky Security для контейнеров предлагает вам ознакомиться с Лицензионным соглашением, которое заключается между вами и АО "Лаборатория Касперского". Для продолжения работы с решением требуется подтвердить, что вы полностью прочитали и принимаете условия Лицензионного соглашения Kaspersky Security для контейнеров.

Чтобы подтвердить принятие условий Лицензионного соглашения,

в нижней части окна с текстом Лицензионного соглашения нажмите на кнопку Принять.

Откроется страница авторизации для запуска консоли управления.

После установки новой версии решения необходимо повторно принять Лицензионное соглашение.

В начало
[Topic 255780]

Проверка функционирования решения

После установки Kaspersky Security для контейнеров и запуска консоли управления вы можете убедиться, что решение выявляет проблемы безопасности и обеспечивает защиту контейнеризированных объектов.

Чтобы проверить работоспособность Kaspersky Security для контейнеров:

  1. Активируйте решение с помощью кода активации или файла ключа.
  2. Настройте интеграцию с реестром образов. Для проверки работоспособности достаточно интеграции с одним реестром.
  3. При необходимости настройте параметры политики сканирования, которая по умолчанию создается после установки решения.
  4. Добавьте образ на сканирование и убедитесь, что задание на сканирование отправлено на обработку.
  5. После окончания сканирования перейдите на страницу с подробной информацией о результатах сканирования образа.

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

В начало
[Topic 266166]

Развертывание агентов

Агенты должны быть установлены на всех узлах кластера, который вы хотите защищать.

На каждый кластер устанавливается отдельная группа агентов.

Чтобы развернуть агенты в кластере:

  1. В главном меню перейдите в раздел Компоненты → Агенты.
  2. В рабочей области нажмите на кнопку Добавить группу агентов.
  3. На вкладке Общая информация выполните следующие действия:
    1. Заполните поля формы:
      • Введите название группы. В качестве названия группы для удобства управления агентами рекомендуется указывать имя кластера, на узлах которого будут развернуты агенты.
      • Если требуется, введите описание группы агентов.
      • Выберите используемый оркестратор.
      • Укажите название пространства имен.
    2. В блоке Реестр введите веб-адрес реестра, где находятся образы, с которых производится установка агентов. Для доступа к реестру требуется указать имя пользователя и пароль, которые используются для этого реестра.
    3. В блоке Связанная SIEM-система из раскрывающегося списка выберите SIEM-систему.

      Для связывания группы агентов в Kaspersky Security для контейнеров необходимо создать и настроить хотя бы одну интеграцию с SIEM-системой.
      Одну группу агентов можно связать только с одной SIEM-системой.

      Для каждой интеграции с SIEM-системой в раскрывающемся списке указывается статус ее подключения – Успешно, С предупреждением или Ошибка.

  4. На вкладке Мониторинг состояния узлов с помощью переключателя Выключить / Включить запустите действия по мониторингу и анализу состояния сети, процессов в контейнерах и защиты от файловых угроз для следующих параметров:
    • Мониторинг сетевых соединений. Состояние сетевых соединений отслеживается с помощью устройств для фиксации сетевого трафика (сетевых мониторов) и модулей на базе технологии eBPF. При этом учитываются применимые политики среды выполнения и профили среды выполнения контейнеров.
    • Мониторинг процессов в контейнерах. Процессы в контейнерах отслеживаются с помощью модулей на базе технологии eBPF, учитывая применимые политики среды выполнения и профили среды выполнения контейнеров.
    • Защита от файловых угроз. Для отслеживания обновлений антивирусных баз необходимо указать одно из следующих значений:
      • URL инструмента обновлений антивирусных баз – веб-адрес сервера обновлений Kaspersky Security для контейнеров.
      • Прокси-сервер обновлений антивирусных баз – прокси-сервер HTTP для облачного или локального сервера обновлений.

      Если для обновления антивирусных баз используется контейнер kcs-updates, URL инструмента обновлений антивирусных баз требуется указать следующим образом: <домен>/kuu/updates (например, https://kcs.company.com/kuu/updates).

      По умолчанию базы данных компонента Защита от файловых угроз обновляются с помощью облачных серверов "Лаборатории Касперского".

    • Файловые операции. Решение отслеживает файловые операции с помощью модулей на базе технологии eBPF, учитывая применимые политики среды выполнения и профили среды выполнения контейнеров.

      Вне зависимости от режима, указанного в политике среды выполнения, для файловых операций поддерживается только режим Аудит. Если в применимой политике среды выполнения установлен режим Блокирование, файловые операции осуществляются в режиме Аудит.

    Ненужные действия в рамках процесса мониторинга можно выключить, чтобы избежать нецелесообразной нагрузки на узлы.

  5. Нажмите на кнопку Сохранить.

В рабочей области на вкладке Данные для развертывания агентов отобразятся следующие данные, необходимые для развертывания агентов на кластере:

  • Автоматически сгенерированный токен для развертывания – это идентификатор, который будет использовать агент при подключении к серверу. Вы можете скопировать токен, нажав на значок копирования (Значок копирования значений.) рядом с полем Токен для развертывания.
  • Инструкция для развертывания агентов на кластере. Вы можете скопировать инструкцию из поля Конфигурация, нажав на значок копирования (Значок копирования значений.), или загрузить ее в виде файла в формате .YAML.

    С помощью этой инструкции вы можете развернуть агенты на кластере. Например:

    kubectl apply -f <файл> -n <пространство имен>

    После применения инструкции агент будет развернут на всех рабочих узлах кластера.

Решение автоматически обновляет инструкцию для развертывания агентов, если вы изменяете следующие параметры:

  • TLS-сертификаты решения;
  • URL, имя пользователя и пароль для скачивания образов агентов kube-agent и node-agent;
  • cвязанную SIEM-систему;
  • параметры в блоке Мониторинг состояния узлов.

Необходимо повторно скопировать или загрузить обновленную инструкцию в виде файла в формате .YAML, а затем применить ее с помощью команды kubectl apply -f <файл> -n <пространство имен>. Если этого не сделать, изменения указанных параметров для развернутых агентов не будут применены.

В начало
[Topic 294539]

Просмотр и изменение групп агентов

В разделе КомпонентыАгенты в таблице отображаются созданные и развернутые группы агентов. Для каждой из таких групп представлена следующая информация:

  • Название группы агентов.
  • Количество подключенных агентов в группе.
  • Оркестратор.
  • Включенные действия по мониторингу состояния узлов.
  • Связанная SIEM-система.

Вы можете настроить отображение групп агентов по статусу подключения агентов (Все, Подключен, Отключен, Ожидает) с помощью соответствующих кнопок, расположенных над таблицей.

Нажав на значок развертывания (Значок стрелки, направленной вправо.), каждую группу агентов в таблице можно развернуть, чтобы посмотреть следующую информацию по агентам в ее составе:

  • Название агента и статус его подключения.
  • Версия узла, на котором развернут агент (главный или рабочий узел).
  • Имя пода, с которым связан агент.
  • Действия по мониторингу состояния узлов (Процессы в контейнерах, Сетевые соединения, Защита от файловых угроз и Файловые операции).
  • Статус подключения к SIEM-системе.
  • Дата и время последнего подключения агента.

По ссылке на названии агента вы можете раскрыть боковую панель, чтобы посмотреть информацию о состоянии агента.

Чтобы изменить параметры группы агентов:

  1. В разделе КомпонентыАгенты в таблице со списком групп агентов нажмите на ссылку на названии группы агентов.
  2. В открывшемся окне измените параметры группы.
  3. Нажмите на кнопку Сохранить.

В начало
[Topic 283087]

Конфигурация работы через прокси-сервер

В версии 2.0 Kaspersky Security для контейнеров предоставляет возможность проксирования запросов из закрытых контуров корпоративной сети во внешнюю информационную среду. Настройка параметров, обеспечивающих взаимодействие через прокси-сервер, осуществляется с помощью следующих переменных окружения в пакете Helm Chart, который входит в комплект поставки решения:

  • HTTP_PROXY – прокси-сервер для запросов по протоколу HTTP.
  • HTTPS_PROXY – прокси-сервер для запросов по протоколу HTTPS.
  • NO_PROXY – переменная, в которой указываются домены или соответствующие им маски для исключения из проксирования.

    Если используется HTTP_PROXY или HTTPS_PROXY, то переменная NO_PROXY формируется в пакете Helm Chart автоматически, в ней указываются все применяемые решением компоненты.

    Вы можете изменить переменную NO_PROXY, если вам требуется указать домены и маски инфраструктуры для работы Kaspersky Security для контейнеров, чтобы исключить их из проксирования.

  • SCANNER_PROXY – специализированная переменная для указания прокси-сервера, на который направляются запросы сканера компонента Защита от файловых угроз к серверам "Лаборатории Касперского" для актуализации баз данных.
  • LICENSE_PROXY – специализированная переменная для указания прокси-сервера, на который направляются запросы модуля kcs-licenses к серверам "Лаборатории Касперского" для проверки и актуализации информации о действующей лицензии.

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

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

В конфигурации прокси-сервера требуется добавить маски доменных имен серверов "Лаборатории Касперского" в список разрешенных. Поддерживаемые варианты масок: *.kaspersky.com, .kaspersky.com, *.kaspersky-labs.com, .kaspersky-labs.com (синтаксис, который поддерживает ваш прокси-сервер, указан в документации к прокси-серверу). Для доступа к ресурсам требуется открыть порты 80 и 443.

Параметры прокси-серверов поддерживают указание с помощью IP-адреса или FQDN.

Необходимо экранировать спецсимволы.

В таблице ниже представлены компоненты Kaspersky Security для контейнеров, которые могут использовать переменные окружения, а также указаны цели использования таких переменных окружения.

Использование переменных окружения компонентами Kaspersky Security для контейнеров

Компонент

Переменная окружения

Цель использования

kcs-ih

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

Получение доступа к внешним реестрам образов, недоступных из пространства имен Kaspersky Security для контейнеров.

kcs-ih

SCANNER_PROXY

Обновление баз данных сканера, работающего в компоненте Защита от файловых угроз, с использованием серверов обновлений "Лаборатории Касперского".

kcs-middleware

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

Получение доступа к внешним реестрам образов, недоступных из пространства имен "Лаборатории Касперского".

kcs-scanner

SCANNER_PROXY

Обновления баз данных сканера уязвимостей с использованием серверов обновлений "Лаборатории Касперского".

kcs-licenses

LICENSE_PROXY

Проверка и актуализация информации о действующей лицензии с использованием серверов лицензирования "Лаборатории Касперского".

Вы можете настроить работу агентов с помощью прокси-сервера, и прокси-сервер будет пропускать запросы на адрес установки Kaspersky Security для контейнеров.

Чтобы настроить работу агентов с помощью прокси-сервера:

  1. В разделе Компоненты → Агенты в таблице со списком групп агентов нажмите на ссылку на названии группы агентов.
  2. В открывшемся окне перейдите на вкладку Мониторинг состояния узлов и выполните следующие действия:
    • Убедитесь, что компонент Защита от файловых угроз активирован с помощью переключателя Выключить / Включить.
    • В блоке Защита от файловых угроз в значении параметра Прокси-сервер обновлений антивирусных баз укажите прокси-сервер.
    • Нажмите на кнопку Сохранить.
  3. Перейдите на вкладку Данные для развертывания агентов.
  4. Скопируйте или загрузите обновленную инструкцию для развертывания агентов в виде файла в формате .YAML, а затем примените ее с помощью команды kubectl apply -f <файл> -n <пространство имен>.
  5. Настройте переменные окружения HTTP_PROXY, HTTPS_PROXY или NO_PROXY в объектах Deployment и DaemonSet агентов.

В начало
[Topic 302840]

Подключение к внешним ресурсам для хранения данных

Кроме компонентов Kaspersky Security для контейнеров, которые входят в комплект поставки, решение может также работать со следующими внешними ресурсами для хранения данных:

  • база данных PostgreSQL;
  • СУБД ClickHouse;
  • s3-совместимое файловое хранилище MinIO.

Настройка параметров подключения к внешним ресурсам для хранения данных осуществляется с помощью конфигурационного файла values.yaml.

В этом разделе

Создание пользователя для внешней базы данных PostgreSQL

Использование внешней СУБД ClickHouse

Настройка параметров внешнего хранилища MinIO

В начало
[Topic 298985]

Создание пользователя для внешней базы данных PostgreSQL

При работе с Kaspersky Security для контейнеров вы можете использовать базы данных PostgreSQL в составе решения или собственные базы данных PostgreSQL. Для установки внешней базы данных PostgreSQL, которая не работает со схемой Kaspersky Security для контейнеров, требуется создать отдельного пользователя. Вы можете сделать это с помощью установки пакета Helm Chart с заданными параметрами схемы для внешней базы данных PostgreSQL.

Чтобы создать пользователя с индивидуальной схемой для внешней базы данных PostgreSQL:

  1. Выполните следующую команду для создания отдельного пространства имен для внешней базы данных PostgreSQL:

    kubectl create ns kcspg

    где kcspg – пространство имен для внешней базы данных PostgreSQL.

  2. Выполните следующие действия для развертывания внешней базы данных PostgreSQL:
    1. Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.

      Параметры для развертывания внешней базы данных PostgreSQL

      apiVersion: apps/v1

      kind: Deployment

      metadata:

      annotations:

      deployment.kubernetes.io/revision: "1"

      labels:

      app: postgres

      component: postgres

      name: postgres

      namespace: kcspg

      spec:

      replicas: 1

      selector:

      matchLabels:

      app: postgres

      component: postgres

      strategy:

      type: Recreate

      template:

      metadata:

      creationTimestamp: null

      labels:

      app: postgres

      component: postgres

      spec:

      containers:

      - name: postgres

      image: postgres:13-alpine

      ports:

      - containerPort: 5432

      env:

      - name: POSTGRES_DB

      value: api

      - name: POSTGRES_USER

      value: postgres

      - name: POSTGRES_PASSWORD

      value: postgres

      volumeMounts:

      - mountPath: "/var/lib/postgresql/data"

      name: "pgdata"

      imagePullSecrets:

      - name: ci-creds

      volumes:

      - hostPath:

      path: "/home/docker/pgdata"

      name: pgdata

      В параметрах задается пароль к базе данных. Этот пароль затем требуется указать в разделе infraconfig конфигурационного файла values.yaml, который входит в состав пакета Helm Chart в комплекте поставки решения.

    2. Выполните следующую команду:

      kubectl apply -f pg.yaml -n kcspg

    Название этой внешней базы данных формируется следующим образом:

    <имя_пода>.<название пространства имен>.<сервис>.cluster.local

    Например, postgres.kcspg.svc.cluster.local

  3. Выполните следующие действия для развертывания объекта Service в кластере:
    1. Укажите параметры для развертывания объекта Service в конфигурационном файле svc.yaml.

      Параметры для развертывания объекта Service в кластере

      apiVersion: v1

      kind: Service

      metadata:

      name: postgres

      spec:

      type: ClusterIP

      selector:

      component: postgres

      ports:

      - port: 5432

      targetPort: 5432

    2. Выполните следующую команду:

      kubectl apply -f svc.yaml -n kcspg

  4. Выполните следующие действия для создания пользователя, применяемой схемы и связи пользователя и схемы:
    1. С помощью развернутого в п.2b элемента postgres зайдите в под.
    2. Запустите интерактивный терминал psql с помощью следующей команды:

      psql -h localhost -U postgres -d api

    3. Выполните следующие команды:

      CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;

      CREATE SCHEMA kks AUTHORIZATION kks;

      GRANT USAGE ON SCHEMA kks TO PUBLIC;

  5. В конфигурационном файле values.yaml укажите параметры для использования внешней базы PostgreSQL.

    Параметры в файле values.yaml

    default:

    postgresql:

    external: true

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    POSTGRES_HOST: postgres.kcspg.svc.cluster.local

    POSTGRES_PORT: 5432

    POSTGRES_DB_NAME: api

    secret:

    infracreds:

    type: fromEnvs

    envs:

    POSTGRES_USER: kks

    POSTGRES_PASSWORD: kks

    Значения параметров, указанных в values.yaml, должны совпадать со значениями сходных параметров в конфигурационных файлах pg.yaml и svc.yaml.

  6. Запустите обновление решения.

    Пример выполнения команд для создания пользователя с внешней базой данных PostgreSQL

    export KUBECONFIG=/root/.kube/config

    export CHART_URL=repo.kcs.kaspersky.com

    export CHART_USERNAME=<CHART_USERNAME>

    export CHART_PASSWORD=<CHART_PASSWORD>

    export VERSION=2.0.0

    export KCS_HOSTNAME=kcs.apps.aws.ext.company.com

    export IMAGE_URL=company.gitlab.examplecloud.com:5050

    export IMAGE_USERNAME=<repo_user>

    export IMAGE_PASSWORD=<repo_pass>

    cd /tmp

    helm registry login --username $IMAGE_USERNAME --password $IMAGE_PASSWORD company.gitlab.examplecloud.com:5050/company/kcs/chart

    helm pull oci://company.gitlab.examplecloud.com:5050/company/kcs/chart/kcs --version $VERSION

    tar -xf kcs*.tgz -C /tmp

    cp -rf /tmp/values.yaml /tmp/kcs

    cd /tmp/kcs

    helm upgrade --install kcs-release --create-namespace --namespace kcs --values values.yaml --version $VERSION --timeout 30m --wait --debug .

В начало
[Topic 292954]

Использование внешней СУБД ClickHouse

Кроме СУБД ClickHouse, которая является компонентом Kaspersky Security для контейнеров и входит в комплект поставки, решение может также работать с ресурсами внешней СУБД ClickHouse. Для этого необходимо выполнить следующее:

Kaspersky Security для контейнеров работает с СУБД ClickHouse 22.6 или выше.

В начало
[Topic 298717]

Создание базы данных для Kaspersky Security для контейнеров

Чтобы создать базу данных для Kaspersky Security для контейнеров,

в ClickHouse на рабочей станции выполните команду:

CREATE DATABASE IF NOT EXISTS kcs

где kcs – имя базы данных для Kaspersky Security для контейнеров.

Чтобы настроить параметры созданной базы данных для Kaspersky Security для контейнеров:

  1. Добавьте пользователей и определите способ их авторизации. Для этого выполните следующие шаги:
    1. Добавьте следующих пользователей:
      • пользователя с правами на чтение данных, полученных ядром Kaspersky Security для контейнеров (англ. reader).

        <roles>

        <kcs_reader_role>

        <grants>

        <query>GRANT SELECT ON kcs.*</query>

        </grants>

        </kcs_reader_role>

      • пользователя с правами на запись данных из запросов от внешних агентов (англ. writer).

        <roles>

        <kcs_writer_role>

        <grants>

        <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

        <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

        </grants>

        </kcs_writer_role>

    2. Определите способ авторизации пользователей: с помощью пароля или сертификата.

      Пример настройки пользователей с авторизацией с помощью пароля

      <clickhouse>

      ...

      <kcsuser-write>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

      Пример настройки пользователей с авторизацией с помощью сертификата

      <clickhouse>

      ...

      <kcsuser-write>

      <ssl_certificates>

      <common_name>kcsuser-write</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <ssl_certificates>

      <common_name>kcsuser-read</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

  2. Определите диски для краткосрочного и долгосрочного хранения данных. При работе с ClickHouse Kaspersky Security для контейнеров может сохранять большой объем данных с разными сроками хранения. По умолчанию основной объем событий хранится максимум 30 минут, а информация об инцидентах сохраняется до 90 дней. Поскольку для записи событий требуется много ресурсов, обеспечивающих высокую скорость записи и выделение места хранения, рекомендуется использовать разные диски для размещения данных на краткосрочное и долгосрочное хранение.

    Пример настройки параметров хранения данных

    <clickhouse>

    ...

    <storage_configuration>

    <disks>

    <kcs_disk_hot>

    <path>/etc/clickhouse/hot/</path>

    </kcs_disk_hot>

    <kcs_disk_cold>

    <path>/etc/clickhouse/cold/</path>

    </kcs_disk_cold>

    </disks>

    <policies>

    <kcs_default>

    <volumes>

    <default>

    <disk>kcs_disk_hot</disk>

    </default>

    <cold>

    <disk>kcs_disk_cold</disk>

    </cold>

    </volumes>

    </kcs_default>

    </policies>

    </storage_configuration>

    ...

    </clickhouse>

В начало
[Topic 298742]

Настройка параметров внешней СУБД ClickHouse

Чтобы настроить параметры Kaspersky Security для контейнеров для использования внешней СУБД ClickHouse:

  1. В конфигурационном файле values.yaml укажите, что решение использует внешнюю СУБД ClickHouse:

    default:

    kcs-clickhouse:

    external: true

  2. Укажите значения переменных для использования внешней СУБД ClickHouse:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...<переменные для использования внешней СУБД ClickHouse>

    В этом разделе необходимо указать следующие переменные:

    • EXT_CLICKHOUSE_PROTOCOL – протокол подключения к внешней СУБД ClickHouse.
    • EXT_CLICKHOUSE_HOST – хост подключения к внешней СУБД ClickHouse.
    • EXT_CLICKHOUSE_PORT – порт для подключения к внешней СУБД ClickHouse.
    • EXT_CLICKHOUSE_DB_NAME – имя базы данных, подготовленной для использования с Kaspersky Security для контейнеров.
    • EXT_CLICKHOUSE_COLD_STORAGE_NAME – имя диска, на котором ClickHouse будет долгосрочно хранить данные об инцидентах.
    • EXT_CLICKHOUSE_STORAGE_POLICY_NAME – название политики хранения данных, согласно которой ClickHouse будет переносить данные об инцидентах на диск для долгосрочного хранения.

      Если используется один диск для краткосрочного и долгосрочного хранения данных значения EXT_CLICKHOUSE_COLD_STORAGE_NAME и EXT_CLICKHOUSE_STORAGE_POLICY_NAME не указываются.

    • EXT_CLICKHOUSE_SSL_AUTH – переменная для авторизации пользователей ClickHouse с использованием ssl. Если указано значение true, авторизация осуществляется с использованием клиентских сертификатов и без паролей.

      Если переменная TLS_INTERNAL имеет значение false, значение EXT_CLICKHOUSE_SSL_AUTH также должно быть false.

    • EXT_CLICKHOUSE_ROOT_CA_PATH – путь до CA-сертификата, который указывается в случае использования протокола https (EXT_CLICKHOUSE_PROTOCOL: https) для подключения к ClickHouse. Вы можете указать путь одним из следующих способов:
  3. Укажите значения секретов для использования внешней СУБД ClickHouse:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<секреты для использования внешней СУБД ClickHouse>

    В этом разделе необходимо указать следующее:

    • EXT_CLICKHOUSE_WRITE_USER – имя пользователя с правами на запись, подготовленного для использования с Kaspersky Security для контейнеров.
    • CLICKHOUSE_WRITE_PASSWORD – пароль пользователя с правами на запись, подготовленного для использования с Kaspersky Security для контейнеров.
    • EXT_CLICKHOUSE_READ_USER – имя пользователя с правами на чтение, подготовленного для использования с Kaspersky Security для контейнеров.
    • CLICKHOUSE_READ_PASSWORD – пароль пользователя с правами на чтение, подготовленного для использования с Kaspersky Security для контейнеров.

      CLICKHOUSE_READ_PASSWORD и CLICKHOUSE_WRITE_PASSWORD не используются, если для переменной EXT_CLICKHOUSE_SSL_AUTH указано значении true.

    Имена пользователей и пароли к ним также можно указать с помощью хранилища секретов Vault.

    Пример настройки параметров внешней СУБД ClickHouse

    kcs-clickhouse:

    external: true

    persistent: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_PROTOCOL: https

    EXT_CLICKHOUSE_HOST: clickhouse.ns.svc.cluster.local

    EXT_CLICKHOUSE_PORT: 8443

    EXT_CLICKHOUSE_DB_NAME: kcs

    EXT_CLICKHOUSE_COLD_STORAGE_NAME: cold

    EXT_CLICKHOUSE_STORAGE_POLICY_NAME: kcs_default

    EXT_CLICKHOUSE_SSL_AUTH: false

    EXT_CLICKHOUSE_ROOT_CA_PATH: /etc/ssl/certs/kcs-clickhouse-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_WRITE_USER: kcsuser-write

    EXT_CLICKHOUSE_READ_USER: kcsuser-read

    CLICKHOUSE_WRITE_PASSWORD: **************

    CLICKHOUSE_READ_PASSWORD: ***********

    ...

    При использовании Vault:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    EXT_CLICKHOUSE_WRITE_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_WRITE_USER

    EXT_CLICKHOUSE_READ_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_READ_USER

    CLICKHOUSE_WRITE_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_WRITE_PASSWORD

    CLICKHOUSE_READ_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_READ_PASSWORD

    ...

В начало
[Topic 298743]

Настройка параметров внешнего хранилища MinIO

Чтобы настроить параметры Kaspersky Security для контейнеров для использования внешнего s3-совместимого файлового хранилища MinIO:

  1. В конфигурационном файле values.yaml укажите, что решение использует внешнее хранилище MinIO:

    default:

    kcs-s3:

    external: true

  2. Укажите значения переменных для использования MinIO:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...<переменные для использования внешнего хранилища MinIO>

    В этом разделе необходимо указать следующие переменные:

    • MINIO_HOST – хост для подключения к MinIO.
    • MINIO_PORT – порт для подключения к MinIO.
    • MINIO_BUCKET_NAME – имя раздела в MinIO, выделенного для хранения данных Kaspersky Security для контейнеров.
    • MINIO_SSL – переменная для подключения к MinIO с использованием ssl (в том числе с помощью протокола https).

      Если переменная TLS_INTERNAL имеет значение false, значение MINIO_SSL также должно быть false.

    • MINIO_ROOT_CA_PATH – путь до CA-сертификата, который указывается в случае использования протокола https (MINIO_SSL: true) для подключения к MinIO. Вы можете указать путь одним из следующих способов:
  3. Укажите значения секретов для использования внешнего хранилища MinIO:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<секреты для использования внешнего хранилища MinIO>

    В этом разделе необходимо указать следующее:

    • MINIO_ROOT_USER - имя пользователя MinIO, выделенного для Kaspersky Security для контейнеров.
    • MINIO_ROOT_PASSWORD - пароль пользователя MinIO, выделенного для Kaspersky Security для контейнеров.

    Имена пользователей и пароли к ним также можно указать с помощью хранилища секретов Vault.

    Пример настройки параметров внешнего файлового хранилища MinIO

    kcs-s3:

    enabled: true

    external: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    MINIO_HOST: kcs-s3

    MINIO_PORT: 9000

    MINIO_BUCKET_NAME: reports

    MINIO_SSL: true

    MINIO_ROOT_CA_PATH: /etc/ssl/certs/minio-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    MINIO_ROOT_USER: kcs_user

    MINIO_ROOT_PASSWORD: ********

    ...

    При использовании Vault:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    MINIO_ROOT_USER: kv/test/minio@MINIO_ROOT_USER

    MINIO_ROOT_PASSWORD: kv/test/minio@MINIO_ROOT_PASSWORD

В начало
[Topic 298749]

Установка закрытых исправлений

Ввиду особенностей различных корпоративных сетей, в которых развертывается Kaspersky Security для контейнеров, иногда возникает необходимость установки закрытых исправлений для решения. Закрытое исправление представляет собой один или несколько индивидуально подготовленных Docker-образов. Такие исправления не публикуются на официальном источнике образов "Лаборатории Касперского", а передаются непосредственно компании-покупателю для размещения в корпоративном реестре образов.

Чтобы разместить полученный Docker-образ в реестре образов:

  1. Сохраните архив с Docker-образом в выбранной директории.
  2. Выполните команду docker load -i <имя_архива>.
  3. Выполните команду docker tag <имя хеша, полученного в шаге 2> <реестр заказчика/<компонент>:fix>.
  4. Выполните команду docker push <реестр заказчика/<компонент>:fix>.
  5. В зависимости от компонента, для которого устанавливается исправление, замените тег образа с <компонент>:2.0 на <реестр заказчика/<компонент>:fix> в одном из следующих конфигурационных файлов:

В начало
[Topic 298784]