Zabbix的加密传输

Zabbix从3.0版本开始支持组件间的通信加密,采用预共享密钥PSK或证书方式进行。加密配置非强制,但能增强数据安全性。私钥以明文存储,PSK在数据库中以文本形式保存。加密会增加通信时间和潜在的超时风险,网络发现不支持加密。要启用加密,需在编译Zabbix时加入--with-openssl选项,并配置各组件的PSK或证书。测试加密连接正常后,在Web界面完成配置。
摘要由CSDN通过智能技术生成

Zabbix数据加密传输

Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥PSK和证书加密。加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信。

  • 在启动期间,rivate键以纯文本形式存储在Zabbix组件可读的文件中。
  • 预共享密钥在Zabbix前端输入,并以纯文本形式存储在Zabbix数据库中。
  • 内置加密不保护通信:
    1.在运行Zabbix前端和用户Web浏览器的Web服务器之间
    2.在Zabbix前端和Zabbix服务器之间
    3.Zabbix服务器(代理)和Zabbix数据库之间
  • 每个加密连接都打开一个完整的TLS握手,没有实现会话缓存和票证。
  • 添加加密会增加检查和操作的时间,具体取决于网络延迟。

    例如,如果数据包延迟为100毫秒,则打开TCP连接并发送未加密的请求大约需要200毫秒。使用加密大约1000毫秒来建立TLS连接。可能需要增加超时,否则在代理上运行远程脚本的某些项和操作可能与未加密的连接一起使用但在加密超时时失败。

  • 网络发现不支持加密。通过网络发现执行的Zabbix代理检查将是未加密的,如果Zabbix代理配置为拒绝未加密的连接,则此类检查将不会成功。

编译支持加密功能

要想支持加密功能,我们必须在编译安装的时候把加密库编译进Zabbix里面,编译的时候加上--with-openssl

./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-openssl

使用共享密钥PSK加密

使用OpenSSL工具生成psk

# openssl rand -hex 32
af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429

配置zabbix的agent端
创建一个文件/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk,存入刚刚生成的psk。然后编辑/etc/zabbix/zabbix_agentd.conf,添加如下内容。

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk    #定义zabbix_agentd.psk文件路径
TLSPSKIdentity=PSK 001    #定义预共享秘钥

配置好以上文件重启Server端和Agent端,最后使用zabbix_get测试

zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSK 001" --tls-psk-file=/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk

测试没问题后,开始在Web页面配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kim同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值