37

[技术干货] Zabbix 实现Server和windows的Agent通信加密-Zabbix_Z大叔的博客

 4 years ago
source link: https://blog.51cto.com/14483703/2433924
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

[技术干货] Zabbix 实现Server和windows的Agent通信加密

临时保存此字符串,稍后会用到。

3.下载使用openssl编译过的windows agent包

[技术干货] Zabbix 实现Server和windows的Agent通信加密

官方下载地址:https://www.zabbix.com/cn/download_agents#tab:30LTS

4.给windows 安装该agent

在C:\Program Files\目录下新建一个名为ZABBIX_AGENT3的文件夹,然后把下载的agent包解压到该目录下,结果如下:

[技术干货] Zabbix 实现Server和windows的Agent通信加密

打开CMD,执行命令:

cd "C:\ProgramFiles\ZABBIX_AGENT3\bin"

zabbix_agentd.exe -i -c "C:\ProgramFiles\ZABBIX_AGENT3\conf\zabbix_agentd.conf"

[技术干货] Zabbix 实现Server和windows的Agent通信加密

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字符串,结果如下:

[技术干货] Zabbix 实现Server和windows的Agent通信加密

修改完成后保存。

6.启动agent

Win+R 快捷键打开运行,输入services.msc

[技术干货] Zabbix 实现Server和windows的Agent通信加密

右键Zabbix Agent服务,选择启动,结果如下:

[技术干货] Zabbix 实现Server和windows的Agent通信加密
[技术干货] Zabbix 实现Server和windows的Agent通信加密

7.在zabbix上监控该windows

新建主机,主机名称为:WIN7-47(与agent配置文件的Hostname参数对应),agent接口IP地址填写windows主机的IP地址,模板使用一个适合的监控模板。

点击“加密”选项卡,如下图配置:

(共享密钥(PSK)填写的是第2步随机生成的PSK密钥。)

[技术干货] Zabbix 实现Server和windows的Agent通信加密

成功后,可在主机界面看到以下信息:

(agent加密处,共享密钥PSK亮了)

[技术干货] Zabbix 实现Server和windows的Agent通信加密

参考链接:

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK