Check connecting to a TCP port mit SSL und eine eigne CA

Moin,

ich hab hier ein Problem mit dem Überprüfen eines SSL Zertifikats.
Das Problem dabei ist, das das Zertifikat von einer internen CA ausgestellt wurde, das CA Zertifikat aber nicht in der Chain mit drin ist.

Nachdem ich das CA Zertifikat auf dem Monitoringsystem bekannt gemacht hab, kann ich auch mit openssl ganz normal eine Verbindung auf machen:

[Admin2654@lxomd2 plugins]$ openssl s_client -connect lxospma01:2379 
CONNECTED(00000003)
depth=1 CN = etcd-signer@1552553763
verify return:1
depth=0 CN = lxospma01.kgrp.net
verify return:1
140555844020112:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:s3_pkt.c:1493:SSL alert number 42
140555844020112:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177:
---
Certificate chain
 0 s:/CN=lxospma01.kgrp.net
   i:/CN=etcd-signer@1552553763
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIEjjCCAnagAwIBAgIBAzANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZldGNk
LXNpZ25lckAxNTUyNTUzNzYzMB4XDTE5MDMxNDA4NTYyOFoXDTI0MDMxMjA4NTYy
OFowHTEbMBkGA1UEAwwSbHhvc3BtYTAxLmtncnAubmV0MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAlMn/iqomv8baqWZhOhKzd5BNpt9Ox1qK+CnBmBeL
RV0Dd7Me6cRAvuTTnXuUypgvQvGMc63aSNnNcRYLSdWa8xm66q/pDBgjYnqH2QFz
0bBuoemSKhp8Wc+nPbnXOiD9fJ7p2I91wwlNxtzIu58vPfQXmotx+KRm/rEOWuHv
hBOEvOO7ksHPh63NLDDtwN3kebW2i9BzTaM7pV2wqnHRjap0OEHTAvOybEqhnsu6
uhDxr0A853m+ZhhswKEOaX2LdGgvG0MdC/cf0V51SjUDXSkZPJcZ/XUBxqFxDvnj
HB4VKIpAiOnL1C2a9nSPhn7eUnXNFo4oP9+60Q0R7XW2YQIDAQABo4HUMIHRMFEG
A1UdIwRKMEiAFL9VECM77zhSiZmeoopIIA+mKgJDoSWkIzAhMR8wHQYDVQQDDBZl
dGNkLXNpZ25lckAxNTUyNTUzNzYzggkA2SzIXAuX+sswDAYDVR0TAQH/BAIwADAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwCwYDVR0PBAQDAgWgMB0GA1Ud
DgQWBBRxd8MlD93t5A6Udm1HXwuWWcoL+jAjBgNVHREEHDAahwQKCnRkghJseG9z
cG1hMDEua2dycC5uZXQwDQYJKoZIhvcNAQELBQADggIBABh+igo27ovlCQQoPa0h
EYJtiLbJvwYt3C9MiI86fG/1lkb4Vkx7uyEYOMN3Nyv3KFer4xKSacDXK+disLdZ
fPU3nTrwswkJLDY4/Ci1TDbzqvicSuhP2cqRAZ7Hnj38M3xUFrewoZPh0MeSbVpk
vDe3yFlKU15S33lUafjz/yVsaGf1ABt4AhKW3Kk3rPXRVla5PlFZ0Muqq34R+fOR
YSvNm5pnj2KbCCXFbB8/b8Vb85LblhQVbC4mB3KufOEK5QYl8OXFZiI8CtyTbOq/
RsW5FYv5NW4ON6xRwE7SyYxgyDDKPB0y86d3/xF6OoekMRDMbrkIULaxUOd2Do1T
a2Pvp6ns5FyLWZj1OwsZ1S1he6zn3NXmIAPBtxmvFs7d4X0BHgf7+/mNozlHCLdf
3WILPM4J3eeu9yoJVtpkL41utukJ8x1ftu44bP7R3gyRmjstdKy0DZ830gfqkhBF
CrLtaAqXADgFcsU8rEBXTg4zUh5+6RUotN5yTQMGrvAm/M72ooMGGp2gXLCbZk7t
EImNAhVcXDlh214LY/8LXejDECnbJVFZGcdJEkImFfj3cxHMJwuWVGlMqHp5bfDm
DtK3FmPSjEx1N05PDiQfVhwjjWfNHD/C1Mj5ZX9pmsHGVlX5XecAMvdU6lsxbh4C
ll6J/GDSvG1hK1uuKTuMHmNy
-----END CERTIFICATE-----
subject=/CN=lxospma01.kgrp.net
issuer=/CN=etcd-signer@1552553763
---
Acceptable client certificate CA names
/CN=etcd-signer@1552553763
Client Certificate Types: RSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA256:ECDSA+SHA256:RSA+SHA384:ECDSA+SHA384:RSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA256:ECDSA+SHA256:RSA+SHA384:ECDSA+SHA384:RSA+SHA1:ECDSA+SHA1
Peer signing digest: SHA384
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 1662 bytes and written 138 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: FDCF914C0D022466B112EFD705C8B5568F5C5152F556600555E0E85BB15462983182FFF337DA6712E157B5CECCBE8D53
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1616690635
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

Aber wenn ich das ganze mit dem checkMK geht es leider nicht:

[Admin2654@lxomd2 plugins]$ /opt/omd/versions/1.6.0p22.cee/lib/nagios/plugins/check_tcp -H lxospma01 -p 2379 -S
CRITICAL - Cannot make SSL connection.
140587741079472:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:s3_pkt.c:1493:SSL alert number 42

Wo muss ich das CA Zertifikat bekannt machen, damit CheckMK das auch kennt ?
Ich hab da die Datei ca-certificates.crt gefunden

[root@lxomd2 ~]# ll /opt/omd/sites/test/var/ssl/ca-certificates.crt
-rw-rw----. 1 test test 219840 25. Mär 17:19 /opt/omd/sites/test/var/ssl/ca-certificates.crt

Aber einfach nur das CA Zertifikat da eintragen hat leider nichts geändert.

Gruß
Frank

Für eigene CA-Zertifikate gibt es in den Global Settings die Möglichkeit, diese hinzuzufügen.

Danke für den Hinweis, hatte ich in der Tat übersehen.

Leider hat das aber keine Auswirkungen wenn ich da die CA dazu packe. Das Ergebnis bleibt das selbe, checkMK kann keine SSL Verbindung aufbauen.

Ich hätte jetzt auch vermutet, das die Einstellung “Trust system wide configured CAs” dazu führt das eine im System hinterlegte CA auch von CheckMK akzeptiert wird.

Noch irgendeine Idee was das Problem seine könnte ?
Einen eignen Check mit openssl bauen kann ja nicht wirklich die Lösung sein.

Naja deine Fehlermeldung aus dem “check_tcp” ist ja auch nicht wegen des unbekannten Zertifikats.
Es ist die gleiche Meldung welche auch schon im openssl Test kam.

Ich bin kein Openshift Spezi und weiß nicht was dort gehen müsste aber ist das nicht auch ein normaler HTTPS Service auf dem Port?

Oohhh mann … dabei trag ich doch schon ne Brille.

Ja stimmt ist auch bei openssl das selbe also kein CheckMK Problem.

Muss ich mir noch mal genau ansehen, aber eigentlich sollten das ganz normale Zertifikate sein.
Die openshift Dienste kommen jedenfalls damit zu recht.

Ich denke ich hab das Problem gefunden. Die Gegenseite (der etcd) auch ein passendes Zertifikat vorweist.
Kann man an der Stelle auch eigentlich erkennen:

Acceptable client certificate CA names
/CN=etcd-signer@1552553763

Aber damit bin ich dann glaube ich auch mit dem check_tcp am Ende. Mal sehen ob ich mir da ein eigenes Script baue …

Gruß
Frank

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact @fayepal if you think this should be re-opened.