Задача: Хочу разобрать как при использовании системы мониторинга Zabbix 6.2
на Ubuntu 22.04 Server
осуществлять связь с агентом на Ubuntu 22.04 Server
использую PSK
-шифрование. Нужно то для того чтобы обезопасить снимаемые данные, да и усложнить все настраиваемое в организации дабы если тот, кто придет на Ваше место не был в шоколаде. Просто как показывает мой больной опыт системного администрирования никто никогда не рассказывает, что и как настроено, а только поверхностно и все приходится разбирать самим.
Что потребуется для задумки:
Создать две виртуальные машины на тестовом полигоне под управлением Debian 10 + Proxmox 6.4-13
(у меня так), сеть использую 172.33.33.0/24
Система Ubuntu 22.04 + установленная на нее система мониторинга Zabbix 6.2
Еще одна система Ubuntu 22.04 на которую я буду устанавливать агент.
Шаг №1:
Выполнено развертывание системы мониторинга (Zabbix 6.2)
на Ubuntu 22.04 Server
опираясь на заметку "Устанавливаем Zabbix 6.2 + Nginx on Ubuntu 22.04 Server"
IP: 172.33.33.112
Login: Admin
Pass: zabbix
Шаг №2:
Развернута еще одна система Ubuntu 22.04
на которую устанавливаю Zabbix
агент и связываю его с Zabbix
—сервером:
IP: 172.33.33.113
ekzorchik@srv-client:~$ wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-1+ubuntu22.04_all.deb ekzorchik@srv-client:~$ sudo dpkg -i zabbix-release_6.2-1+ubuntu22.04_all.deb ekzorchik@srv-client:~$ sudo apt-get update ekzorchik@srv-client:~$ sudo apt install -y zabbix-agent ekzorchik@srv-client:~$ sudo cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.backup ekzorchik@srv-client:~$ sudo nano /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DebugLevel=3 AllowKey=system.run[*] LogRemoteCommands=1 Server=127.0.0.1,172.33.33.112 ServerActive=127.0.0.1,172.33.33.112 Hostname=srv-bionic Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 ekzorchik@srv-client:~$ sudo systemctl enable zabbix-agent Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent ekzorchik@srv-client:~$ ekzorchik@srv-client:~$ sudo systemctl restart zabbix-agent && sudo systemctl status zabbix-agent | head -n 5 ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-09-29 09:16:32 MSK; 18ms ago Process: 13194 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 13196 (zabbix_agentd) ekzorchik@srv-client:~$ ekzorchik@srv-client:~$ sudo ss -ltp | grep zabbix LISTEN 0 4096 0.0.0.0:zabbix-agent 0.0.0.0:* users:(("zabbix_agentd",pid=13202,fd=4),("zabbix_agentd",pid=13201,fd=4),("zabbix_agentd",pid=13200,fd=4),("zabbix_agentd",pid=13199,fd=4),("zabbix_agentd",pid=13198,fd=4),("zabbix_agentd",pid=13197,fd=4),("zabbix_agentd",pid=13196,fd=4)) LISTEN 0 4096 [::]:zabbix-agent [::]:* users:(("zabbix_agentd",pid=13202,fd=5),("zabbix_agentd",pid=13201,fd=5),("zabbix_agentd",pid=13200,fd=5),("zabbix_agentd",pid=13199,fd=5),("zabbix_agentd",pid=13198,fd=5),("zabbix_agentd",pid=13197,fd=5),("zabbix_agentd",pid=13196,fd=5)) ekzorchik@srv-client:~$
Шаг №3:
Генерируем ключ PSK
и изменяем конфигурационный файл Zabbix Agent
на работу с ключом – этот ключ нужно будет указывать при добавлении хоста с Zabbix Agent
в Zabbix Server:
ekzorchik@srv-client:~$ sudo bash -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk" ekzorchik@srv-client:~$ sudo bash -c "cat /etc/zabbix/zabbix_agentd.psk" 474245161181b610d614e79cff937f95772abbd9c53b16b755349956caf153e5 ekzorchik@srv-client:~$ sudo chown zabbix:zabbix /etc/zabbix/zabbix_agentd.psk ekzorchik@srv-client:~$ sudo chmod 700 /etc/zabbix/zabbix_agentd.psk ekzorchik@srv-client:~$ sudo nano /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DebugLevel=3 AllowKey=system.run[*] LogRemoteCommands=1 Server=127.0.0.1,172.33.33.112 ServerActive=127.0.0.1,172.33.33.112 Hostname=srv-bionic Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 TLSConnect=psk TLSAccept=psk TLSPSKIdentity=srv-client TLSPSKFile=/etc/zabbix/zabbix_agentd.psk ekzorchik@srv-client:~$ sudo systemctl restart zabbix-agent && sudo systemctl status zabbix-agent | head -n 5 ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-09-29 09:21:34 MSK; 15ms ago Process: 14153 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 14155 (zabbix_agentd) ekzorchik@srv-client:~$
Шаг №4:
Добавляю хост с Zabbix Agent
и psk
ключом на Zabbix Server:
http://172.33.33.112 - Username&Password (Admin:zabbix) - Sign In - Configuration - Hosts - Create Host
вкладка Host
Host name: srv-client
Templates: нажимаю Select, (Template group) нажимаю Select, (Template groups) нажимаю Templates/Operating system, отмечаю галочкой Linux by Zabbix agent и нажимаю Select
Host groups: GRP_US_2204 (если не создана, то набираем и выбираем new)
Interfaces: Add - Agent
IP address: 172.33.33.113
Connect to: IP
Port: 10050
Enabled: Отмечаю галочкой
Ниже скриншот как выглядит вкладка Host
перехожу на вкладку Encryption
Connections to host: PSK
Connections from host: PSK
PSK identity: srv-client
PSK: а сюда вставляем содержимое sudo bash -c "cat /etc/zabbix/zabbix_agentd.psk", которое проделывали выше на системе Ubuntu 22.04 Server на которую установили Zabbix клиент.
Ниже скриншот для наглядного понимания, как это выглядит:
и после нажимаю Add
Шаг №5:
Добавленный хост в систему мониторинга Zabbix 6.2
выглядит как:
http://172.33.33.112 - Username&Password (Admin:zabbix) - Sign In - Configuration - Hosts -
так что не получилось, внимательно читаю информационное сообщение если навести указатель мыши на красную иконку ZBX
Get value from agent failed: TCP successful, cannot establish TLS to [[172.33.33.113]:10050]: SSL_connect() set result code to SSL_ERROR_SSL: file ../ssl/record/rec_layer_s3.c line 1584 func ssl3_read_bytes: error:0A000410:SSL routines::sslv3 alert handshake failure: SSL alert number 40: TLS read fatal alert "handshake failure"
проверил zabbix_agentd.conf
и обнаружил что у меня в параметре TLSPSKIdentity=
указано неправильно имя хоста, было srv-bionic
, изменил на srv-client
и перезапустив сервис Zabbix
-агента проверяю что теперь в Hosts
на Zabbix
-сервере:
ekzorchik@srv-client:~$ sudo nano /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DebugLevel=3 AllowKey=system.run[*] LogRemoteCommands=1 Server=127.0.0.1,172.33.33.112 ServerActive=127.0.0.1,172.33.33.112 Hostname=srv-bionic Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 TLSConnect=psk TLSAccept=psk TLSPSKIdentity=srv-client TLSPSKFile=/etc/zabbix/zabbix_agentd.psk ekzorchik@srv-client:~$ sudo systemctl restart zabbix-agent && sudo systemctl status zabbix-agent | head -n 5 ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-09-29 09:39:36 MSK; 14ms ago Process: 14196 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 14198 (zabbix_agentd) ekzorchik@srv-client:~$
Отметил хост srv-client
, нажал Enable
и буквально сразу же обновился статус добавленного хоста:
Шаг №6:
Проверяю на Zabbix
сервер в Web
—интерфейсе какие и есть ли собираемые данный через агента для хоста srv-client:
http://172.33.33.112 - Username&Password (Admin:zabbix) - Sign In - Monitoring - Latest data -
Hosts: Select, Select,
захожу в группуGRP_US_2204
и отмечаю галочкойsrv-client
, нажимаюSelect
и нажимаю Apply
вот получаемые данные с агента задействую шаблон при использовании шифровании трафика
Если так присмотреться к получаемым данным, то можно ни заметить, что данные идут за действуя шифрование, но так интереснее, плюс Вы как системный администратор становитесь более опытным чем Ваши коллеги, которые просто отсиживают рабочий день.
Итого заметка работоспособна и будет в последствии применяться. С уважением автор блога Олло Александр aka ekzorchik.