簡體   English   中英

CHECK_NRPE:錯誤 - 無法完成SSL握手

[英]CHECK_NRPE: Error - Could not complete SSL handshake

我在我的本地機器上的amazon ec2實例和nagios服務器上的xinetd下運行NRPE守護程序進程。

check_nrpe -H [amazon public IP]給出了這個錯誤:

CHECK_NRPE: Error - Could not complete SSL handshake.

兩個Nrpe都是相同的版本。 兩者都使用此選項進行編譯:

./configure  --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu/

“allowed host”條目包含我的本地IP地址。

現在這個錯誤的可能原因是什么?

如果您正在將nrpe作為服務運行,請確保在客戶端的nrpe.cfg中包含以下行:

# example 192. IP, yours will probably differ
allowed_hosts=127.0.0.1,192.168.1.100 

你說已經完成,但是,如果你在xinetd下運行nrpe,請確保編輯文件/etc/xinetd.d/nrpeonly_from指令。

不要忘記重啟xinetd服務:

service xinetd restart

要檢查您是否有權訪問它,請嘗試在地址:端口上執行簡單的telnet,ping或traceroute以查看阻塞的位置。

telnet IP port
ping IP
traceroute -p $port IP

還要檢查目標服務器上nrpe守護程序是否正常工作。

netstat -at | grep nrpe

您還需要檢查兩台服務器上安裝的OpenSSL的版本,因為我已經看到這種斷開檢查有時會進行SSL握手!

@jgritty是對的。 你應該編輯nrpe.cfgnrpe配置文件,以允許你的主nagios服務器訪問:

vim /usr/local/nagios/etc/nrpe.cf
allowed_hosts=127.0.0.1,172.16.16.150

vim /etc/xinetd.d/nrpe
only_from= 127.0.0.1 172.16.16.150

對於NRPE來說,這有點像是一個包羅萬象的錯誤信息。 檢查防火牆規則並確保端口已打開。 還嘗試禁用SELinux並查看是否允許連接通過。 這可能不是SSL問題,只是連接被拒絕的問題。

檢查你的/var/sys/system.log 在我的例子中,事實證明我的監控IP設置為我在nrpe.cfg文件中設置的IP。 不過,我不知道這種變化的原因。

看起來您正在僅限主機的網絡上的虛擬機中運行Nagios服務器。 如果是這樣,這將停止任何外部訪問。 確保您具有NAT或橋接網絡。

如此多的答案,沒有一個能夠解決我遇到這個問題的原因。

事實證明,nagios有可怕的跨版本支持,這是由於我擁有版本2“客戶端”(機器被監控)和版本3“服務器”(監控機器)。

一旦我將客戶端升級到版本3,問題就消失了,我可以做一個check_nrpe -H [client IP]而沒有問題。

請注意,我不確定客戶端/服務器是否與nagios是正確的術語,因為在NRPE調用的情況下,服務器實際上是被調用的機器,但我離題了。

確保您已重新啟動Nagios客戶端插件。

我正在使用xinetd服務運行nrpe。

確保您的nagios用戶正確進行身份驗證(除上述基本步驟外)。 就我而言:

Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown user: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute user - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown group: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute group - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Service nrpe missing attribute user - DISABLING

顯示在/ var / log消息中。
它最初逃脫了我,但后來我檢查了ypbind服務,發現它沒有啟動。
啟動ypbind后,nagios用戶和組正確進行身份驗證,錯誤消失了。

一些邊緣情況重新啟動nagios-nrpe-server沒有幫助,因為進程沒有被殺死或者沒有正確重新啟動。

然后手動殺死它,然后開始。

SSL握手錯誤信息。除了您應該分配的allow_host。

您的nagios服務器位於具有C類型IP地址的本地LAN中,例如192.168.xxxx

當目標受監視服務器將ssl msg反饋給您的本地nagios服務器時,該消息應首先到達您的線路的公共IP,該消息不能跨越公共IP進入您的nagios服務器,哪個ip是內部IP。

您需要NAT來引導SSL消息從目標服務器到內部nagios服務器。

或者你最好使用“GET”方法,只需從nagios客戶端獲取監控消息,如SNMP,即可完成linux服務器本地資源的遠程監控。

SSL需要雙向反饋。

最好的祝福

對我來說,在客戶端的/etc/nagios/nrpe.cfg中設置以下內容:

dont_blame_nrpe=1

這是和ubuntu 16.04機器。 對於其他可能的問題,我建議查看nrpe日志。 這是配置日志的好文章。

如果你正在運行Debian 9,那么就會出現一個已知的問題 ,這個問題是由OpenSSL對NRPE用於啟動匿名SSL連接的方法的支持。

這個問題似乎已得到解決,但修復程序尚未進入官方軟件包。

目前似乎沒有安全的解決方法。

檢查/etc/xinetd.d/nrpe中的配置並驗證服務器IP。 如果顯示only_from = 127.0.0.1,則使用服務器IP更改它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM