CHECK_NRPE:错误 - 无法完成SSL握手

时间:2013-12-11 13:23:10

标签: linux ssl nagios nrpe nagiosxi

我在amazon ec2实例上的xinetd下运行NRPE守护进程,在本地机器上运行nagios服务器。

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地址。

现在可能出现此错误的原因是什么?

14 个答案:

答案 0 :(得分:11)

如果您正在将nrpe作为服务运行,请确保在客户端的nrpe.cfg中包含此行:

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

你说已经完成,但是,如果你在xinetd下运行nrpe,请确保编辑文件only_from中的/etc/xinetd.d/nrpe指令。

不要忘记重启xinetd服务:

service xinetd restart

答案 1 :(得分:2)

要检查您是否有权访问它,请尝试在地址:端口上执行简单的telnet,ping或traceroute以查看它阻止的位置。

telnet IP port
ping IP
traceroute -p $port IP

还要检查目标服务器上nrpe守护程序是否正常工作。

netstat -at | grep nrpe

您还需要检查两台服务器上安装的OpenSSL的版本,因为我已经看到过SSL握手时的中断检查!

答案 2 :(得分:2)

@jgritty是对的。 您应该修改#VALUE!nrpe.cfg个配置文件以允许您的主要nagios服务器访问:

nrpe

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

答案 3 :(得分:1)

对于NRPE来说,这有点像是一个包罗万象的错误消息。检查防火墙规则并确保端口已打开。还尝试禁用SELinux并查看是否允许连接通过。这可能不是SSL问题,只是连接被拒绝的问题。

答案 4 :(得分:1)

检查您的/var/sys/system.log。在我的例子中,事实证明我的监控IP设置为我在nrpe.cfg文件中设置的IP。不过,我不知道这种变化的原因。

答案 5 :(得分:1)

您似乎在仅限主机的网络上的虚拟机中运行Nagios服务器。如果是这样,这将停止任何外部访问。确保您可以使用NAT或桥接网络。

答案 6 :(得分:0)

确保您已重新启动Nagios客户端插件。

答案 7 :(得分:0)

我正在使用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用户和组正确进行身份验证,错误消失了。

答案 8 :(得分:0)

重新启动nagios-nrpe-server的某些边缘情况没有帮助,因为进程未被终止或未正确重新启动。

然后手动杀死它,然后开始。

答案 9 :(得分:0)

SSL握手错误信息。除了你应该分配的allow_host。

您的nagios服务器位于具有C类型IP地址的本地局域网中,例如192.168.xxxx

当目标受监视服务器将ssl消息反馈给您的本地nagios服务器时,该消息应首先到达您的线路的公共IP,该消息不能通过公共IP进入您的nagios服务器,哪个ip是内部IP。 / p>

您需要NAT来引导SSL消息从目标服务器到内部nagios服务器。

或者你最好使用&#34; GET&#34;只需从nagios客户端获取监控消息的方法,如SNMP,即可完成linux服务器本地资源的远程监控。

SSL需要双向反馈。

最好的问候

答案 10 :(得分:0)

对我来说,在/etc/nagios/nrpe.cfg中设置以下客户端工作:

dont_blame_nrpe=1

它和ubuntu 16.04机器。 对于其他可能的问题,我建议查看nrpe日志。这是配置日志的好文章。

答案 11 :(得分:0)

如果你正在运行Debian 9,那么关于这个问题会有a known issue,这是由于OpenSSL对NRPE用于启动匿名SSL连接的方法的删除支持造成的。

问题seems to be fixed但修复程序尚未进入正式软件包。

目前似乎没有安全的解决方法。

答案 12 :(得分:0)

检查/etc/xinetd.d/nrpe中的配置并验证服务器IP。如果显示only_from = 127.0.0.1,请使用服务器IP进行更改。

答案 13 :(得分:0)

这么多的答案,没有一个是我遇到这个问题的原因。

事实证明,nagios具有糟糕的跨版本支持,这是由于我拥有版本2“客户端”(受监视的计算机)和版本3“服务器”(监视计算机)引起的。

将客户端升级到版本3后,问题就消失了,我可以执行check_nrpe -H [client IP]而没有任何问题。

请注意,我不确定客户机/服务器是否适合nagios,例如在进行NRPE调用的情况下,服务器确实是被调用的计算机,但是我离题了。