SSLを有効にすると、NRPEのSSLハンドシェイクエラーが発生します。 check_nrpeを実装するSSLがなくてもうまくいきます。許可されたホストは正確であり、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ノードを再構成する必要があります。