MariaDB Problem mit SSL Verbindung
Hallo Tumbleweed mariadb 11.5.2 Ich habe nun ein Problem wenn ich eine Verbindung zu einem Datenbank Server, ueber TCP, aufnehmen will auf dem eine etwas aeltere Version vom mariadb laeuft. Die Version laeuft auf dem Server mit SSL. Mit einer aelteren Client Version von mariadb 11.0.6 klappt die Verbindung und da sehe ich dann auch das SSL Aktiv ist: have_ssl YES ca. ab der mariadb 11.4 bekomme ich nun ERROR 2026 (HY000): TLS/SSL error: Certificate verification failure: The certificate is NOT trusted. Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee. Danke Holger
Am 11.11.24 um 12:50 PM schrieb Holger Bruenjes:
Tumbleweed mariadb 11.5.2
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Ich hab eh hier eh für meinen lokalen Kram eine lokale CA und somit das Problem nicht. Sonst halt Letsencrypt & Co. Viele Grüße Ulf
Am 11.11.24 um 16:23 schrieb Ulf Volmer:
Am 11.11.24 um 12:50 PM schrieb Holger Bruenjes:
Tumbleweed mariadb 11.5.2
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Ich hab eh hier eh für meinen lokalen Kram eine lokale CA und somit das Problem nicht.
Ja, die hab eich jetzt auch auf den Client geschoben, aendert leider das Problem noch nicht, nur die Error Meldung ist jetzt eine andere ERROR 2026 (HY000): TLS/SSL error: Hostname verification failed OK, --disable-ssl-verify-server-cert damit gehts, is aber auch unbefriedigend Gut gucken wir mal weiter Danke Hölger
Moin moin, Am 2024-11-11 21:24, schrieb Holger Bruenjes:
Am 11.11.24 um 16:23 schrieb Ulf Volmer:
Am 11.11.24 um 12:50 PM schrieb Holger Bruenjes:
Tumbleweed mariadb 11.5.2
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Ich hab eh hier eh für meinen lokalen Kram eine lokale CA und somit das Problem nicht.
Ja, die hab eich jetzt auch auf den Client geschoben, aendert leider das Problem noch nicht, nur die Error Meldung ist jetzt eine andere
ERROR 2026 (HY000): TLS/SSL error: Hostname verification failed
OK, --disable-ssl-verify-server-cert damit gehts, is aber auch unbefriedigend Hölger
Du musst doch nur dem Server das Root CA inkl. eventueller Intermediate Zertifikate bekannt machen damit er die Chain auflösen kann und weiss das Du bzw. in dem Falle der Host/Service dem Aussteller/Signierer vertraut. so ungefähr sollte das gehen, (*.pem sind dann dein Root CA und wenn vorhanen Intermediate) # cp *.pem /etc/pki/trust/anchors/ # update-ca-certificates In diesem Sinne lg Max
Hallo Vielen Dank allen fuer die Tipps, es laeuft jetzt Kreuz und Quer, von ueberall nach ueberall. Holger Am 12.11.24 um 07:17 schrieb Markus Heinze:
Moin moin,
Am 2024-11-11 21:24, schrieb Holger Bruenjes:
Am 11.11.24 um 16:23 schrieb Ulf Volmer:
Am 11.11.24 um 12:50 PM schrieb Holger Bruenjes:
Tumbleweed mariadb 11.5.2
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Ich hab eh hier eh für meinen lokalen Kram eine lokale CA und somit das Problem nicht.
Ja, die hab eich jetzt auch auf den Client geschoben, aendert leider das Problem noch nicht, nur die Error Meldung ist jetzt eine andere
ERROR 2026 (HY000): TLS/SSL error: Hostname verification failed
OK, --disable-ssl-verify-server-cert damit gehts, is aber auch unbefriedigend Hölger
Du musst doch nur dem Server das Root CA inkl. eventueller Intermediate Zertifikate bekannt machen damit er die Chain auflösen kann und weiss das Du bzw. in dem Falle der Host/Service dem Aussteller/Signierer vertraut.
so ungefähr sollte das gehen, (*.pem sind dann dein Root CA und wenn vorhanen Intermediate)
# cp *.pem /etc/pki/trust/anchors/ # update-ca-certificates
In diesem Sinne
lg Max
Am 11.11.24 um 21:24 schrieb Holger Bruenjes:
Am 11.11.24 um 16:23 schrieb Ulf Volmer:
Am 11.11.24 um 12:50 PM schrieb Holger Bruenjes:
Tumbleweed mariadb 11.5.2
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Ich hab eh hier eh für meinen lokalen Kram eine lokale CA und somit das Problem nicht.
Ja, die hab eich jetzt auch auf den Client geschoben, aendert leider das Problem noch nicht, nur die Error Meldung ist jetzt eine andere
ERROR 2026 (HY000): TLS/SSL error: Hostname verification failed
OK, --disable-ssl-verify-server-cert damit gehts, is aber auch unbefriedigend
Gut gucken wir mal weiter
Prüfe wie der Client den SQL-Server anspricht (IP/FQDN). (Und ob die Namesauflösung in DNS (vorwärts/rückwärts) passt.) Dann prüfe ob dieser Wert im Zertifikat im SAN steht. Bernd
Am Montag, 11. November 2024, 12:50:26 Mitteleuropäische Normalzeit schrieb Holger Bruenjes:
Hallo
Tumbleweed mariadb 11.5.2
Ich habe nun ein Problem wenn ich eine Verbindung zu einem Datenbank Server, ueber TCP, aufnehmen will auf dem eine etwas aeltere Version vom mariadb laeuft. Die Version laeuft auf dem Server mit SSL. Mit einer aelteren Client Version von mariadb 11.0.6 klappt die Verbindung und da sehe ich dann auch das SSL Aktiv ist: have_ssl YES
ca. ab der mariadb 11.4 bekomme ich nun
ERROR 2026 (HY000): TLS/SSL error: Certificate verification failure: The certificate is NOT trusted.
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Danke
Holger
mariadb 11.4 setzt ssl-verify-server-cert auf true als Default. Clients können --disable- ssl-verify-server-cert benutzen, aber mariadb-admin client, benutzt von opensuses systemd-service, um die Datenbank zu starten, hat keine Default-Konfiguration. Folglich muss das Zertifkat ´hostname´ and localhost erlauben. Das ist möglich durch die Verwendung der SAN-Erweiterung anstelle von CN im Feld subject. Caveat: Das Feld Subject von CA und Zertifkaten muss unterschiedlich sein. Im Skript unten wird das ST-field (country) anstelle des empfohlenen CN-Felds benutzt. Links, die mir geholfen haben: https://mariadb.com/kb/en/certificate-creation-with-openssl/[1] http://gagravarr.org/writing/openssl-certs/others.shtml[2] https://www.howtoforge.com/tutorial/how-to-enable-ssl-and-remote-connections-for-mysql-on-centos-7/[3] https://www.squash.io/how-to-fix-openssl-error-self-signed-certificate-in-certificate-chain-on-linux/[4] https://security.stackexchange.com/questions/190905/subject-alternative-name-in-certificate-signing-request-apparently-does-not-surv[5] https://stackoverflow.com/questions/5935369/how-do-common-names-cn-and-subject-alternative-names-san-work-together[6] angehängtes Skript generiert self-signed-key und mysql-ssl client und server keys. Damit sollte Mariadb 11.4 starten und Connects erlauben. Vorhandene keys sollten gesichert werden. Benutzung ohne Gewähr auf eigenes Risiko. Zumindest Variable DNS_HOSTN anpassen. my.cnf muss natürlich auf die generierten keys zeigen. Grüße mab
das in Mail erwähnte Skript: Am Dienstag, 12. November 2024, 10:58:02 Mitteleuropäische Normalzeit schrieb mabto@t-online.de:
Am Montag, 11. November 2024, 12:50:26 Mitteleuropäische Normalzeit schrieb
Holger Bruenjes:
Hallo
Tumbleweed mariadb 11.5.2
Ich habe nun ein Problem wenn ich eine Verbindung zu einem Datenbank Server, ueber TCP, aufnehmen will auf dem eine etwas aeltere Version vom mariadb laeuft. Die Version laeuft auf dem Server mit SSL. Mit einer aelteren Client Version von mariadb 11.0.6 klappt die
Verbindung und da sehe ich dann auch das SSL Aktiv ist: have_ssl YES
ca. ab der mariadb 11.4 bekomme ich nun
ERROR 2026 (HY000): TLS/SSL error: Certificate verification failure: The certificate is NOT trusted.
Wie habt ihr das Problem geloesst. --skip-ssl ist ja nun nicht eine besonders Gute Idee.
Danke
Holger
mariadb 11.4 setzt ssl-verify-server-cert auf true als Default. Clients können --disable- ssl-verify-server-cert benutzen, aber mariadb-admin client, benutzt von opensuses systemd-service, um die Datenbank zu starten, hat keine Default-Konfiguration. Folglich muss das Zertifkat ´hostname´ and localhost erlauben. Das ist möglich durch die Verwendung der SAN-Erweiterung anstelle von CN im Feld subject. Caveat: Das Feld Subject von CA und Zertifkaten muss unterschiedlich sein. Im Skript unten wird das ST-field (country) anstelle des empfohlenen CN-Felds benutzt.
Links, die mir geholfen haben: https://mariadb.com/kb/en/certificate-creation-with-openssl/[1] http://gagravarr.org/writing/openssl-certs/others.shtml[2] https://www.howtoforge.com/tutorial/how-to-enable-ssl-and-remote-connections -for-mysql-on-centos-7/[3] https://www.squash.io/how-to-fix-openssl-error-self-signed-certificate-in-c ertificate-chain-on-linux/[4] https://security.stackexchange.com/questions/190905/subject-alternative-nam e-in-certificate-signing-request-apparently-does-not-surv[5] https://stackoverflow.com/questions/5935369/how-do-common-names-cn-and-subj ect-alternative-names-san-work-together[6]
angehängtes Skript generiert self-signed-key und mysql-ssl client und server keys. Damit sollte Mariadb 11.4 starten und Connects erlauben. Vorhandene keys sollten gesichert werden. Benutzung ohne Gewähr auf eigenes Risiko. Zumindest Variable DNS_HOSTN anpassen. my.cnf muss natürlich auf die generierten keys zeigen.
Grüße mab
participants (6)
-
bnacht
-
Holger Bruenjes
-
mabto@t-online.de
-
Markus Heinze
-
Michael Andreas Buchberger
-
Ulf Volmer