Kaspersky Security Center Linux — Отказоустойчивый кластер
Kaspersky Security Center Linux — Отказоустойчивый кластер
Инструкция составлена на основе официальной документации и опыта эксплуатации.
Введение
Kaspersky Security Center Linux – решение (далее – «KSC») для централизованного мониторинга и управления KES и некоторыми другими защитными решениями Лаборатории Касперского.
KSC позволяет вам устанавливать приложения безопасности "Лаборатории Касперского" на устройства в корпоративной сети, удаленно запускать задачи проверки и обновления, а также управлять политиками безопасности управляемых приложений. Как администратор, вы можете использовать панель мониторинга, где показано актуальное состояние корпоративных устройств, отображаются подробные отчеты и детальные параметры политик.
Отказоустойчивый кластер KSC Linux обеспечивает высокую доступность Kaspersky Security Center Linux и минимизирует простои Сервера администрирования в случае сбоя. Отказоустойчивый кластер основан на двух идентичных экземплярах Kaspersky Security Center Linux, установленных на двух компьютерах. Один из экземпляров работает как активный узел, а другой – как пассивный. Активный узел управляет защитой клиентских устройств, в то время как пассивный готов взять на себя все функции активного узла в случае отказа активного узла. Когда происходит сбой, пассивный узел становится активным, а активный узел становится пассивным.
Схемы развертывания
Вы можете выбрать одну из следующих схем развертывания отказоустойчивого кластера Kaspersky Security Center Linux:
- Схема, которая использует дополнительный сетевой адаптер и СУБД, установленную на выделенном устройстве
Условные обозначения схемы:
на схеме развертывания. Сервер администрирования передает данные в базу данных. Откройте необходимые порты на устройстве, на котором расположена база данных, например порт 3306 для MySQL Server или порт 5432 для PostgreSQL или Postgres Pro. Подробную информацию см. в документации СУБД.
на схеме развертывания. Откройте следующие порты на устройствах с Сервером администрирования для подключения к управляемым устройствам: TCP 13000, UDP 13000 и TCP 17000.
на схеме развертывания. Устройство с системой управления базами данных (СУБД). Если вы используете MariaDB Galera Cluster в качестве СУБД, отдельное устройство для этой цели не требуется. Установите кластер MariaDB Galera на каждый из узлов.
- Схема, которая использует сторонний балансировщик нагрузки и СУБД, установленную на выделенном устройстве
Условные обозначения схемы:
на схеме развертывания. На сервере устройства балансировки нагрузки откройте все порты Сервера администрирования: TCP 13000, UDP 13000, TCP 13299 и TCP 17000.
на схеме развертывания. Откройте следующие порты на устройствах с Сервером администрирования для подключения к управляемым устройствам: TCP 13000, UDP 13000 и TCP 17000.
на схеме развертывания. Сервер администрирования передает данные в базу данных. Откройте необходимые порты на устройстве, на котором расположена база данных, например порт 3306 для MySQL Server или порт 5432 для PostgreSQL или Postgres Pro. Подробную информацию см. в документации СУБД.
на схеме развертывания. Устройство с системой управления базами данных (СУБД). Если вы используете MariaDB Galera Cluster в качестве СУБД, отдельное устройство для этой цели не требуется. Установите кластер MariaDB Galera на каждый из узлов.
Основные порты используемые KSC
Полный список используемых портов
| Порт | Процесс | Протокол | Функция |
|---|---|---|---|
| 8060 | klcsweb | TCP | Передача на клиентские устройства опубликованных инсталляционных пакетов |
| 8061 | klcsweb | TCP (TLS) | Передача на клиентские устройства опубликованных инсталляционных пакетов |
| 13000 | klserver | TCP (TLS) | Прием подключений от Агентов администрирования и от подчиненных Серверов администрирования; используется также на подчиненных серверах для приема подключений от главного Сервера (например, если подчиненный Сервер находится в демилитаризованной зоне) |
| 13000 | klserver | UDP | Прием информации от Агентов администрирования о выключении устройств |
| 13299 | klserver | TCP (TLS) | Прием подключений от Identity and Access Manager (IAM) к Серверу администрирования; прием подключений к Серверу администрирования через OpenAPI |
| 17000 | klactprx | TCP (TLS) | Прием подключений для активации приложений от управляемых устройств |
| 4444 | kliam | HTTPS | Аутентификация с использованием протокола OpenID Connect |
| 9050 | kliam | HTTPS | Подключение к Серверу администрирования с помощью IAM |
Развёртывание кластера KSC Linux
В рамках развёртывания кластера необходимо подготовить следующие устройства:
- 2 идентичных хоста на ОС Linux, на которые будет установлен KSC Linux для работы в режиме Active -Passive
- Отдельных хост с СУБД
- Хост с файловым сервером
- Хост, на который будет установлена веб-консоль KSC
- Внешний балансировщик (при выборе соответствующей схемы)
Полезные ссылки
Общий сценарий развёртывания кластера KSC Linux
Список поддерживаемых ОС и СУБД для KSC Linux
Аппаратные требования для KSC Linux и СУБД
Аппаратные и программные требования к веб-консоли KSC Linux
Требования к файловому серверу
Предварительная настройка устройств
Для корректного функционирования кластера KSC Linux необходимо выполнить следующие шаги на активном узле, пассивном узле и файловом сервере:
- Создать группу kladmins (можно назвать иначе)
sudo groupadd kladmins
sudo groupmod -g <новый_GID> kladmins
- Создайте учетную запись ksc (можно назвать иначе). Назначьте учетные записи пользователей группе kladmins
sudo adduser ksc
sudo usermod -u <новый_UID> ksc
sudo gpasswd -a ksc kladmins
sudo usermod -g kladmins ksc
- Аналогично создайте учетную запись пользователя rightless (можно назвать иначе), но уже с отличным от ksc UID. Назначьте учетные записи пользователей группе kladmins
sudo adduser rightless
sudo usermod -u <новый_UID> rightless
sudo gpasswd -a rightless kladmins
sudo usermod -g kladmins rightless
- Аналогично создайте учетную запись пользователя ksciam (можно назвать иначе), но уже с отличным от ksc и rightless UID. Назначьте учетные записи пользователей группе kladmins
sudo adduser ksciam
sudo usermod -u <новый_UID> ksciam
sudo gpasswd -a ksciam kladmins
sudo usermod -g kladmins ksciam
- Важно! GID для группы kladmins и UID для каждого из созданных пользователей (ksc, rightless и ksciam ) должны быть одинаковыми для всех 3-х устройств.
- Проверить GID и UID можно командами getent group kladmins и getent passwd <ksc, rightless или ksciam> соответственно
- Сменить GID и UID можно командами sudo groupmod -g <новый_GID> kladmins и sudo usermod -u <новый_UID> <ksc, rightless или ksciam> соответственно
Иллюстрация из исходного DOCX: Пример создания группы и пользователя
Развертывание файлового сервера
Файловый сервер необходим для синхронизации данных между активным и пассивным узлами отказоустойчивого кластера KSC Linux. :
- Доступ к файловому серверу должен быть включен для обоих узлов в параметрах NFS-сервера.
- NFS-протокол должен иметь версию 4.0 или 4.1.
- Минимальные требования для ядра Linux:
- 3.19.0-25, если вы используете NFS 4.0;
- 4.4.0-176, если вы используете NFS 4.1. Установите необходимые утилиты одной из следующих команд в зависимости от используемого дистрибутива Linux
sudo yum install nfs-utils
sudo apt install nfs-kernel-server
Далее необходимо создать две общие папки. Для хранения информации о состоянии отказоустойчивого кластера и для хранения данных и параметров KSC Linux.
- Важно! Имена папок должны быть /mnt/KlFocStateShare и /mnt/KlFocDataShare_klfoc. Поэтому проверьте, что на устройстве отсутствуют данные директории
- Для создания и настройки папок выполните команды:
- sudo mkdir -p /mnt/KlFocStateShare
- sudo mkdir -p /mnt/KlFocDataShare_klfoc
- sudo chown ksc:kladmins /mnt/KlFocStateShare
- sudo chown ksc:kladmins /mnt/KlFocDataShare_klfoc
- sudo chmod -R 770 /mnt/KlFocStateShare /mnt/KlFocDataShare_klfoc
- sudo sh -c "echo /mnt/KlFocStateShare *(rw,sync,no_subtree_check,no_root_squash) >> /etc/exports" (одной строкой)
- sudo sh -c "echo /mnt/KlFocDataShare_klfoc *(rw,sync,no_subtree_check,no_root_squash) >> /etc/exports" (одной строкой)
- sudo exportfs -a
- sudo systemctl start rpcbind
- sudo systemctl start nfs-server Для автозапуска выполните команду
sudo systemctl enable rpcbind
Перезапустите файловый сервер. После чего он будет подготовлен
Подготовка СУБД
Для работы отказоустойчивого кластера KSC Linux необходимо использовать СУБД на выделенном хосте. В данном руководстве рассмотрен пример с использованием СУБД Postgres. .
Необходимо настроить конфигурацию СУБД. Для этого перейдите в /etc/postgresql/<VERSION>/main/postgresql.conf и примените следующие параметры:
max_connections = 151
shared_buffers = #25% от объема оперативной памяти устройства, на котором установлена СУБД, если оперативной памяти меньше 1 ГБ, то необходимо оставить значение по умолчанию.
huge_pages = try
temp_buffers = 24MB
max_prepared_transactions = 0
work_mem = 16MB
maintenance_work_mem = 128 MB
max_stack_depth = 2MB #максимальный размер стека (например, можно получить это значение, выполнив команду 'ulimit -s’, показывает размер стека в КБ) минус 1 МБ
temp_file_limit = -1
fsync = on
max_parallel_workers_per_gather = 0
Иллюстрация из исходного DOCX: Пример заполнения postgresql.conf
Для работы KSC Linux версии 16.0 и выше на сервере СУБД необходимо наличие 2-х БД. kav – обеспечивает работу всех основных функций KSC Linux, iam – обеспечивает работу службы Identity and Access Manager.
Для KSC Linux 15.4 и ниже БД iam не нужна.
Для работы с этими БД рекомендуется создать отдельных пользователей СУБД. Например можно использовать интерактивный терминальный клиент psql для выполнения SQL-запросов.
Выполните следующие команды через клиент psql:
CREATE USER "kscdbadmin" WITH PASSWORD '<пароль>'; – для создания пользователя СУБД для БД kav
или
CREATE USER "kscdbadmin";
\password kscdbadmin – чтобы не вводить пароль в открытом виде
CREATE DATABASE "kav" ENCODING 'UTF8' OWNER "kscdbadmin"; – создание БД kav
Также выполните команды по выдаче прав для пользователя БД kav
GRANT ALL PRIVILEGES ON DATABASE "kav" TO "kscdbadmin";
GRANT USAGE ON SCHEMA public TO "kscdbadmin";
GRANT CREATE ON SCHEMA public TO "kscdbadmin";
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA "public" TO "kscdbadmin";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA "public" TO "kscdbadmin";
Затем необходимо повторить аналогичные действия для создания 2-й БД iam
CREATE USER "iamdbadmin" WITH PASSWORD '<пароль>';
CREATE DATABASE "iam" ENCODING 'UTF8' OWNER "iamdbadmin";
GRANT ALL PRIVILEGES ON DATABASE "iam" TO "iamdbadmin";
GRANT USAGE ON SCHEMA public TO "iamdbadmin";
GRANT CREATE ON SCHEMA public TO "iamdbadmin";
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA "public" TO "iamdbadmin";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA "public" TO "iamdbadmin";
Важно! При удалении KSC Linux БД iam не удаляется автоматически. Поэтому при удалении или переустановке KSC Linux необходимо удалить / пересоздать БД iam
Затем необходимо разрешить подключение к СУБД с внешних устройств. Перейдите к редактированию файла /etc/postgresql//<VERSION>/main/pg_hba.conf. Укажите возможность подключения к созданным базам данных kav и iam, а также к предустановленной БД postgres как на примере
Затем в файле /etc/postgresql/<VERSION>/main/postgresql.conf укажите возможность прослушивания внешних адресов
Перезапустите службу СУБД
Конфигурация общих папок
Для настройки связи узлов отказоустойчивого кластера KSC Linux с файловым сервером необходимо подключить к ним папки, созданные ранее. В зависимости от вашего дистрибутива Linux установите либо пакет nfs-utils, либо пакет nfs-kernel-server на каждом узле кластера, выполнив соответствующую команду:
yum install nfs-utils
apt install nfs-kernel-server
Создайте папки, которые будут точками монтирования:
mkdir -p /mnt/KlFocStateShare
mkdir -p /mnt/KlFocDataShare_klfoc
Сопоставьте точки монтирования и общие папки, указав их в /etc/fstab:
sudo sh -c "echo <адрес файлового сервера>:/mnt/KlFocStateShare /mnt/KlFocStateShare nfs vers=4,soft,timeo=50,retrans=2,auto,user,rw 0 0 >> /etc/fstab"
sudo sh -c "echo <адрес файлового сервера>:/mnt/KlFocDataShare_klfoc /mnt/KlFocDataShare_klfoc nfs vers=4,noauto,user,rw,exec 0 0 >> /etc/fstab"
Подключите общие папки, выполнив следующие команды:
mount /mnt/KlFocStateShare
mount /mnt/KlFocDataShare_klfoc
После этого разрешения на доступ к общим папкам принадлежат ksc:kladmins
Конфигурация сетевого адаптера / балансировщика
В зависимости от выбранной схемы развёртывания необходимо настроить сетевую инфраструктуру для возможности переключения между узлами кластера.
В любом из случаев вам пригодятся команды nmcli device status для вывода списка сетевых интерфейсов под управлением NetworkManager, nmcli con show для вывода списка сетевых подключений и ip a для идентификации сетевых интерфейсов.
На обоих узлах отказоустойчивого кластера необходимо:
- Если выбрана схема с виртуальными сетевым адаптером Установить пакет iputils-arping. В зависимости от вашего дистрибутива Linux выполните одну из следующих команд:
yum install iputils
apt install iputils-arping
Для создания виртуального сетевого интерфейса выполнить команду (одной строкой):
nmcli connection add type macvlan dev <физический интерфейс> mode bridge ifname <виртуальный интерфейс> ipv4.addresses <адрес с маской> ipv4.method manual autoconnect no
Имя виртуального интерфейса задаётся произвольно, но должно быть одинаково на обоих узлах кластера
- Если выбрана схема с физическим сетевым адаптером Установить пакет iputils-arping. В зависимости от вашего дистрибутива Linux выполните одну из следующих команд:
yum install iputils
apt install iputils-arping
На обоих узлах кластера на дополнительном сетевом адаптере укажите одинаковый ip-адрес любым удобным способом (через графический интерфейс, терминал) и переведите этот сетевой интерфейс в состояние DOWN командой ip link set <интерфейс> down
- Если выбрана схема с внешним балансировщиком
- Подготовьте выделенное Linux-устройство с установленным nginx или другим балансировщиком нагрузки;
- Настройте балансировку нагрузки. Установите активный узел в качестве основного сервера и пассивный узел в качестве резервного сервера;
- На сервере балансировщика откройте все
Важно! Доступность узлов отказоустойчивого кластера должна определяться доступностью основных портов подключения к Серверу администрирования (13000 TCP, 13299 TCP). Пассивный узел не принимает никаких внешних подключений, пока не произойдет переключение.
Установка KSC Linux
Установка KSC на активный узел кластера
Для начала установки KSC Linux скачайте необходимый дистрибутив KSC в зависимости от вашего дистрибутива Linux и выполните одну из команд:
sudo apt-get install /<path>/ksc64_<номер_версии>_amd64.deb
sudo yum install /<path>/ksc64-<номер_версии>.x86_64.rpm
Совет! Для удобства перед запуском скрипта postinstall.pl можно создать файл ответов answers.txt, в котором указать все необходимые значения для настройки активного узла кластера KSC Linux. Это поможет избежать ошибок установки из-за неточного ввода параметров после запуска скрипта postinstall.pl.
Для применения файла ответов выполните команду export KLAUTOANSWERS=/полный/путь/до/answers.txt (Важно! Обязательно указать именно полный путь)
Иллюстрация из исходного DOCX: Пример файла ответов
Затем запустите скрипт настройки /opt/kaspersky/ksc64/lib/bin/setup/postinstall.pl
- Примите условия Лицензионного соглашения – введите Y
- Примите условия Политики конфиденциальности – введите Y
- Выберите значение Основной узел кластера – введите 2
- Укажите локальный путь к точке монтирования общей папки состояния – введите /mnt/KlFocStateShare
- Укажите локальный путь к точке монтирования общей папки данных – введите /mnt/KlFocDataShare_klfoc
- Выберите режим подключения отказоустойчивого кластера: через дополнительный сетевой адаптер или внешний балансировщик нагрузки
- Если вы используете дополнительный сетевой адаптер, введите его имя (имя отображено в столбце NAME в выводе команды nmcli con show)
- Введите FQDN или IP-адрес дополнительного сетевого адаптера либо FQDN или IP-адрес внешнего балансировщика нагрузки
- Введите номер SSL-порта Сервера администрирования. По умолчанию номер порта – 13000
- Оцените примерное количество устройств, которыми вы планируете управлять:
- Если число управляемых устройств составляет от 1 до 100, введите 1
- Если число управляемых устройств составляет от 101 до 1000, введите 2
- Если число управляемых устройств составляет более 1000, введите 3
- Этот параметр используется для автоматического определения случайной задержки запуска задач в целях оптимизации нагрузки на сеть
- Введите имя группы безопасности для служб. В данном примере kladmins
- Введите имя учетной записи для запуска службы Сервера администрирования. В данном примере ksc
- Введите имя учетной записи, чтобы запустить другие службы. В данном примере ksc
- Выберите СУБД для работы с KSC. MySQL или MariaDB – 1, PostgreSQL или Postgres Pro SQL – 2
- Введите DNS-имя или IP-адрес устройства c СУБД
- Введите номер порта базы данных. По умолчанию 3306 для MySQL или MariaDB и 5432 для PostgreSQL или Postgres Pro
- Введите имя базы данных. В данном примере kav
- Введите имя учетной записи администратора базы данных. В данном примере kscdbadmin
- Введите пароль учетной записи администратора базы данных
- Введите FQDN сервера IAM (адрес самого KSC)
- Введите имя учетной записи для запуска службы IAM. В данном примере ksciam
- Выберите СУБД для работы с IAM. MySQL или MariaDB – 1, PostgreSQL или Postgres Pro SQL – 2
- Введите DNS-имя или IP-адрес устройства c СУБД
- Введите номер порта базы данных. По умолчанию 3306 для MySQL или MariaDB и 5432 для PostgreSQL или Postgres Pro
- Введите имя базы данных. В данном примере iam
- Введите имя учетной записи администратора базы данных. В данном примере iamdbadmin
- Введите пароль учетной записи администратора базы данных
- Подождите, пока службы добавятся и запустятся автоматически:
- klfocsvc_klfoc
- kladminserver_klfoc
- klwebsrv_klfoc
- klactprx_klfoc
- klnagent_klfoc
- kliam_klfoc Для добавления нового пользователя с ролью главный администратора воспользуйтесь командой:
sudo /opt/kaspersky/ksc64/sbin/kladduser -n <имя пользователя>
Установка KSC на пассивный узел кластера
Аналогично в зависимости от вашего дистрибутива Linux и выполните одну из команд:
sudo apt-get install /<path>/ksc64_<номер_версии>_amd64.deb
sudo yum install /<path>/ksc64-<номер_версии>.x86_64.rpm
Затем запустите скрипт настройки /opt/kaspersky/ksc64/lib/bin/setup/postinstall.pl
- Примите условия Лицензионного соглашения – введите Y
- Примите условия Политики конфиденциальности – введите Y
- Выберите значение Вторичный узел кластера – введите 3
- Укажите локальный путь к точке монтирования общей папки состояния – введите /mnt/KlFocStateShare Проверьте, что служба klfocsvc_klfoc активна на обоих узлах
systemctl status klfocsvc_klfoc
Иллюстрация из исходного DOCX: klfocsvc_klfoc на активном узле
Иллюстрация из исходного DOCX: klfocsvc_klfoc на пассивном узле
Установка Веб консоли KSC Linux
Дистрибутив можно скачать с
Веб консоль также будет необходимо установить на отдельный хост. Предварительно обязательно необходимо подготовить файл ответов /etc/ksc-web-console-setup.json. Подробные примеры заполнения представлены в
Для установки выполните одну из команд в зависимости от вашего дистрибутива Linux
sudo apt-get install ksc-web-console-<номер сборки>.x86_64.deb
sudo yum install ksc-web-console-<номер сборки>.x86_64.rpm
После завершения установки перезапустите все службы веб консоли KSC Linux
sudo systemctl restart KSC*
По результатам выполненных действий веб-консоль будет доступна по адресу и порту указанному в файле ответов.
Первоначальная настройка KSC Linux
Перейдите в браузере по адресу веб-консоли и войдите под ранее созданной УЗ. При первом входе будет необходимо принять пользовательское соглашение. После этого автоматически запустится Мастер первоначальной настройки.
Мастер выполнит первоначальную настройку для корректной работы KSC:
- Параметры подключения к интернету. Для сбора обновлений и дистрибутивов Серверу администрирования требуется выход в интернет, в зависимости от характеристик сети требуется выбрать подходящий вариант.
- Если доступ в интернет есть, после загрузки обновлений Мастер предложит загрузить доступные дистрибутивы.
- Из предложенного списка выберете типы устройств, участвующих в пилотном тестировании (в будущем можно будет загрузить недостающие дистрибутивы).
- В соответствии с законодательной базой необходимо выбрать доступный алгоритм шифрования (см. Постановление правительства от 16 апреля 2012 г. № 313).
- Также выбрать из перечня плагины для управляемых программ, которые необходимо использовать.
- После чего мастер автоматически загрузит недостающие плагины с серверов Лаборатории Касперского
- Укажите параметры работы выбранных приложений и примите лицензионные соглашения KSN для них
- Выберите удобный вариант активации продукта, либо выберите «Добавить лицензионный ключ позже». Особенности – для активации кодом требуется выход в интернет, зато он включает в себя сразу все программные продукты, но в изолированных сегментах возможно только использование ключа.
- Мастер самостоятельно создаст критически важные задачи для корректной работы KSC Linux.
- В случае, если требуется получать нотификации на почту, необходимо указать параметры SMTP сервера. В противном случае можно указать параметр «Не использовать TLS» из выпадающего списка и пропустить этот шаг.
- На этом завершается работа мастера первоначальной настройки, перенастроить параметры можно заново запустив мастер или точечно, в интересующем разделе. На этом этапе отказоустойчивый кластер настроен для работы и подключения устройств

