NRPE 无法完成 SSL 握手 - 对等方未返回证书

NRPE 无法完成 SSL 握手 - 对等方未返回证书

启用 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 节点。

相关内容