[技術乾貨] Zabbix 實現Server和windows的Agent通訊加密

Zabbix 實現Server和windows的Agent通訊加密html

理論知識請看zabbix官方文檔:mysql

https://www.zabbix.com/documentation/4.0/zh/manual/encryptionsql

本次實驗,使用OpenSSL進行加密。windows

1.編譯Zabbix支持加密

Zabbix使用TransportLayerSecurity (TLS) protocol v1.2進行加密,爲了讓Zabbix支持加密功能,在源碼編譯安裝時必需要連接到下面三個加密庫中的其中一個。服務器

mbed TLS:早期也叫PolarSSL,目前僅支持1.3.x版本。注意不支持2.x版本。curl

GnuTLS:支持v3.1.18及更高的版本。ide

OpenSSL:支持v1.0.1及更高的版本。測試

根據你的選擇,configure腳本能夠使用下面的某個選項:加密

--with-mbedtls[=DIR]url

--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

相關文章
相關標籤/搜索