Если необходимо шифровать соединение между агентом и сервером нам потребуется включить шифрование. Можно использовать шифрование по сертификату или по PSK (ключу Pre-Shared Key). В этом примере я рассмотрю именно PSK, т.к. это на мой взгляд самый удобный способ шифрования: ключ сгенерировать легко и просто, так же можно использовать несколько ключей.
Если у нас Linux или что-то подобное - нам повезло, ставим агента при помощи apt, rpm и прочих удобных штук, агент уже идет со всеми необходимыми библиотеками. Если Windows - придется немного поработать руками. Загружаем агента отсюда: https://www.zabbix.com/download_agents при этом нам нужна версия с поддержкой шифрования (в поле Encryption должно быть написано OpenSSL).
Распаковываем агента в папку, например C:\Zabbix
[Устарело, официальный агент уже слинкован со всеми библиотеками]
Теперь нам нужны библиотеки OpenSSL. Самое лучшее - взять вот отсюда https://support.zabbix.com/browse/ZBXNEXT-3047 уже собранный агент Zabbix. Т.к. у них версии агентов часто довольно старенькие, можно брать последнюю версию - из нее мы и выковыряем библиотеки. Вытаскиваем из архива файлы libcrypto-1_1.dll, libssl-1_1.dll и msvcr120.dll в нашу папку C:\Zabbix
Оригинал: https://www.zabbix.com/documentation/current/ru/manual/encryption/using_pre_shared_keys
For example, a 256-bit (32 bytes) PSK can be generated using the following commands: with OpenSSL: $ openssl rand -hex 32 af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429 with GnuTLS: $ psktool -u psk_identity -p database.psk -s 32 Generating a random key for user 'psk_identity' Key stored to database.psk $ cat database.psk psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb Note that “psktool” above generates a database file with a PSK identity and its associated PSK. Zabbix expects just a PSK in the PSK file, so the identity string and colon (':') should be removed from the file.
Полученный ключ сохраняем в файл zabbix_agentd.psk и копируем его в C:\Zabbix
Добавляем в файл zabbix_agentd.conf настройки шифрования:
TLSConnect=psk TLSAccept=psk TLSPSKIdentity=PSK001 TLSPSKFile=C:\Zabbix\zabbix_agentd.psk
Установка в качестве службы:
zabbix_agentd.exe --config "C:\Zabbix\conf\zabbix_agentd.conf" --install
Запуск:
net start "Zabbix Agent"
Остановка:
net stop "Zabbix Agent"
Удаление службы:
zabbix_agentd.exe --uninstall
Заходим в настройки хоста (Configuratino → Hosts → ваш_хост) и открываем закладку Encyption. Заполняем поля:
Применяем настройки, запускаем агент и смотрим логи - все должно заработать.