Add cluster join functionality and Kaspersky agent configuration to PMG. Updated Makefile for cluster bootstrap command, enhanced README with new service details, and modified pillar states for KESL and KLN agent integration. Added verification and management for cluster-only services in Salt states.
This commit is contained in:
@@ -55,6 +55,8 @@ make check MINION_ID=p-mailgw-x1-01.lmru.tech
|
||||
- `pmg.node_exporter.*`
|
||||
- `pmg.smtp_monitoring.*`
|
||||
- `pmg.pmg_services`
|
||||
- `pmg.pmg_cluster_only_services`
|
||||
- `pmg.cluster_join.*`
|
||||
- `pmg.update_dist_upgrade`
|
||||
- `pmg.update_auto_reboot`
|
||||
- `pmg.update_reboot_delay_minutes`
|
||||
@@ -62,6 +64,8 @@ make check MINION_ID=p-mailgw-x1-01.lmru.tech
|
||||
- `pmg.manage_hosts_file`
|
||||
- `pmg.hosts_file_entries`
|
||||
- `pmg.wazuh.*`
|
||||
- `pmg.kesl.*`
|
||||
- `pmg.klnagent.*`
|
||||
- `pmg.qualys.*`
|
||||
|
||||
`pmg.node_exporter.args` по умолчанию включает textfile collector:
|
||||
@@ -73,6 +77,27 @@ make check MINION_ID=p-mailgw-x1-01.lmru.tech
|
||||
- recent window counters (`pmg.smtp_monitoring.log_window_seconds`) по логам postfix:
|
||||
sent, received, deferred, bounced, rejected, tls failures, smtp connections.
|
||||
|
||||
`pmg.cluster_join` делает:
|
||||
- precheck passwordless SSH с новой ноды на `pmg.cluster_join.master_ip`;
|
||||
- non-interactive `pmgcm join` при заданном `pmg.cluster_join.password`.
|
||||
|
||||
Важно: `pmgcm join` использует пароль PMG (`root@pam` на master) для получения ticket
|
||||
(это не SSH-пароль). Без `pmg.cluster_join.password` state делает skip-уведомление.
|
||||
|
||||
Рекомендуется передавать пароль через переменную окружения (без сохранения в `pillar/pmg.sls`):
|
||||
|
||||
```bash
|
||||
export PMG_CLUSTER_JOIN_PASSWORD='***'
|
||||
PILLAR_B64="$(python3 -c 'import json, os, base64; print(base64.b64encode(json.dumps({\"pmg\": {\"cluster_join\": {\"password\": os.environ[\"PMG_CLUSTER_JOIN_PASSWORD\"]}}}).encode()).decode())')"
|
||||
ssh root@p-mailgw-x1-02.lmru.tech "cd /root/mailgw-salt && salt-call --local --id p-mailgw-x1-02.lmru.tech --file-root=. --pillar-root=./pillar state.apply pmg.cluster_join pillar=\"\$(python3 -c \"import base64; print(base64.b64decode(\\\"${PILLAR_B64}\\\").decode())\")\""
|
||||
```
|
||||
|
||||
Для полностью автоматического bootstrap SSH-доверия (без паролей) с управляющей машины:
|
||||
|
||||
```bash
|
||||
make cluster-bootstrap MINION_ID=p-mailgw-x1-02.lmru.tech MASTER_HOST=p-mailgw-x1-01.lmru.tech MASTER_IP=10.80.38.152
|
||||
```
|
||||
|
||||
## Отдельное обновление PMG
|
||||
|
||||
Перед обновлением:
|
||||
@@ -105,3 +130,13 @@ State `pmg.update` выполняет:
|
||||
(по умолчанию: `/var/spool/pmg`, `/var/lib/clamav`, `/tmp/.proxdump_*`) и делает
|
||||
`systemctl restart kesl` только при изменении этих настроек;
|
||||
- если `kesl/klnagent64` установлены — включает сервисы и `custom_check` в PMG, если нет — выводит уведомление "ставится через Kaspersky Administration Center"; сервисы включатся вторым прогоном после установки пакетов.
|
||||
|
||||
`pmg.security_agents` дополнительно ставит/настраивает `kesl` и `klnagent64`:
|
||||
- для `kesl`:
|
||||
- скачивает `.deb` из `pmg.kesl.package_url`;
|
||||
- формирует `autoinstall.ini` и запускает `/opt/kaspersky/kesl/bin/kesl-setup.pl --autoinstall=...`;
|
||||
- поднимает сервис `kesl`;
|
||||
- скачивает `.deb` из `pmg.klnagent.package_url`;
|
||||
- формирует файл ответов `KLAUTOANSWERS` (минимум: `KLNAGENT_SERVER`,
|
||||
`KLNAGENT_AUTOINSTALL`, `EULA_ACCEPTED`);
|
||||
- устанавливает/переустанавливает пакет в тихом режиме и поднимает сервис `klnagent64`.
|
||||
|
||||
Reference in New Issue
Block a user