Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。
本例在4.0中测试配置使用。
首先我们先生成一段密钥
[root@guilin ~]# openssl rand -hex 32
5f19db77e5224c32ed2f2dcfeda2e878dd114d153b08fad119205518086d7220
将生成的密钥写入该文件
vim /application/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
配置使客户端支持PSK加密传输
vim /application/zabbix/etc/zabbix_agentd.conf
#加入
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/application/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
TLSPSKIdentity=PSKDemo
配置完成后重启zabbix_agent进程
在zabbix web 管理中添加主机时启用PSK加密
测试时使用如下命令
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSKDemo" --tls-psk-file=/application/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk
生产环境中建议在分布式布署中,跨广域网部份可以使用加密传输,如果分布式是基于VPN网络建设时,也不建议再使用加密传输了。