PoC-гайд по установке 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: коллектор, коррелятор, хранилище.
- Целевые устройства - устройства, на которых устанавливается 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.
- Генерация 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):
- Установка обязательных пакетов:
# Общие пакеты для всех узлов:
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> - домен или поддомен вашей организации (данный домен также должен быть указан в файле параметров в одноименно поле smp_domain), а <ingress_ip> - зарезервированный IP из предыдущего пункта.
Обратите внимание, что для имени kuma необходимо создать wildcard (*) на DNS-сервере