启用 SSL 后,我收到 NRPE 的 SSL 握手错误。它在没有 SSL 执行 check_nrpe 的情况下工作得很好。允许的主机是正确的,并且在未启用 SSL 的情况下运行时,它会显示正确的版本。两者都在 CentOS Linux 版本 7.9.2009(核心)上运行 4.3 我没有从通过 Yum 安装的源代码编译 NRPE 或 nagios。
以下是我认为对这个问题很重要的配置。
这是我记录的错误...它说版本错误,但两者都运行相同版本的 NRPE。
我正在使用真正购买的通配符证书...两侧的证书相同。证书与服务器的域名匹配。
nrpe --version
NRPE - Nagios Remote Plugin Executor
Version: 4.0.3
openssl 的版本相同
openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
当我运行 ./check_nrpe -H hostname.domain.com 时,我得到
CHECK_NRPE: (ssl_err != 5) Error - Could not complete SSL handshake with 10.1.1.125: 1
在另一台服务器上记录:
Jan 5 12:48:54 nagiostest2 nrpe[3575]: Error: (ERR_get_error_line_data = 336130315), Could not complete SSL handshake with 10.1.1.64: wrong version number
Jan 5 12:51:11 nagiostest2 nrpe[3692]: CONN_CHECK_PEER: checking if host is allowed: 10.1.1.64 port 16075
Jan 5 12:51:11 nagiostest2 nrpe[3692]: is_an_allowed_host (AF_INET): is host >10.1.1.64< an allowed host >10.1.1.64<
Jan 5 12:51:11 nagiostest2 nrpe[3692]: is_an_allowed_host (AF_INET): is host >10.1.1.64< an allowed host >10.1.1.64<
Jan 5 12:51:11 nagiostest2 nrpe[3692]: is_an_allowed_host (AF_INET): host is in allowed host list!
Jan 5 12:51:11 nagiostest2 nrpe[3692]: Error: (ERR_get_error_line_data = 336105671), Could not complete SSL handshake with 10.1.1.64: peer did not return a certificate
这是我的 nrpe.cfg 的重要部分
debug=1
ssl_cipher_list=ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH
ssl_version=TLSv1.1+
#ssl_cipher_list=ALL:!MD5:@STRENGTH
#ssl_cipher_list=ALL:!MD5:@STRENGTH:@SECLEVEL=0
ssl_cipher_list=ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH
# SSL Certificate and Private Key Files
ssl_cacert_file=/etc/nagios/ssl/ca.crt
ssl_cert_file=/etc/nagios/ssl/star.mydomain.com.crt
ssl_privatekey_file=/etc/nagios/ssl/star.mydomain.com.key
# SSL USE CLIENT CERTS
# This options determines client certificate usage.
# Values: 0 = Don't ask for or require client certificates (default)
# 1 = Ask for client certificates
# 2 = Require client certificates
ssl_client_certs=2
# Enables all SSL Logging
ssl_logging=0xff
感谢您提前提供的任何帮助!
答案1
我假设nrpe.cfg
来自被调用的节点(10.1.1.125),如果是这种情况,正如 Steffen 上面所说,您已将其配置为要求任何调用它的人的证书。想必这应该在您运行时包含在内check_nrpe
,并且查看 4.0.3 的帮助文本(这是我拥有的),有一个-C
标志。因此,您可能需要将其包含在调用中,或者重新配置正在调用的 NRPE 节点。