Гайд по установке Kaspersky EDR Expert (on-premise) 8.0
Инструкция составлена на основе официальной документации и опыта эксплуатации
Часть 1. Типы установки
| Параметр |
Стандартная конфигурация (несколько узлов) |
Демонстрационная конфигурация (один узел) |
| СУБД PostgreSQL | Устанавливается вне кластера Kubernetes на отдельном сервере | Устанавливается на одном хосте с кластером Kubernetes |
| Минимальное количество узлов |
1 первичный + 3 рабочих узла + сервер СУБД + 1 узел администратора (опционально) |
1 узел (все компоненты на одном устройстве) + 1 узел администратора (опционально) |
| Назначение | Промышленная эксплуатация | Тестирование, демонстрация, обучение |
Роли узлов:
- Узел администратора - устройство с утилитой KDT (Kaspersky Deployment Toolkit) для развертывания и управления компонентами OSMP.
- Primary/master/controller/первичный рабочий узел - узел контроллера, осуществляющий управление кластером k0s.
- Worker/рабочий узел - узел кластера k0s с полезной нагрузкой.
- DB/СУБД - сервер с СУБД для кластера OSMP.
- KUMA services/устройство с сервисами KUMA - устройства с установленными сервисами KUMA: коллектор, коррелятор, хранилище (в случае KEDR входят в состав Kubernetes кластера).
- Целевые устройства - устройства, на которых устанавливается OSMP (все вышеперечисленные узлы)
Часть 2. Критические требования инфраструктуры
2.1. СУБД PostgreSQL
| Параметр | Требование |
| Версия | 15.7 или выше |
| Расположение | Вне кластера Kubernetes (стандартная конфигурация) |
| Привилегированная учётная запись | Требуется учётная запись с правами суперпользователя для создания баз данных во время развертывания |
| Поддержка кластеров | Поддерживается синхронная репликация (минимум 3 узла, максимум 15). |
| Дисковая подсистема | SSD/NVMe рекомендуется |
2.2. Сетевые требования
| Требование | Описание |
| Широковещательный домен | Все целевые устройства кластера Kubernetes должны находиться в одном широковещательном домене (одна L2-сеть) |
| Статические IPv4-адреса | Все узлы кластера и шлюз Kubernetes должны иметь статические IPv4-адреса в одной подсети |
| Синхронизация времени | Разница во времени между узлами не должна превышать 5 секунд (рекомендуется использовать NTP) |
| DNS | Должна быть настроена зона для домена smp_domain (например, smp.local) с записями для всех сервисов |
2.3. Аппаратные требования (минимальные)
| Компонент | Процессор | ОЗУ | Дисковая подсистема |
| Все компоненты на одном узле (демонстрационная конфигурация) | 12 ядер | 56 Гб | 600 Гб |
Для корректного развертывания решения убедитесь, что процессор целевого устройства (компонентов KEDR) поддерживает набор инструкций BMI, AVX и SSE 4.2.
2.4. Программные требования
Требования к программному обеспечению и поддерживаемым системам и платформам
| Операционная система | |
| Платформы виртуализации | |
| Система управления базами данных (СУБД) |
PostgreSQL 15.х 64-разрядная PostgreSQL 16.x 64-разрядная PostgreSQL 17.х 64-разрядная Postgres Pro 15.х (все редакции) 64-разрядная Postgres Pro 16.х (все редакции) 64-разрядная Postgres Pro 17.х (все редакции) 64-разрядная Postgres Pro 16.х Enterprise 64-разрядная (кластер Built-in High Availability). Postgres Pro 17 Enterprise 64-разрядная (кластер Built-in High Availability). |
Часть 3. Подготовка устройств
Отключайте файл подкачки (swap) в продуктовых средах
Устройство администратора:
- Установка обязательных пакетов на устройстве администратора:
sudo apt update
sudo apt install -y python3
Установите пакет для Docker версии 23 или выше, а затем выполните действия после установки, чтобы настроить устройство администрирования для правильной работы с Docker.
Пример:
Для Ubuntu:
# Удалите старые версии
sudo apt remove docker docker-engine docker.io containerd runc
# Установите зависимости
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
# Добавьте официальный GPG ключ Docker
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Добавьте репозиторий
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Установите Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Добавьте пользователя в группу
docker sudo usermod -aG docker $USER
# Настройте автозапуск
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
# Перезагрузитесь или выполните
newgrp docker
- Генерация SSH-ключа (без парольной фразы):
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
Скопируйте ключ на все целевые устройства:
ssh-copy-id username@<IP_целевого_устройства>
# Проверка подключения без пароля
ssh username@<IP_целевого_устройства> "sudo whoami"
При установке от учётной записи root убедитесь, что ключ на целевых устройствах располагается по пути /root/.ssh/*
Целевые устройства (OSMP):
- Проверка cgroup v2:
mount | grep cgroup
# Должно быть: cgroup2 on /sys/fs/cgroup type cgroup2
- Отключите SELinux (если установлен)
# Проверка статуса
getenforce
# Отключение (требуется перезагрузка)
sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
- Настройте proxy (если требуется)
# Отредактируйте /etc/environment
sudo nano /etc/environment
# Добавьте:
HTTP_PROXY="http://proxy.example.com:8080"
HTTPS_PROXY="http://proxy.example.com:8080"
NO_PROXY="localhost,127.0.0.1,<IP_адреса_узлов_кластера>"
- Настройте firewall (если используется)
# Разрешите SSH
sudo ufw allow 22/tcp
# Разрешите Kubernetes порты
sudo ufw allow 6443/tcp
sudo ufw allow 2379:2380/tcp
sudo ufw allow 10250/tcp
# Разрешите PostgreSQL порты
sudo ufw allow 5432/tcp
# Включите IP forwarding для primary/worker node
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sudo sysctl -p
Для отключения firewall'а выполните:
systemctl stop ufw
systemctl disable ufw
- Установка обязательных пакетов:
# Общие пакеты для всех узлов:
sudo apt update
sudo apt install -y sudo nfs-common tar wireguard wireguard-tools python3-apt
# Для первичного узла дополнительно:
sudo apt install -y curl
# Для рабочих узлов дополнительно:
sudo apt install -y libnfs12 iscsi-package
- Настройка беспарольного sudo:
# Для пользователя, который будет использоваться KDT:
echo "username ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
Это позволит учетной записи иметь возможность повышать привилегии (sudo) без ввода пароля
- Настройка синхронизации времени:
sudo timedatectl set-ntp true
- Настройка IP-переадресации (только для первичного узла с UFW):
# В файле /etc/default/ufw установите:
DEFAULT_FORWARD_POLICY="ACCEPT"
# Примените изменения:
sudo ufw reload
СУБД PostgreSQL:
- Установка обязательных пакетов:
sudo apt update
sudo apt install -y postgresql
- Настройка параметров в postgresql.conf:
nano /etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf
# Переопределите следующие параметры:
port = 5432
shared_buffers = 8GB # 25-40% от ОЗУ, минимум 3 ГБ
max_connections = 512
work_mem = 16MB
maintenance_work_mem = 128MB
max_stack_depth = 4096 # Для Linux: ulimit -s минус 1 МБ
temp_buffers = 24MB
max_parallel_workers_per_gather = 0
standard_conforming_strings = on # Обязательно должно быть 'on'
log_hostname = 1
- Разрешение удаленного подключения к СУБД:
nano /etc/postgresql/<ВЕРСИЯ>/main/pg_hba.conf
# В секции 'IPv4 local connections' переопределите значение:
host all all 0.0.0.0/0 scram-sha-256
- Перезапуск службы:
systemctl restart postgresql
- Создание привилегированной учётной записи:
# Подключитесь к PostgreSQL:
sudo -u postgres psql
# Создайте учётную запись с правами суперпользователя:
CREATE USER kaspersky_admin WITH PASSWORD 'StrongPassword123!' SUPERUSER;
Подготовка инфраструктуры:
1. Зарезервируйте IP-адрес из той же подсети, что и у серверов Primary/Worker. Адрес должен быть свободен и будет назначен в процессе установки (указывается в файле param.yaml в поле ingress_ip).
2. Добавьте в DNS-зону вашей организации (предпочтительно создать поддомен) следующие записи:
console.<smp_domain> <ingress_ip>
admsrv.<smp_domain> <ingress_ip>
api.<smp_domain> <ingress_ip>
monitoring.<smp_domain> <ingress_ip>
updater.<smp_domain> <ingress_ip>
agentserver.<smp_domain> <ingress_ip>
kuma.<smp_domain> <ingress_ip>
*.kuma.<smp_domain> <ingress_ip>
где, <smp_domain> - домен или поддомен вашей организации (данный домен должен быть указан в файле параметров (param.yaml) в одноименном поле smp_domain), а <ingress_ip> - зарезервированный IP из предыдущего пункта.
Обратите внимание, что для имени kuma необходимо создать wildcard (*) на DNS-сервере
Часть 4. Этапы установки
Подготовка файла param.yaml:
Для корректной работы KDT с конфигурационным файлом добавьте пустую строку в конце файла
Формат файла для стандартной конфигурации с сервисами KUMA внутри кластера
schemaType: ParameterSet
schemaVersion: 1.0.1
namespace: ""
name: bootstrap
project: xdr
nodes:
- desc: cdt-primary1
type: primary
host: "<IPv4_первичного_узла>"
access:
ssh:
user: "<имя_пользователя>" # По умолчанию root
key: "<путь_к_закрытому_ключу>" # По умолчанию /root/.ssh/id_rsa
- desc: cdt-w1
type: worker
host: "<IPv4_рабочего_узла_1>"
access:
ssh:
user: "<имя_пользователя>"
key: "<путь_к_закрытому_ключу>"
kind: admsrv # Сервер администрирования будет установлен на этом узле
- desc: cdt-w2
type: worker
host: "<IPv4_рабочего_узла_2>"
access:
ssh:
user: "<имя_пользователя>"
key: "<путь_к_закрытому_ключу>"
kuma_roles: ["storage"] # Хранилище закреплено за этим узлом
- desc: cdt-w3
type: worker
host: "<IPv4_рабочего_узла_3>"
access:
ssh:
user: "<имя_пользователя>"
key: "<путь_к_закрытому_ключу>"
parameters:
- name: psql_dsn
source:
value: "postgres://<dbms_username>:<password>@<fqdn_СУБД>:<порт_СУБД>" # Если пароль содержит спецсимволы, их необходимо привести к URI кодировке
- name: ingress_ip
source:
value: "<IPv4_шлюза_кластера_Kubernetes>" # Ранее зарезервированный ingress_ip
- name: ssh_pk
source:
path: "<путь_к_закрытому_ключу_на_устройстве_администратора>"
- name: admin_password
source:
value: "<пароль_учётной_записи_admin>"
- name: core_disk_request
source:
value: "512Gi"
- name: inventory
source:
value: "/dev/null" # Все сервисы KUMA будут внутри кластера Kubernetes
- name: license
source:
value: "<путь_к_лицензионному_ключу>" # Рекомендуется файл переименовать в license.key
- name: smp_domain
source:
value: "<доменное_имя>"
- name: pki_host_list
source:
value: "admsrv api console kuma monitoring agentserver updater"
- name: low_resources
source:
value: false
- name: nwc-language
source:
value: "ruRu" # Или "enUS"
- name: skip_preflight_checks
source:
value: false
- name: openbao_ha_mode
source:
value: true
Формат файла для демонстрационной конфигурации с сервисами KUMA внутри кластера
schemaType: ParameterSet
schemaVersion: 1.0.1
namespace: ""
name: bootstrap
project: xdr
nodes:
- desc: "single-node"
type: primary-worker
host: "<IPv4_единственного_узла>"
access:
ssh:
user: "<имя_пользователя>" # По умолчанию root
key: "<путь_к_закрытому_ключу>" # По умолчанию /root/.ssh/id_rsa
parameters:
- name: psql_dsn
source:
value: "postgres://<dbms_username>:<password>@<fqdn_СУБД_в_кластере>:<порт>" # Если пароль содержит спецсимволы, их необходимо привести к URI кодировке
- name: ingress_ip
source:
value: "<IPv4_шлюза_кластера_Kubernetes>" # Ранее зарезервированный ingress_ip
- name: ssh_pk
source:
path: "<путь_к_закрытому_ключу>"
- name: admin_password
source:
value: "<пароль_учётной_записи_admin>"
- name: inventory
source:
value: "/dev/null" # Все сервисы KUMA будут внутри кластера Kubernetes
- name: license
source:
value: "<путь_к_лицензионному_ключу>" # Рекомендуется файл переименовать в license.key
- name: smp_domain
source:
value: "<доменное_имя>"
- name: pki_host_list
source:
value: "admsrv api console kuma monitoring agentserver updater"
- name: low_resources
source:
value: true
- name: openbao_ha_mode
source:
value: false
- name: openbao_standalone
source:
value: true
- name: default_class_replica_count
source:
value: 1
Установка
1. Загрузите на устройство администратора следующие файлы:
bin.tar.gz- архив с утилитой KDT, используется для развертывания и изменения параметров инсталляцииxdr-<version>.tar.gz- транспортный архив с компонентами SMPlicense.key- ключ лицензии
2. Распакуйте архив bin.tar.gz
tar -xzf bin.tar.gz
3. Дайте файлу kdt права на выполнение: chmod +x ./kdt
4. Запустите установку командой:
./kdt apply -k <полный путь к транспортному архиву> -i <полный путь к файлу конфигурации param.yaml> --accept-eula
Часть 5. Базовые действия после установки
Первый вход в веб-интерфейс:
- Откройте в браузере https://console.<smp_domain>
- Войдите под учётной записью admin с паролем из параметра admin_password и завершите настройку 2FA.
Активация лицензии:
- В главном окне приложения нажмите на имя Сервера администрирования. Откроется окно свойств Сервера администрирования
- На вкладке Общие выберите раздел Лицензионные ключи
- В разделе Действующая лицензия нажмите на кнопку Выбрать
- В открывшемся окне выберите лицензионный ключ, который вы хотите использовать для активации Kaspersky EDR Expert (on-premise) 8.0. Если лицензионного ключа нет в списке, нажмите на кнопку Добавить лицензионный ключ и укажите новый лицензионный ключ
- Нажмите на кнопку Сохранить
Предоставление доступа к функционалу Kaspersky EDR:
- В главном окне приложения перейдите в Параметры, выберите раздел Тенанты и нажмите на Root tenant
- На вкладке Права доступа нажмите на кнопку Добавить пользователя
- Выберите пользователя admin и предоставьте ему роль Главный администратор
- Нажмите кнопку Сохранить и далее Сохранить и закрыть
Установка плагинов управления:
- Загрузите плагин управления конечным устройством для OSMP с расширением .tar на узел администратора
- Выполните установку командой:
./kdt apply -k <полный путь к tar-архиву с плагином управления>
Обновление баз Kaspersky EDR:
- В главном окне приложения перейдите в Параметры, выберите раздел Тенанты и нажмите на Root tenant
- На вкладке Параметры перейдите к Параметры сканирования и на вкладку Обновить базы
- Запустите обновление и дождитесь успешного статуса
Подключение Sandbox:
- В главном окне приложения перейдите в Параметры, выберите раздел Тенанты и нажмите на Root tenant
- На вкладке Параметры перейдите к Серверы Sandbox и нажмите кнопку Добавить
- Укажите IP-адрес KATA Sandbox 8 версии, получите отпечаток, задайте произвольное имя, нажмите кнопку Добавить
- В браузере перейдите и авторизуйтесь в веб-консоли Sandbox и примите запрос на подключение в разделе Авторизация
- В консоли OSMP дождитесь, что статус авторизации изменился на Одобрено и отобразились наборы виртуальных машин
Настройка политик для подключения телеметрии с конечных устройств:
- В главном окне приложения перейдите в Управление активами - Политики
- Создайте политику или откройте её свойства и перейдите в Параметры приложения
- Раскройте ветку Встроенные агенты и перейдите в параметры для Endpoint Detection and Response Expert (on-premise)
- Установите переключатель в статус ВКЛЮЧЕН. Установите переключатель замка, чтобы изменение применялось на конечном узле
- Выберите Endpoint Detection and Response Expert (версия 8.0 и выше)
- Для раздела Подключение к серверам сбора телеметрии нажмите кнопку Добавить и нажмите Выбрать сервер
- В открывшемся окне отметьте единственный сервер коллектора и нажмите кнопку Добавить
- Ниже повторите действия для указания сервера реагирования
- При необходимости настройте другие пункты политики и сохраните изменения
Настройка политик для подключения Sandbox к конечным устройствам:
- В главном окне приложения перейдите в Параметры, выберите раздел Тенанты и нажмите на Root tenant
- На вкладке Параметры перейдите к Сертификаты и нажмите кнопку Экспортировать
- В главном окне приложения перейдите в Управление активами - Политики
- Создайте политику или откройте её свойства и перейдите в Параметры приложения
- Раскройте ветку Встроенные агенты и перейдите в параметры для Sandbox
- Установите переключатель в статус ВКЛЮЧЕН. Установите переключатель замка, чтобы изменение применялось на конечном узле
- Выберите режим интеграции KATA Sandbox
- Для раздела Подключение к серверам Sandbox нажмите кнопку Добавить и укажите адрес сервера agentserver.<smp_domain>
- Нажмите Настройки подключения и загрузите экспортированный сертификат
- При необходимости настройте другие пункты политики и сохраните изменения
Базовая настройка завершена. Подключите совместимые приложения KES для Windows 12.11 и выше, KES для Linux 12.4, KES для Mac 12.2.1 и приступайте к работе с Kaspersky EDR Expert (on-premise).