====== Zabbix - включаем шифрование для Агента (Agent Encryption) ====== Если необходимо шифровать соединение между агентом и сервером нам потребуется включить шифрование. Можно использовать шифрование по сертификату или по 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 ===== Создаем ключ PSK ===== Оригинал: 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 Если в процессе удаления/установки службы возникает сообщение "zabbix_agentd.exe [416]: ERROR: cannot create service [Zabbix Agent]: [0x00000430] The specified service has been marked for deletion." и сам сервис висит в непонятном статусе - просто закройте все остнастки по управлению службами и повторите попытку ===== Настройка сервера Zabbix ===== Заходим в настройки хоста (Configuratino -> Hosts -> ваш_хост) и открываем закладку Encyption. Заполняем поля: * Connection to host: PSK (Подключение к хосту от сервера Zabbix) * Connection from host: PSK (Подключение от хоста к серверу Zabbix) * PSK identity: PSK001 (Номер ключа в файле) * PSK: ваш_PSK_ключ (Сам ключ) Применяем настройки, запускаем агент и смотрим логи - все должно заработать. {{tag>zabbix agent encryption openssl TLS шифрование агент заббикс windows}}