Zabbix技术分享——Proxy加密代理:共享密钥(PSK)加密与证书加密

加密配置是可选项,一些proxy和agent可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信~

一、加密介绍

Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxy和agent可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。本文将分别介绍这两种加密方式。

1.加密段

加密传输可从多个数据采集段进行配置,如下图所示。本文以proxy到agent段加密作为演示,其他可以此为参考。此外,proxy代理配置为被动模式。

ll7HgBgt64d44afd61330.png 

2.模拟环境

GMII2JkF64d4533720c92.png

二、前期准备

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

./configure \

--prefix=/usr/local/zabbix \

--enable-server \

--enable-agent \

--with-MysqL \

--with-net-snmp \

--with-libcurl \

--with-openssl

三、加密方式

1.共享密钥(PSK)

(1)后台配置文件

1) 使用OpenSSL工具生成psk

# openssl rand -hex 32

af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429

2) 配置zabbix的agent端

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

TLSConnect=psk

TLSAccept=psk

TLSPSKFile=/usr/local/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk    #定义zabbix_agentd.psk文件路径

TLSPSKIdentity=PSK 001    #定义预共享秘钥

3) 使用zabbix_get测试

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

zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]"

--tls-connect=psk --tls-psk-identity="PSK 001"

--tls-psk-file=/usr/local/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk

(2)Web端配置

1) Proxy代理web配置:

代理配置à添加代理àagent代理程序名称(填入proxy配置文件中的Hostname),模式选择被动àip填写代理地址à其他保持默认

5cGxVYiJ64d44b15c34af.png

2) Agent客户端web配置:

在监控主机选择proxy代理,加密方式选择PSK,并写入相对应的密钥,配置加密完成。

NokpplPr64d44b2f3dbc8.png

141DFzJk64d44b3c4f1e4.png


2.证书加密

(1)后台配置文件

1) Proxy端:

修改文件/usr/local/ zabbix/etc/zabbix_proxy.conf

# 0为主动,1为被动

ProxyMode=1

# server服务器的地址或主机名

Server=192.168.3.104

# 代理服务器名称,需要与zabbix server添加代理时候的 proxy

Hostname =proxy-1

#修改agent连接模式

TLSConnect=cert

#修改被动连接模式

TLSAccept=unencrypted

###将ca.crt、client.crt、client.key三个文件放在zabbix_agentd.conf.d目录下

#修改TLSCAFile配置

TLSCAFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/ca.crt

#修改TLSCertFile配置

TLSCertFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/proxy.crt

#修改TLSKeyFile配置

TLSKeyFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/proxyx.key

2) Agent端

修改文件zabbix_agent.conf

# proxy代理服务器的地址或主机名

Server=192.168.3.117

#修改端口

ListenPort=10057

#修改连接模式

TLSConnect= unencrypted

#修改被动连接模式

TLSAccept=cert

###将ca.crt、proxy.crt、proxy.key三个文件放在zabbix_agentd.conf.d目录下

#修改TLSCAFile配置

TLSCAFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/ca.crt

#修改TLSCertFile配置

TLSCertFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/client.crt

#修改TLSKeyFile配置

TLSKeyFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/client.key

(2)Web端配置

1) Proxy代理web配置:

代理配置à添加代理àagent代理程序名称(填入proxy配置文件中的Hostname),模式选择被动àip填写代理地址à其他保持默认

GRheDDDZ64d44b6939a1b.png

2) Agent客户端web配置:

8BAXQ89O64d44ba61d146.png

ZxF3Ix4J64d44bae268ae.png


以上就是这一期的Zabbix技术知识分享。大家好,我是乐乐,专注运维技术研究与分享,关注我学习Zabbix等使用技巧,更多运维问题还可以到乐维社区留言提问哦~


3C3pGKHd64d44bc94c488.png

 

0 条评论

请先 登录 后评论
乐维君
乐维君

345 篇文章

作家榜 »

  1. 乐维君 345 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 我是一只小菜鸡 12 文章
  5. 细雨闲花 11 文章
  6. 御前侍卫张五哥 9 文章
  7. 。。。 8 文章
  8. 小黄人 8 文章