Содержание
Подключение к внешним ресурсам для хранения данных
Кроме компонентов Kaspersky Security для контейнеров, которые входят в комплект поставки, решение может также работать со следующими внешними ресурсами для хранения данных:
- база данных PostgreSQL;
- СУБД ClickHouse;
- s3-совместимое файловое хранилище MinIO.
Настройка параметров подключения к внешним ресурсам для хранения данных осуществляется с помощью конфигурационного файла values.yaml.
Создание пользователя для внешней базы данных PostgreSQL
При работе с Kaspersky Security для контейнеров вы можете использовать базы данных PostgreSQL в составе решения или собственные базы данных PostgreSQL. Для установки внешней базы данных PostgreSQL, которая не работает со схемой Kaspersky Security для контейнеров, требуется создать отдельного пользователя. Вы можете сделать это с помощью установки пакета Helm Chart с заданными параметрами схемы для внешней базы данных PostgreSQL.
Чтобы создать пользователя с индивидуальной схемой для внешней базы данных PostgreSQL:
- Выполните следующую команду для создания отдельного пространства имен для внешней базы данных PostgreSQL:
kubectl create ns kcspg
где
kcspg
– пространство имен для внешней базы данных PostgreSQL. - Выполните следующие действия для развертывания внешней базы данных PostgreSQL:
- Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.
Параметры для развертывания внешней базы данных PostgreSQL
В параметрах задается пароль к базе данных. Этот пароль затем требуется указать в разделе
infraconfig
конфигурационного файла values.yaml, который входит в состав пакета Helm Chart в комплекте поставки решения. - Выполните следующую команду:
kubectl apply -f pg.yaml -n kcspg
Название этой внешней базы данных формируется следующим образом:
<
имя_пода
>.<
название пространства имен
>.<
сервис
>.cluster.local
Например,
postgres.kcspg.svc.cluster.local
- Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.
- Выполните следующие действия для развертывания объекта Service в кластере:
- Укажите параметры для развертывания объекта Service в конфигурационном файле svc.yaml.
- Выполните следующую команду:
kubectl apply -f svc.yaml -n kcspg
- Выполните следующие действия для создания пользователя, применяемой схемы и связи пользователя и схемы:
- С помощью развернутого в п.2b элемента postgres зайдите в под.
- Запустите интерактивный терминал psql с помощью следующей команды:
psql -h localhost -U postgres -d api
- Выполните следующие команды:
CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;
CREATE SCHEMA kks AUTHORIZATION kks;
GRANT USAGE ON SCHEMA kks TO PUBLIC;
- В конфигурационном файле values.yaml укажите параметры для использования внешней базы PostgreSQL.
Значения параметров, указанных в values.yaml, должны совпадать со значениями сходных параметров в конфигурационных файлах pg.yaml и svc.yaml.
- Запустите обновление решения.
Пример выполнения команд для создания пользователя с внешней базой данных PostgreSQL
Использование внешней СУБД ClickHouse
Кроме СУБД ClickHouse, которая является компонентом Kaspersky Security для контейнеров и входит в комплект поставки, решение может также работать с ресурсами внешней СУБД ClickHouse. Для этого необходимо выполнить следующее:
- Создать базу данных для Kaspersky Security для контейнеров, добавить и настроить пользователей, а также определить политику работы с дисками, если разные диски используются для долгосрочного и краткосрочного хранения данных.
- Указать необходимые значения переменных в конфигурационном файле values.yaml для внешней СУБД ClickHouse.
Kaspersky Security для контейнеров работает с СУБД ClickHouse 22.6 или выше.
В началоСоздание базы данных для Kaspersky Security для контейнеров
Чтобы создать базу данных для Kaspersky Security для контейнеров,
в ClickHouse на рабочей станции выполните команду:
CREATE DATABASE IF NOT EXISTS kcs
где kcs
– имя базы данных для Kaspersky Security для контейнеров.
Чтобы настроить параметры созданной базы данных для Kaspersky Security для контейнеров:
- Добавьте пользователей и определите способ их авторизации. Для этого выполните следующие шаги:
- Добавьте следующих пользователей:
- пользователя с правами на чтение данных, полученных ядром 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>
- пользователя с правами на чтение данных, полученных ядром Kaspersky Security для контейнеров (англ. reader).
- Определите способ авторизации пользователей: с помощью пароля или сертификата.
Пример настройки пользователей с авторизацией с помощью пароля
Пример настройки пользователей с авторизацией с помощью сертификата
- Добавьте следующих пользователей:
- Определите диски для краткосрочного и долгосрочного хранения данных. При работе с ClickHouse Kaspersky Security для контейнеров может сохранять большой объем данных с разными сроками хранения. По умолчанию основной объем событий хранится максимум 30 минут, а информация об инцидентах сохраняется до 90 дней. Поскольку для записи событий требуется много ресурсов, обеспечивающих высокую скорость записи и выделение места хранения, рекомендуется использовать разные диски для размещения данных на краткосрочное и долгосрочное хранение.
Настройка параметров внешней СУБД ClickHouse
Чтобы настроить параметры Kaspersky Security для контейнеров для использования внешней СУБД ClickHouse:
- В конфигурационном файле values.yaml укажите, что решение использует внешнюю СУБД ClickHouse:
default:
kcs-clickhouse:
external: true
- Укажите значения переменных для использования внешней СУБД 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. Вы можете указать путь одним из следующих способов:- Разместить CA-сертификат ClickHouse по указанному пути. В этом случае нужно раскомментировать блок
secret.cert-kcs-clickhouse-ca
. - Использовать Vault для хранения данных сертификата. В этом случае нужно раскомментировать блок
cert-kcs-clickhouse-ca
в разделеvault.certificate
.
- Разместить CA-сертификат ClickHouse по указанному пути. В этом случае нужно раскомментировать блок
- Укажите значения секретов для использования внешней СУБД 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.
Настройка параметров внешнего хранилища MinIO
Чтобы настроить параметры Kaspersky Security для контейнеров для использования внешнего s3-совместимого файлового хранилища MinIO:
- В конфигурационном файле values.yaml укажите, что решение использует внешнее хранилище MinIO:
default:
kcs-s3:
external: true
- Укажите значения переменных для использования 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. Вы можете указать путь одним из следующих способов:- Разместить CA-сертификат MinIO по указанному пути. В этом случае нужно раскомментировать блок
secret.cert-minio-ca
. - Использовать Vault для хранения данных сертификата. В этом случае нужно раскомментировать блок
cert-minio-ca
в разделеvault.certificate
.
- Разместить CA-сертификат MinIO по указанному пути. В этом случае нужно раскомментировать блок
- Укажите значения секретов для использования внешнего хранилища MinIO:
configmap:
secret:
infracreds:
type: fromEnvs
envs:
...<
секреты для использования внешнего хранилища MinIO
>
В этом разделе необходимо указать следующее:
MINIO_ROOT_USER
- имя пользователя MinIO, выделенного для Kaspersky Security для контейнеров.MINIO_ROOT_PASSWORD
- пароль пользователя MinIO, выделенного для Kaspersky Security для контейнеров.
Имена пользователей и пароли к ним также можно указать с помощью хранилища секретов Vault.
Пример настройки параметров внешнего файлового хранилища MinIO