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