Руководство по установке и настройке KPSN 4.0
Введение
Руководство описывает процесс установки и настройки ОС Ubuntu 24.04 LTS, оркестратор K3s и Helm.
Данный документ будет содержать описание следующих этапов:
- Процесс установки и первичной конфигурации Ubuntu 24.04 LTS.
- Процесс установки Helm и оркестратора K3s с отключенным компонентом traefik, а также рекомендации по объединению нескольких серверов в Kubernetes-кластер.
- Процесс установки серверной части KPSN.
- Процесс установки веб-плагина и интеграции KPSN с KSC.
- Процесс интеграции KPSN с KSC, KATA\KEDR, KSMG.
Заранее ознакомьтесь с аппаратными характеристиками под KPSN, чтобы выделить соответствующие ресурсы: https://support.kaspersky.com/help/KPSN/4.0/ru-RU/200773.htm.
Загрузите образ Ubuntu 24.04 ISO с официальной страницы загрузки: https://ubuntu.com/download/server, и смонтируйте к подготовленной виртуальной машине, или подготовьте установочный носитель и подключите его к системе, на которую хотите установить ОС.
Список портов для работы KPSN
Порты, которые требуется открыть для работы Kaspersky Private Security Network на серверах, предназначенных для установки серверной части Kaspersky Private Security Network: https://support.kaspersky.com/help/KPSN/4.0/ru-RU/200762.htm
Установка Ubuntu 24.04 LTS
Установка Ubuntu 24.04 LTS
После загрузки образа вы увидите GRUB меню. По умолчанию выбрана опция “Try or Install Ubuntu Server”. Нажмите Enter.
На приветственном окне выберите язык и нажмите Enter.

Выберите предпочтительную раскладку или оставьте по умолчанию и нажмите Готово
Выберите комбинацию клавиш для смены языка и нажмите ОК
Ознакомьтесь с выбранным типом установки и нажмите Готово
Настройте минимум один сетевой интерфейс, перейдя на него стрелками и выбрав Edit IPv4 
В IPv4 методе выберите Вручную для настройки статической адресации, поскольку мы настраиваем сервер
Заполните поля и нажмите кнопку Сохранить и далее кнопку Готово
Укажите параметры прокси для доступа в интернет, либо оставьте поле пустым и нажмите Готово
Установщик выполнит проверку зеркала, обновив индекс пакетов. Вы можете указать альтернативное зеркало и по завершению нажать Готово
На этом этапе установщик предложит вам настроить разделы диска. Для простоты оставьте по умолчанию и нажмите Готово
На таблице разделов перейдите к разделу USED DEVICES и откройте DEVICE: ubuntu-lv на редактирование
Отредактируйте раздел, добавим ему всё свободное пространство и нажмите Сохранить, а далее нажмите Готово
Примечание: если вы оставили всё по умолчанию и продолжили установку, то расширьте диск уже после установки путем выполнения команд (после потребуется перезагрузка сервера):
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
В появившемся окне нажмите Продолжить, чтобы записать изменения на диск
Далее создайте пользователя, задайте ему пароль и укажите имя сервера. По завершению нажмите Готово
Если вы не имеете подписку на услугу Ubuntu Pro, то оставьте параметры без изменения и нажмите Продолжить
Можете заранее выбрать установку OpenSSH server, который позволит удаленно подключаться на сервер по SSH, и нажать кнопку Готово
На следующем шаге установщик предлагает выбрать избранные приложения. Этот шаг можно пропустить и нажать Готово
Далее начнется установка ОС. По завершению появится кнопка Перезагрузить сейчас

После перезагрузки раскомментируйте строку Port 22 в конфигурационном файле sshd_config. После этого вы можете подключаться к серверу по SSH
sudo nano /etc/ssh/sshd_config
sudo systemctl restart ssh
Переименуйте сервер на FQDN
sudo hostnamectl set-hostname <name>.<domain>
Пример: sudo hostnamectl set-hostname kpsn.demo.lab
В большинстве дистрибутивов Linux значение параметра fs.inotify.max_user_instances по умолчанию может приводить к зависанию некоторых подов в состоянии постоянного перезапуска, рекомендуется увеличить значение этого параметра на каждом узле KSPN, выполнив следующую команду:
sysctl -w fs.inotify.max_user_instances=8192
Установка Helm и оркестратор K3s
Установка Helm и оркестратор K3s
- Для установки Helm воспользуйтесь командой:
sudo snap install helm --classic - Для установки оркестратора K3s с отключенным компонентом traefik воспользуйтесь командой:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --disable=traefik" sh -
Примечание: если планируется установка KPSN с резервированием или распределенная установка компонентов по нескольким серверам, то верхняя команда выполняется на мастер-узле
(Опционально) для добавления сервера в Kubernetes-кластер, то необходимо выполнить команду на хосте, который необходимо добавить в кластер:
curl -sfL https://get.k3s.io | K3S_URL=https://<master-ip>:6443 K3S_TOKEN=<master-node-token> sh -
Токен мастер узла: /var/lib/rancher/k3s/server/node-token
Установка серверной части KPSN
Установка серверной части KPSN
Установка серверной части KPSN1. Загрузите tar.gz архив с KPSN на подготовленный сервер
scp %HOMEPATH%\Downloads\kpsn_install-4.0.<build>.tar.gz <ubuntu_user>@<ip_ubuntu>:/home/<ubuntu_user>
2. Подключитесь к серверу и извлеките архив
tar xvf $HOME/kpsn_install-4.0.<build>.tar.gz
3. Перейдите в каталог images и загрузите образы для Kubernetes
cd $HOME/kpsn_install-4.0.<build>/images/
4. Запустите:
sudo ./download_external_images.sh
Если вы видите похожую ошибку (встречается до 4.0.3.527, включительно):
INFO[0000] trying next host - response was http.StatusNotFound host=registry-1.docker.io
ctr: failed to resolve reference "docker.io/bitnami/prometheus:3.4.0-debian-12-r0": docker.io/bitnami/prometheus:3.4.0-debian-12-r0: not found
+ ctr image pull --platform linux/amd64 docker.io/bitnami/prometheus:3.4.0-debian-12-r0
docker.io/bitnami/prometheus:3.4.0-debian-12-r0: resolving |--------------------------------------|
elapsed: 0.7 s total: 0.0 B (0.0 B/s)
INFO[0000] trying next host - response was http.StatusNotFound host=registry-1.docker.io
ctr: failed to resolve reference "docker.io/bitnami/prometheus:3.4.0-debian-12-r0": docker.io/bitnami/prometheus:3.4.0-debian-12-r0: not foundЗамените содержимое скрипта на это:
download_external_images.sh
#!/usr/bin/env bash
set -ex
ctr image pull --platform linux/amd64 "docker.io"/library/registry:2.8.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/library/registry:2.8.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 registry-2.8.3.tar "docker.io"/library/registry:2.8.3 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/prometheus:3.4.0-debian-12-r0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/prometheus:3.4.0-debian-12-r0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/prometheus:3.4.0-debian-12-r0 docker.io/bitnami/prometheus:3.4.0-debian-12-r0
ctr image export --platform linux/amd64 prometheus-3.4.0-debian-12-r0.tar "docker.io"/bitnami/prometheus:3.4.0-debian-12-r0 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/prometheus-operator:0.82.2-debian-12-r1 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/prometheus-operator:0.82.2-debian-12-r1 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/prometheus-operator:0.82.2-debian-12-r1 docker.io/bitnami/prometheus-operator:0.82.2-debian-12-r1
ctr image export --platform linux/amd64 prometheus-operator-0.82.2-debian-12-r1.tar "docker.io"/bitnami/prometheus-operator:0.82.2-debian-12-r1 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/alertmanager:0.28.1-debian-12-r6 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/alertmanager:0.28.1-debian-12-r6 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/alertmanager:0.28.1-debian-12-r6 docker.io/bitnami/alertmanager:0.28.1-debian-12-r6
ctr image export --platform linux/amd64 alertmanager-0.28.1-debian-12-r6.tar "docker.io"/bitnami/alertmanager:0.28.1-debian-12-r6 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/grafana/loki:3.4.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/grafana/loki:3.4.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 loki-3.4.2.tar "docker.io"/grafana/loki:3.4.2 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/nginxinc/nginx-unprivileged:1.27-alpine $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/nginxinc/nginx-unprivileged:1.27-alpine $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 nginx-unprivileged-1.27-alpine.tar "docker.io"/nginxinc/nginx-unprivileged:1.27-alpine $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/library/memcached:1.6.38-alpine $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/library/memcached:1.6.38-alpine $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 memcached-1.6.38-alpine.tar "docker.io"/library/memcached:1.6.38-alpine $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/prom/memcached-exporter:v0.15.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/prom/memcached-exporter:v0.15.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 memcached-exporter-v0.15.2.tar "docker.io"/prom/memcached-exporter:v0.15.2 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/grafana/loki-canary:3.5.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/grafana/loki-canary:3.5.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 loki-canary-3.5.0.tar "docker.io"/grafana/loki-canary:3.5.0 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "quay.io"/minio/minio:RELEASE.2024-12-18T13-15-44Z $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "quay.io"/minio/minio:RELEASE.2024-12-18T13-15-44Z $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 minio-RELEASE.2024-12-18T13-15-44Z.tar "quay.io"/minio/minio:RELEASE.2024-12-18T13-15-44Z $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "quay.io"/minio/mc:RELEASE.2024-11-21T17-21-54Z $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "quay.io"/minio/mc:RELEASE.2024-11-21T17-21-54Z $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 mc-RELEASE.2024-11-21T17-21-54Z.tar "quay.io"/minio/mc:RELEASE.2024-11-21T17-21-54Z $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/kiwigrid/k8s-sidecar:1.30.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/kiwigrid/k8s-sidecar:1.30.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 k8s-sidecar-1.30.3.tar "docker.io"/kiwigrid/k8s-sidecar:1.30.3 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/grafana/promtail:3.0.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/grafana/promtail:3.0.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 promtail-3.0.0.tar "docker.io"/grafana/promtail:3.0.0 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/postgresql-repmgr:12.20.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/postgresql-repmgr:12.20.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/postgresql-repmgr:12.20.0 docker.io/bitnami/postgresql-repmgr:12.20.0
ctr image export --platform linux/amd64 postgresql-repmgr-12.20.0.tar "docker.io"/bitnami/postgresql-repmgr:12.20.0 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/os-shell:12-debian-12-r43 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/os-shell:12-debian-12-r43 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/os-shell:12-debian-12-r43 docker.io/bitnami/os-shell:12-debian-12-r43
ctr image export --platform linux/amd64 os-shell-12-debian-12-r43.tar "docker.io"/bitnami/os-shell:12-debian-12-r43 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/pgpool:4.6.0-debian-12-r8 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/pgpool:4.6.0-debian-12-r8 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/pgpool:4.6.0-debian-12-r8 docker.io/bitnami/pgpool:4.6.0-debian-12-r8
ctr image export --platform linux/amd64 pgpool-4.6.0-debian-12-r8.tar "docker.io"/bitnami/pgpool:4.6.0-debian-12-r8 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/postgres-exporter:0.17.1-debian-12-r7 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/postgres-exporter:0.17.1-debian-12-r7 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/postgres-exporter:0.17.1-debian-12-r7 docker.io/bitnami/postgres-exporter:0.17.1-debian-12-r7
ctr image export --platform linux/amd64 postgres-exporter-0.17.1-debian-12-r7.tar "docker.io"/bitnami/postgres-exporter:0.17.1-debian-12-r7 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/nats:2.11.4 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/nats:2.11.4 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/nats:2.11.4 docker.io/bitnami/nats:2.11.4
ctr image export --platform linux/amd64 nats-2.11.4.tar "docker.io"/bitnami/nats:2.11.4 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/nats-exporter:0.17.3-debian-12-r1 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/bitnamilegacy/nats-exporter:0.17.3-debian-12-r1 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image tag docker.io/bitnamilegacy/nats-exporter:0.17.3-debian-12-r1 docker.io/bitnami/nats-exporter:0.17.3-debian-12-r1
ctr image export --platform linux/amd64 nats-exporter-0.17.3-debian-12-r1.tar "docker.io"/bitnami/nats-exporter:0.17.3-debian-12-r1 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "docker.io"/curlimages/curl:8.13.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "docker.io"/curlimages/curl:8.13.0 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 curl-8.13.0.tar "docker.io"/curlimages/curl:8.13.0 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "registry.k8s.io"/ingress-nginx/controller:v1.12.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "registry.k8s.io"/ingress-nginx/controller:v1.12.2 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 controller-v1.12.2.tar "registry.k8s.io"/ingress-nginx/controller:v1.12.2 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS
ctr image pull --platform linux/amd64 "registry.k8s.io"/ingress-nginx/kube-webhook-certgen:v1.5.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS || ctr image pull --platform linux/amd64 "registry.k8s.io"/ingress-nginx/kube-webhook-certgen:v1.5.3 $KPSN_CTR_PULL_ADDITIONAL_OPTIONS
ctr image export --platform linux/amd64 kube-webhook-certgen-v1.5.3.tar "registry.k8s.io"/ingress-nginx/kube-webhook-certgen:v1.5.3 $KPSN_CTR_EXPORT_ADDITIONAL_OPTIONS5. Перейдите в каталог charts и загрузите графики
cd $HOME/kpsn_install-4.0.<build>/charts/
6. Запустите:
./download_external_charts.sh
Если вы столкнулись с ошибкой загрузки (встречается до 4.0.3.527, включительно), то замените содержимое скрипта на это:
download_external_charts.sh
#!/usr/bin/env bash
set -ex
helm pull --repo "https://twuni.github.io/docker-registry.helm" docker-registry --version 2.2.3 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull --repo "https://twuni.github.io/docker-registry.helm" docker-registry --version 2.2.3 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull "oci://registry-1.docker.io"/"bitnamicharts"/kube-prometheus --version 11.1.13 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull "oci://registry-1.docker.io"/"bitnamicharts"/kube-prometheus --version 11.1.13 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull --repo "https://grafana.github.io/helm-charts" loki --version 6.29.0 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull --repo "https://grafana.github.io/helm-charts" loki --version 6.29.0 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull --repo "https://grafana.github.io/helm-charts" promtail --version 6.16.6 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull --repo "https://grafana.github.io/helm-charts" promtail --version 6.16.6 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull "oci://registry-1.docker.io"/bitnamicharts/postgresql-ha --version 16.0.0 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull "oci://registry-1.docker.io"/bitnamicharts/postgresql-ha --version 16.0.0 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull "oci://registry-1.docker.io"/"bitnamicharts"/nats --version 9.0.18 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull "oci://registry-1.docker.io"/"bitnamicharts"/nats --version 9.0.18 $KPSN_HELM_ADDITIONAL_OPTIONS
helm pull --repo "https://kubernetes.github.io/ingress-nginx" ingress-nginx --version 4.12.2 $KPSN_HELM_ADDITIONAL_OPTIONS || helm pull --repo "https://kubernetes.github.io/ingress-nginx" ingress-nginx --version 4.12.2 $KPSN_HELM_ADDITIONAL_OPTIONS7. Отредактируйте файл hosts (sudo nano /etc/hosts), добавив туда строку:
127.0.0.1 ksn-repo
8. Создайте файл /etc/rancher/k3s/registries.yaml, если он еще не существует. Добавьте в него следующие строки, соблюдая увеличение отступа на два пробела в начале каждой строки:
mirrors:
"ksn-repo:31000":
endpoint:
- "http://ksn-repo:31000"9. Добавьте прав на файл k3s.yaml
sudo chmod 755 /etc/rancher/k3s/k3s.yaml
10. Создайте в домашнем каталоге директорию .kube, скопируйте туда и переименуйте конфиг k3s.yaml и смените права на своего пользователя ubuntu
mkdir $HOME/.kube
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
sudo chown <user_ubuntu>:<user_group_ubuntu> config
11. Запустите установку, приняв лицензионное соглашение
cd $HOME/kpsn_install-4.0.<build>/
Запустите: ./install.sh --accept-eula
12. После успешной установки, скопируйте утилиту kpsnctl в каталог /usr/local/bin
sudo cp $HOME/kpsn_install-4.0.<build>/kpsnctl /usr/local/bin
На этом установка серверной части завершена
Установка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSNУстановка веб-плагина KSC и интеграция с KPSN
Установка веб-плагина KSC и интеграция с KPSN
Установка веб-плагина KSC и интеграция с KPSN
1. Авторизуйтесь в веб-консоли сервера KSC и перейдите в раздел Параметры > Веб-плагины
Примечание: при интеграции и последующей работе с KPSN через веб-консоль сервера администрирования, избегайте учетные записи содержащие кириллицу.
2. Из комплекта поставки извлеките архив, чтобы получить plugin.zip и signature.txt. В веб-консоли KSС нажмите кнопку Добавить из файла, укажите эти файлы и нажмите кнопку Добавить. Подождите или перезапустите страницу, чтобы увидеть, что плагин установился.
3. Перейдите в раздел Устройства > Задачи и запустите загрузку обновлений в хранилище Сервера Администрирования (по итогам выполнения появятся новые разделы в веб-консоли KSC)
4. Далее перейдите в Приложения и службы > KPSN > Параметры и нажмите кнопку Настроить KPSN
5. В открывшемся мастере настройки ознакомьтесь с последующими шагами и нажмите кнопку Далее
6. В открывшемся окне экспортируйте CSR, нажав соответствующую кнопку, и загрузите его на серверную часть KPSN.
Для загрузки на серверную часть KPSN можете воспользоваться командой:
scp %HOMEPATH%\Downloads\kpsn-plugin-csr.pem <username>@<IP_KPSN>:/home/<user_name>/
После скачивания CSR не обновляйте страницу. В противном случае, вам необходимо повторно скачать CSR.
7. На серверной части KPSN выполните команды:
kpsnctl certs rotate ca
kpsnctl generate-integration-file --client-csr $HOME/kpsn-plugin-csr.pem --external-hostname <FQDN_KPSN> > $HOME/integration.json
8. Получившийся интеграционный файл (integration.json) импортируйте в поле в веб-консоли KSC и нажмите Далее

9. На этом шаге импортируйте активационный архив, полученный от Лаборатории Касперского и нажмите Далее
10. Выберите компоненты для установки, ознакомьтесь с системными требованиями и нажмите Далее

Примечание: максимальное количество экземпляров каждого компонента соответствует количеству серверов в кластере Kubernetes. Компоненты Gateway External и Gateway Internal могут существовать только в одном экземпляре.
11. На этом шаге ещё раз ознакомьтесь с количеством выбранных компонентов и нажмите кнопку Установить. После успешной установки нажмите кнопку Далее.
12. А шаге пять создайте ключ, чтобы обеспечить шифрованное соединение продуктов Лаборатории Касперского с KPSN, или импортируйте существующий. Нажмите Далее.
13. На шаге добавления идентификатора установки, укажите имя (уникальный идентификатор для Лаборатории Касперского), IP или URL адреса для внутреннего (локального) доступа и\или внешнего (за пределами сети)

Примечание: не используйте тестовое название, потому что имя установки невозможно изменить в дальнейшем. Введенное здесь значение будет использоваться для будущих обновлений.
14. На седьмом шаге проверьте указанные параметры конфигурации. При необходимости вернитесь назад и исправьте недочеты. Если всё корректно, нажмите Далее.
По завершению нажмите кнопку Завершить установку и запустить KPSN. На этом этапе установка KPSN полностью завершена.
В разделе Приложения и службы > KPSN > Параметры убедитесь, что выбранные к установке компоненты активны
Примечание: во вкладке Параметры вы можете указать параметры корпоративного прокси-сервера для получения обновлений баз KPSN.
Перейдите в раздел Приложения и службы > KPSN > Журнал обновления баз и убедитесь, что базы обновляются
(Опционально) Настройка однонаправленного шлюза
(Опционально) Настройка однонаправленного шлюза
Однонаправленный шлюз требуется настроить так, чтобы он для каждого необходимого потока передавал файлы из директории /var/kpsn/gateway_external/<имя потока>/data, расположенной на сервере с компонентом Gateway External, в директорию /var/kpsn/gateway_external/<имя потока>/data, расположенную на сервере с компонентом Gateway Internal, а затем удалял переданные файлы с сервера с компонентом Gateway External. Структуру вложенных директорий при передаче файлов следует сохранять, поэтому удалять нужно именно файлы, а не директории. Перемещение файлов следует производить атомарно.
Примечание: передаваемые файлы должны иметь права 0666.
Если однонаправленный шлюз поддерживает настройку порядка передачи файлов, рекомендуется передавать их в лексикографическом порядке.
Для интеграции KPSN c другими решениями Лаборатории Касперского перейдите в раздел Приложения и службы > KPSN > Параметры и нажмите кнопку Скачать конфигурационные файлы этого экземпляра KPSN.
Интеграция KPSN с KSC
Интеграция KPSN с KSC
1. Для интеграции с KSC извлеките архив с конфигурационными файлами KPSN.
2. В веб-консоли KSC перейдите в свойства Сервера Администрирования
3. Во вкладке Общие перейдите в раздел Параметры прокси-сервера KSN.
Активируйте параметр Включить прокси-сервер KSN на Сервере администрирования
Активируйте параметр Использовать Kaspersky Private Security Network (неактивен, пока не отключите параметр Использовать Kaspersky Security Network).
Нажмите на кнопку Файл с параметрами прокси-сервера KSN и укажите конфигурационный файл с расширение .PKCS7
4. Примите пользовательское соглашение KPSN
5. После принятия EULA вы увидите свои данные
При необходимости прямого доступа к KPSN, активируйте параметр Игнорировать параметры прокси-сервера для подключения к Локальному KSN
Интеграция KPSN с KATA\KEDR
Интеграция KPSN с KATA\KEDR
1. Для интеграции с KATA\KEDR извлеките архив с конфигурационными файлами KPSN и переименуйте их следующим образом:
client_config.xms > kc_private.xms
helper_config.xms > kh_private.xms
keystore.dat > ksncli_private.dat
2. В веб-консоли KATA\KEDR авторизуйтесь под учетной записью с ролью Администратор, перейдите в Параметры > KSN/KPSN и MDR и переключите тип подключения в KPSN

3. Добавьте файлы поочередно в Central Node и нажмите Применить
4. Перейдите в раздел Мониторинг и подождите несколько минут. Если не поступило никаких предупреждений связанных с KSN/KPSN, то интеграция завершена успешно
Для KATA 7+
На 7 версии KATA создайте скрипт:
#!/bin/bash
check_iptables_rule() {
local pid=$1
local rule="$2"
nsenter -t "$pid" -n iptables-save | grep -F -- "-A OUTPUT $rule" > /dev/null
}
add_iptables_rule() {
local pid=$1
nsenter -t "$pid" -n iptables -A OUTPUT -p tcp --dport 1443 -j ACCEPT
echo "[OK] Rule added for PID $pid at $(date)"
}
get_container_pid() {
docker inspect "$(docker ps -f "name=$1" -q)" -f "{{.State.Pid}}" 2>/dev/null
}
RULE="-p tcp -m tcp --dport 1443 -j ACCEPT"
CONTAINER_NAME="ksn_proxy"
PID=$(get_container_pid "$CONTAINER_NAME")
if [ -n "$PID" ]; then
if check_iptables_rule "$PID" "$RULE"; then
echo "[INFO] Rule already exists for container '$CONTAINER_NAME'."
else
echo "[ACTION] Adding rule for container '$CONTAINER_NAME'..."
add_iptables_rule "$PID"
fi
else
echo "[SKIP] Container '$CONTAINER_NAME' is not running at $(date)"
fiДайте прав на исполнение:
chmod +x /home/admin/kpsn.sh
И добавьте в crontab задачу:
crontab -e
*/5 * * * * /home/admin/kpsn.sh > /dev/null 2>&1
(Опционально) выполнение следующих действий позволит сохранять информацию об обнаружениях компонента Sandbox в локальную репутационную базу KPSN:
1. В веб-консоли KSC перейдите в раздел Приложения и службы > KPSN > Параметры > Доступ к API и нажмите Получить сертификат для API
2. Извлеките полученный архив и подготовьте файлы client_certificate.pem и private_key.pem
3. В веб-консоли KATA\KEDR авторизуйтесь под учетной записью с ролью Администратор, перейдите в Параметры > Репутационная база KPSN и укажите FQDN KPSN, а также сертификат и ключ из ранее полученного архива. После добавления нажмите кнопку Применить.
4. Авторизуйтесь под учетной записью с ролью Старшего офицера безопасности, перейдите в Параметры > Репутационная база KPSN и включите присвоение обнаруженным объектам статуса «Недоверенный»
Интеграция KPSN с KSMG
Интеграция KPSN с KSMG
1. Для интеграции с KSMG извлеките архив с конфигурационными файлами KPSN.
2. В веб-консоли KSMG авторизуйтесь под учетной записью Administrator, перейдите в Параметры > Внешние службы > KSN/KPSN. Переключитесь в Параметры KSN/KPSN и переключите использование KSN/KPSN на KPSN
3. Нажмите кнопка Обзор, укажите конфигурационный файл с расширение .PKCS7 и нажмите Сохранить
Для проверки статуса перейдите в раздел Узлы и убедитесь, что состояние соединения с KSN/KPSN – Без ошибок