0x01 前言

既然使用了proxy,那就说明需要与zabbix server进行通讯。默认情况下的zabbix流量都是未加密的明文数据,为了安全起见,我选择使用数字证书进行加密。

其实也可以配置预共享密钥(PSK)进行加密的,但是相比之下,数字证书的加密强度比PSK的要高。

0x02 准备

首先要准备好server – proxy – client环境,配置过程可以参考以下文章:

0x03 证书

zabbix套件在传输层进行加密(TLS),需要分别配置数字证书。以下是我使用的三个域名:

  • server:webt.t.com
  • proxy:zabbixproxyt1.t.com
  • client:zabbixclientt1

先在server主机上将所有证书一并生成,先生成CA证书:

然后签发服务器证书,证书的CN字段请使用域名:

然后是proxy证书:

最后是client:

还需要吧CA证书分别复制到server、proxy与client的目录中:

最终这些目录结构如下:

准备好证书,还需要将文件夹分别放置到适当的位置,首先是server:

然后是proxy,在这里我使用sftp传输证书文件:

用同样的办法将数字证书放置到client中:

0x04 server

在server端编辑zabbix_server.conf:

使用killall停止所有zabbix_server进程然后再启动:

检查日志中的启动情况:

0x05 proxy

同样在proxy主机上打开配置文件zabbix_proxy.conf进行修改:

使用killall停止所有zabbix_进程然后再启动:

检查启动情况:

 

0x06 client

最后是client的证书配置,这一部分的配置过程和以下文章中的类似:

打开agent的配置文件进行修改:

再次使用killall停止所有agent进程然后启动:

检查启动情况:

0x07 配置

0x07.1 proxy

配置好服务后,还需要到控制面板中启用证书验证,首先配置proxy:

进入Administration –> Proxies中选择代理配置文件并到Encryption选项中将Connections from proxy勾选Certificate以启用proxy的证书加密。

因为我的proxy的模式为主动模式,所以当proxy会自动获取新的配置信息。如果你所设置的轮训间隔较长,那需要较长的时候才能成功同步。一旦同步成功后,显示如下:

0x07.2 client

如果使用agent,也需要手动启用证书加密:

点击update后需要等待一段时间,等待的时长由轮询时间设置所决定的。

如果一些正常,那么显示如下:

0x08 结语

配置过程非常简单,使用证书加密后,还能大大提高安全性。