[技术干货] Zabbix 实现Server和windows的Agent通信加密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[技术干货] Zabbix 实现Server和windows的Agent通信加密相关的知识,希望对你有一定的参考价值。
Zabbix 实现Server和windows的Agent通信加密理论知识请看zabbix官方文档:
https://www.zabbix.com/documentation/4.0/zh/manual/encryption
本次实验,使用OpenSSL进行加密。
1.编译Zabbix支持加密
Zabbix使用TransportLayerSecurity (TLS) protocol v1.2进行加密,为了让Zabbix支持加密功能,在源码编译安装时必须要链接到下面三个加密库中的其中一个。
mbed TLS:早期也叫PolarSSL,目前仅支持1.3.x版本。注意不支持2.x版本。
GnuTLS:支持v3.1.18及更高的版本。
OpenSSL:支持v1.0.1及更高的版本。
根据你的选择,configure脚本可以使用下面的某个选项:
--with-mbedtls[=DIR]
--with-gnutls[=DIR]
--with-openssl[=DIR]
例如:
./configure--enable-server --enable-agent--with-mysql --enable-ipv6 --with-net-snmp--with-libcurl --with-libxml2--with-openssl
在编译安装Zabbix的不同组件时可以使用不同的加密库,例如server使用OpenSSL,agent使用GnuTLS。建议使用OpenSSL,在实际测试中OpenSSL是最快的,接下来是GnuTLS。
如果你使用安装包安装Zabbix组件时,默认已经支持加密功能。你可以通过查看日志文件确定Zabbix安装的功能特性。例如下面是Zabbixserver启动时显示的特性列表。
vi/var/log/zabbix/zabbix_server.log
1065:20150817:103017.520** Enabled features **
1065:20150817:103017.520 SNMP monitoring: YES
1065:20150817:103017.520 IPMI monitoring: YES
1065:20150817:103017.520 Webmonitoring: YES
1065:20150817:103017.520 VMware monitoring: YES
1065:20150817:103017.520 SMTP authentication: YES
1065:20150817:103017.520 Jabber notifications: YES
1065:20150817:103017.520 EzTexting notifications: YES
1065:20150817:103017.520 ODBC: YES
1065:20150817:103017.520 SSH2 support: YES
1065:20150817:103017.520 IPv6 support: YES
1065:20150817:103017.520 TLSsupport: YES
1065:20150817:103017.520**
2.生成PSK
执行以下命令生成PSK:
openssl rand -hex 32
临时保存此字符串,稍后会用到。
3.下载使用openssl编译过的windows agent包
官方下载地址:https://www.zabbix.com/cn/download_agents#tab:30LTS
4.给windows 安装该agent
在C:\Program Files\目录下新建一个名为ZABBIX_AGENT3的文件夹,然后把下载的agent包解压到该目录下,结果如下:
打开CMD,执行命令:
cd "C:\ProgramFiles\ZABBIX_AGENT3\bin"
zabbix_agentd.exe -i -c "C:\ProgramFiles\ZABBIX_AGENT3\conf\zabbix_agentd.conf"
5.修改agent配置文件
用记事本打开C:\Program Files\ZABBIX_AGENT3\conf目录下的配置文件
修改Server=127.0.0.1 为Server=(zabbix服务器的IP地址)
修改ServerActive=127.0.0.1 为ServerActive=(zabbix服务器的IP地址)
修改# ListenPort=10050 为 ListenPort=10050 (取消注释)
修改Hostname=Windows host 为Hostname=WIN7-47 (主机名字可自定义)
文件最后增加以下4行:
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=agent
TLSPSKFile=C:\ProgramFiles\ZABBIX_AGENT3\conf\zabbix_agentd.psk.txt
修改完成后记得保存。
在C:\Program Files\ZABBIX_AGENT3\conf\ 目录下新建名为zabbix_agentd.psk的文本文档(文件全名zabbix_agentd.psk.txt)
编辑文本文档:
粘贴第2步生成的PSK字符串,结果如下:
修改完成后保存。
6.启动agent
Win+R 快捷键打开运行,输入services.msc
右键Zabbix Agent服务,选择启动,结果如下:
7.在zabbix上监控该windows
新建主机,主机名称为:WIN7-47(与agent配置文件的Hostname参数对应),agent接口IP地址填写windows主机的IP地址,模板使用一个适合的监控模板。
点击“加密”选项卡,如下图配置:
(共享密钥(PSK)填写的是第2步随机生成的PSK密钥。)
成功后,可在主机界面看到以下信息:
(agent加密处,共享密钥PSK亮了)
参考链接:
https://blog.csdn.net/wu2700222/article/details/81331198
https://cloud.tencent.com/info/f93aa5166cba141322f09af895a01ded.html
https://www.zabbix.com/cn/download_agents#tab:30LTS
https://www.zabbix.com/documentation/4.0/zh/manual/encryption
以上是关于[技术干货] Zabbix 实现Server和windows的Agent通信加密的主要内容,如果未能解决你的问题,请参考以下文章