Гайд: настройка локального сервера обновлений Kaspersky Endpoint Security 12.4 для Linux

Настройка локального сервера обновлений баз Kaspersky Endpoint Security 12.4 for Linux: три варианта источников (KSC, HTTP/NFS/SMB), команды kesl-control, диагностика.

2026.11.14                  


Гайд: настройка локального сервера обновлений Kaspersky Endpoint Security 12.4 для LinuxГайд: настройка локального сервера обновлений Kaspersky Endpoint Security 12.4 для Linux В KES for Linux 12.4 изменилась схема параметров задачи обновления._instructions из старых статей (в т.ч. из базы знаний «Как настроить локальную папку в качестве источника обновлений», где используется SourceType=Custom + CustomSources.item_0000.URL) в 12.4 не работают — именно на этом спотыкаются люди на форуме с KESL 12.4.0‑1225.

Версия Как задаётся источник
12.0 – 12.3 параметр верхнего уровня SourceType + секции [CustomSources.item_#] (URL, Enabled) + UseKLServersWhenUnavailable
12.4 только секции [Sources.item_#], внутри каждой: Enabled, SourceType, URL. Параметра UseKLServersWhenUnavailable больше нет



Значения SourceType в 12.4:

KLServers (серверы ЛК, по умолчанию), SCServer (Сервер администрирования KSC в вашей сети), Custom (свой источник — адрес задаётся в URL). Предустановленная задача — Update, ID:6.


Рабочая команда «в одну строку» (HTTP‑зеркало в локалке):

sudo kesl-control --set-settings 6 \
  Sources.item_0000.Enabled=Yes \
  Sources.item_0000.SourceType=Custom \
  Sources.item_0000.URL=http://192.168.10.20/Updates/
sudo kesl-control --start-task 6 -W --progress

1. Выбор схемы: что считать «сервером обновлений в локальной сети»

Поддерживаются: серверы ЛК, хранилище Сервера администрирования KSC, локальная/сетевая папка (SMB/NFS), смонтированная пользователем, FTP/HTTP/HTTPS‑сервер.

Сценарий Что ставить в SourceType Когда применять
A. KSC как источник SCServer есть KSC + Агент администрирования на хосте (централизованная схема)
B. Своё HTTP/HTTPS/FTP‑зеркало Custom + URL=http://host/Updates/ много Linux‑хостов, нужен один внутренний «сервер баз»
C. Общая папка SMB/NFS или локальный каталог Custom + URL=/mnt/kesl-bases/ изолированный сегмент, файлопомойка, флешка

Если приложение работает в режиме Лёгкого агента (KSVLA), базы приходят из каталога на SVM — эта настройка не применяется.


2. Подготовка (общая для всех вариантов)

sudo kesl-control --app-info            # версия, применена ли политика KSC, состояние баз
sudo kesl-control --get-task-list       # убедиться, что задача Update имеет ID 6
sudo kesl-control --get-settings 6      # ТЕКУЩАЯ схема параметров вашего билда

Вывод --get-settings 6 в 12.4 по умолчанию выглядит так:

ConnectionTimeout=10
ApplicationUpdateMode=DownloadOnly
[Sources.item_0000]
Enabled=Yes
SourceType=KLServers
URL=

Если хост под политикой KSC — локальные правки kesl-control будут перетёрты политикой/групповой задачей. Настраивайте источник централизованно (раздел 6) либо снимайте «замок» с параметра в политике.


3. Вариант A. Сервер администрирования KSC как источник

На хосте:

sudo kesl-control --set-settings 6 \
  Sources.item_0000.Enabled=Yes \
  Sources.item_0000.SourceType=SCServer \
  Sources.item_0000.URL=

На стороне KSC:

  1. Задача «Загрузка обновлений в хранилище Сервера администрирования» — качает пакет в репозиторий (расписание: каждые N часов).
  2. Групповая задача «Обновление» для KESL: источник — Kaspersky Security Center.
  3. В расписании групповой задачи выберите «При загрузке обновлений в хранилище» — клиенты обновятся сразу после появления свежего пакета.

Плюс схемы: минимум внешнего трафика и централизованный мониторинг.


4. Вариант B. Своё зеркало баз в LAN (HTTP/HTTPS/FTP)

4.1. Наполняем зеркало — Kaspersky Update Utility 4

На машине‑«ретрансляторе» (с интернетом или с доступом к KSC):

mkdir -p /opt/kaspersky/kuu && cd /opt/kaspersky/kuu
tar -xvf /tmp/kuu4.*_x86_64_ru.tar.gz
chown -R root:root ./

В updater.ini:

[ComponentSettings]
KasperskyEndpointSecurityForLinux_12_4_0=true

MoveToCurrentFolder=false
MoveToCustomFolder=true
UpdatesFolder=/var/opt/kaspersky/kuu
DownloadLocalizations=ru; en

Запуск и автоматизация (консольная версия, GUI не нужен):

./uu-console.sh -s -u -t -r          # первый запуск: принять EULA/PP/KSN
# cron: каждые 4 часа
*/4 * * * * /opt/kaspersky/kuu/uu-console.sh --accepteula --acceptprivacypolicy --acceptksn -u



Результат — каталог Updates (например /var/opt/kaspersky/kuu/Updates). Именно его целиком и нужно отдавать клиентам: указывать подпапку с отдельными файлами нельзя.


Если KUU качает не с серверов ЛК, а из хранилища KSC Linux 15.3+, используйте файл retranslation_request.xml и включите в задаче загрузки флажок «Загружать обновления, используя старую схему».


Публикуем каталог (nginx):

server {
    listen 80;
    server_name kesl-mirror.corp.local;
    root /srv/kesl-mirror;
    location /Updates/ {
        autoindex on;
        allow 192.168.0.0/16;
        deny all;
    }
}
rsync -a --delete-after --delay-updates /var/opt/kaspersky/kuu/Updates/ /srv/kesl-mirror/Updates/
chmod -R a+rX /srv/kesl-mirror
# SELinux (RHEL/Alma/RED OS):
semanage fcontext -a -t httpd_sys_content_t "/srv/kesl-mirror(/.*)?"; restorecon -Rv /srv/kesl-mirror
curl -I http://kesl-mirror.corp.local/Updates/     # проверка доступности

4.2. Настройка клиента

sudo kesl-control --set-settings 6 \
  Sources.item_0000.Enabled=Yes \
  Sources.item_0000.SourceType=Custom \
  Sources.item_0000.URL=http://kesl-mirror.corp.local/Updates/ \
  ConnectionTimeout=20

FTP — аналогично: URL=ftp://192.168.10.20/Updates/.


HTTPS:

Нужна корректная цепочка сертификатов; самоподписанный сертификат допустим только как корневой и должен быть добавлен в доверенные на устройстве (Debian/Astra: /usr/local/share/ca-certificates/ + update-ca-certificates; RHEL‑семейство: /etc/pki/ca-trust/source/anchors/ + update-ca-trust).


5. Вариант C. Сетевая папка SMB/NFS или локальный каталог

KESL не монтирует шары сам — путь в URL должен быть уже смонтирован в ОС.

sudo mkdir -p /mnt/kesl-bases

/etc/fstab:

# NFS
192.168.10.20:/srv/kesl-mirror/Updates /mnt/kesl-bases nfs  ro,_netdev,soft,timeo=100 0 0
# SMB/CIFS
//fileserver/kesl-bases /mnt/kesl-bases cifs ro,_netdev,credentials=/etc/kesl-bases.cred,vers=3.0,iocharset=utf8 0 0
sudo chmod 600 /etc/kesl-bases.cred     # username= / password= / domain=
sudo systemctl daemon-reload && sudo mount -a && ls /mnt/kesl-bases

sudo kesl-control --set-settings 6 \
  Sources.item_0000.Enabled=Yes \
  Sources.item_0000.SourceType=Custom \
  Sources.item_0000.URL=/mnt/kesl-bases/

Нюансы:

Каталог должен читаться учётной записью, под которой работает KES (root); на Astra Linux со включённым мандатным контролем проверьте метки/уровень доступа к каталогу; для того чтобы воспользоваться офлайн‑версией, достаточно просто скопировать Updates на флешку и укажите путь её монтирования.


6. Несколько источников и приоритеты (правильный способ — через файл)

sudo kesl-control --get-settings 6 --file /root/update.ini
sudo nano /root/update.ini
ConnectionTimeout=15
ApplicationUpdateMode=DownloadOnly

[Sources.item_0000]
Enabled=Yes
SourceType=Custom
URL=http://kesl-mirror.corp.local/Updates/

[Sources.item_0001]
Enabled=Yes
SourceType=SCServer
URL=

[Sources.item_0002]
Enabled=No
SourceType=KLServers
URL=
sudo kesl-control --set-settings 6 --file /root/update.ini

Источники перебираются сверху вниз по индексу item_#, обновление берётся с первого доступного; ConnectionTimeout (0–120 с, по умолчанию 10) — время ожидания ответа перед переходом к следующему.


Изолированный сегмент:

Jставьте включённым только локальный источник, KLServers — Enabled=No. В 12.4 отдельного «фолбэка» UseKLServersWhenUnavailable нет — резервный источник задаётся отдельной секцией.




Хотя бы один источник должен быть Enabled=Yes.

  • ApplicationUpdateMode: Disabled / DownloadOnly (по умолчанию) / DownloadAndInstall — режим автопатчей самого приложения.
  • Сброс к заводским: sudo kesl-control --set-settings 6 --set-to-default.

Через KSC (Web Console / Консоль администрирования):

Cвойства задачи Обновление → Параметры приложения → Источники обновлений → вариант «Другие источники в локальной или глобальной сети» → Добавить → путь/URL (должен совпадать с тем, что настроен в KUU) → флажок «Использовать этот источник» → порядок кнопками Вверх/Вниз → Сохранить. Там же задаются таймаут и режим автопатчей.


7. Расписание и автоустановка

# каждые 6 часов, со случайным разбросом до 30 минут
sudo kesl-control --set-schedule 6 RuleType=Hourly StartTime="03:00:00;6" RandomInterval=30
sudo kesl-control --get-schedule 6

RuleType: Manual, Once, Minutely, Hourly, Daily, Weekly, Monthly, PS (после старта приложения), BR (после обновления баз).


При развёртывании «с нуля» источник задаётся в файле первоначальной настройки (autoinstall.ini):

UPDATER_SOURCE=http://kesl-mirror.corp.local/Updates/
UPDATE_EXECUTE=Yes

UPDATER_SOURCE принимает SCServer, KLServers или адрес своего источника; UPDATE_EXECUTE=Yes запускает обновление сразу при установке.


8. Проверка и диагностика

sudo kesl-control --get-settings 6                 # источник реально записан?
sudo kesl-control --start-task 6 -W --progress     # запуск с выводом событий и прогресса
sudo kesl-control --get-task-state 6
sudo kesl-control --app-info                       # «Дата последнего выпуска баз приложения», «Базы приложения загружены»
sudo kesl-control -E --query "EventType == 'TaskStateChanged'" -n 50 --reverse

Трассировка при упорных ошибках:

sudo kesl-control --set-app-settings TraceLevel=Detailed   # файлы: /var/log/kaspersky/kesl
# после диагностики: TraceLevel=None

Симптом Причина / решение
Ошибка «неизвестный параметр» на SourceType=Custom, CustomSources... синтаксис 12.0–12.3. В 12.4 — Sources.item_0000.SourceType=Custom, Sources.item_0000.URL=...
Задача стартует, но базы не обновляются указан не тот каталог: нужен весь Updates со служебными файлами; для HTTP — завершающий /; проверьте curl/ls
Всё равно тянет с серверов ЛК включённый item_# с KLServers стоит выше или локальный Enabled=No; в изолированной сети выключите KLServers
Настройки «откатываются» назад активна политика KSC / групповая задача — правьте в политике
«Источник недоступен» на SMB/NFS шара не смонтирована на момент запуска (_netdev, automount, проверка монтирования перед задачей)
Ошибка сертификата HTTPS неполная цепочка / self-signed не корневой — добавьте корневой в доверенные
Долгие таймауты увеличьте ConnectionTimeout (0 = без ограничения)
Permission denied на HTTP/каталоге права a+rX, контекст SELinux httpd_sys_content_t, мандатные метки Astra

Откат баз, если новое обновление ломает работу: предустановленная задача Rollback (параметров не имеет) — sudo kesl-control --get-task-list, затем --start-task <ID Rollback>.


9. Шпаргалка

# KSC:
kesl-control --set-settings 6 Sources.item_0000.Enabled=Yes Sources.item_0000.SourceType=SCServer Sources.item_0000.URL=
# HTTP-зеркало:
kesl-control --set-settings 6 Sources.item_0000.Enabled=Yes Sources.item_0000.SourceType=Custom Sources.item_0000.URL=http://host/Updates/
# Папка (SMB/NFS/локальная):
kesl-control --set-settings 6 Sources.item_0000.Enabled=Yes Sources.item_0000.SourceType=Custom Sources.item_0000.URL=/mnt/kesl-bases/
# Проверка:
kesl-control --get-settings 6 && kesl-control --start-task 6 -W --progress && kesl-control --app-info



Источники (справка KESL 12.4, актуальна на ноябрь 2026):

  • Параметры задачи Обновление (CLI): https://support.kaspersky.ru/kes-for-linux/12.4.0/264104
  • Параметры по умолчанию Update (ID:6): https://support.kaspersky.ru/kes-for-linux/12.4.0/197292
  • Команды управления параметрами задач: https://support.kaspersky.ru/kes-for-linux/12.4.0/264318
  • Обновление через KUU: https://support.kaspersky.ru/kes-for-linux/12.4.0/264970
  • Настройка в Web Console: https://support.kaspersky.ru/kes-for-linux/12.4.0/265018
  • Параметры первоначальной настройки: https://support.kaspersky.ru/kes-for-linux/12.4.0/197289
  • Расписание задач: https://support.kaspersky.ru/kes-for-linux/12.4.0/261123
  • KUU 4 для Linux из командной строки: https://support.kaspersky.ru/kuu4-for-linux/howto/15702

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта