85cecf78f6313ba2f756285dc1769da4617f3710
Co-authored-by: Cursor <cursoragent@cursor.com>
Salt baseline для PMG
Репозиторий содержит автономный набор Salt states для базовой эксплуатации и hardening Proxmox Mail Gateway.
Что внутри
top.sls— привязка состояний к minion ID.pillar/pmg.sls— переменные и параметры PMG.pmg/*.sls— состояния:common(базовые пакеты),ssh_hardening,custom_check(кастомная AV-проверка PMG через KESL),security_agents(Wazuh/Qualys),update(пакетные обновления + pre/post проверки PMG),auto_updates(security-only, без auto reboot),audit_logging,pmg_baseline(проверка/поддержание сервисов PMG),verify(проверки состояния).
pmg/files/*— шаблоны конфигов.
Требования
- Salt (рекомендуется актуальная LTS-ветка).
- Debian/PMG узлы с systemd.
- root-доступ на узел.
Быстрый запуск
make lint
make check
make apply
make verify
make update-check
make update
По умолчанию MINION_ID=p-mailgw-x2-01.lmru.tech. Можно переопределить:
make check MINION_ID=p-mailgw-x1-01.lmru.tech
Основные переменные
Все параметры задаются в pillar/pmg.sls:
pmg.base_packagespmg.ssh_allow_userspmg.ssh_password_authenticationpmg.journald_system_max_usepmg.journald_max_file_secpmg.pmg_servicespmg.update_dist_upgradepmg.update_auto_rebootpmg.update_reboot_delay_minutespmg.custom_check.*pmg.manage_hosts_filepmg.hosts_file_entriespmg.wazuh.*pmg.qualys.*
Отдельное обновление PMG
Перед обновлением:
make update-check MINION_ID=p-mailgw-x1-01.lmru.tech
Применение:
make update MINION_ID=p-mailgw-x1-01.lmru.tech
make verify MINION_ID=p-mailgw-x1-01.lmru.tech
State pmg.update выполняет:
- precheck кластера (
pmgcm status); - precheck критичных PMG сервисов;
- пакетное обновление (
pkg.uptodate, сdist_upgradeпоpmg.update_dist_upgrade=true); - postcheck кластера и сервисов;
- уведомление, если требуется reboot (
/var/run/reboot-required). - опциональный автоперезапуск по
pmg.update_auto_reboot=true(черезshutdown -r +N).
PMG custom check (Kaspersky)
Коротко про pmg.custom_check:
- готовит окружение (
pwgen,/var/log/mail_av,/usr/local/bin/pmg-custom-check); - готовит Kaspersky-учетку (
pmg.custom_check.ksc_superuser.*; сейчасsuperuser+NOPASSWD); - если
kesl/klnagent64установлены — включает сервисы иcustom_checkв PMG, если нет — выводит уведомление "ставится через Kaspersky Administration Center"; сервисы включатся вторым прогоном после установки пакетов.
Languages
SaltStack
65.9%
Jinja
28.8%
Makefile
3%
Shell
2.3%