Franz: MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten

Beitrag lesen

Hallo,

liebend gerne würde ich am MariaDB-Server SSL einschalten – alleine: ich krieg es nicht hin. Mir drängt sich inzwischen der doch etwas schräge Verdacht auf, dass MariaDB unter Ubuntu gar kein SSL kann.

In /etc/mysql/mariadb.conf.d/mysqld.cnf habe ich die drei SSL-Zeilen

ssl-ca=/etc/mysql/ca-cert.pem    
ssl-cert=/etc/mysql/server-cert.pem    
ssl-key=/etc/mysql/server-key.pem   

Die Dateien sind auch da und (testweise) für jeden lesbar, die Einträge sollen jeder für sich alleine schon das Einschalten von SSL bewirken. Kaputt sind sie wohl auch nicht, openssl x509 -text -in ca-cert.pem beschwert sich jedenfalls nicht.

Nach einem Neustart mittels systemctl restart mysql gibt die Datenbank mir diese Auskünfte:

+---------------+----------------------------+
| Variable_name | Value                      |
+---------------+----------------------------+
| have_openssl  | NO                         |
| have_ssl      | DISABLED                   |
| ssl_ca        | /etc/mysql/ca-cert.pem     |
| ssl_capath    |                            |
| ssl_cert      | /etc/mysql/server-cert.pem |
| ssl_cipher    |                            |
| ssl_crl       |                            |
| ssl_crlpath   |                            |
| ssl_key       | /etc/mysql/server-key.pem  |
+---------------+----------------------------+

Nach have_ssl=disabled müsste SSL grundsätzlich verfügbar sein. Mich irritiert an diesem Punkt allerdings schon das "no" nach have_openssl; warum sollte unter Ubuntu nicht OpenSSL benutzt werden?

Im Fehlerprotokoll steht übrigens nix. Im "general_log" steht zwar was, aber nix zu SSL.

Weiter geht's: Der Versuch, in der mysql-Konsole einen ssl-pflichtigen Benutzer anzulegen führt zu einer Fehlermeldung, und zwar ausgerechnet an dem Punkt, wo "require ssl" steht.


> create user 'test' identified by 'blafasel' require ssl;   

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'require ssl' at line 1

Den Benutzer ohne ssl anzulegen und anschließend mit grant … require ssl zu SSL zu verpflichten, funktioniert zwar, allerdings kann ich mich dann nicht mehr mit der mysql-Konsole anmelden (natürlich mit --ssl-ca etc.), es kommt nur "Access denied". Wird SSL für das Konto nicht mehr verlangt, klappt auch das Anmelden wieder.
Überflüssig, zu erwähnen, dass ein SSL-Angebot der Konsole nicht einmal optional akzeptiert wird. Die Verbindung wird hergestellt, aber der Status zeigt nur "SSL not in use."

Hat jemand eine Idee, woran es liegen könnte?