MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self?srt=yes MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 10:45:05 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675905?srt=yes#m1675905 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675905?srt=yes#m1675905 <p>Hallo,</p> <p>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.</p> <p>In /etc/mysql/mariadb.conf.d/mysqld.cnf habe ich die drei SSL-Zeilen</p> <pre><code class="block">ssl-ca=/etc/mysql/ca-cert.pem ssl-cert=/etc/mysql/server-cert.pem ssl-key=/etc/mysql/server-key.pem </code></pre> <p>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.</p> <p>Nach einem Neustart mittels systemctl restart mysql gibt die Datenbank mir diese Auskünfte:</p> <pre><code class="block">+---------------+----------------------------+ | 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 | +---------------+----------------------------+ </code></pre> <p>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?</p> <p>Im Fehlerprotokoll steht übrigens nix. Im "general_log" steht zwar was, aber nix zu SSL.</p> <p>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.</p> <pre><code class="block"> > 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 </code></pre> <p>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.<br> Ü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."</p> <p>Hat jemand eine Idee, woran es liegen könnte?</p> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 11:25:39 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675906?srt=yes#m1675906 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675906?srt=yes#m1675906 <p>Hallo,</p> <p>bei meiner MariaDB-Installation ist im Gegensatz zu deiner: have_openssl YES</p> <p>Hast du mal geprüft, ob die SSL-Lib überhaupt genutzt wird? Führe diesen Shell-Befehl mal aus:</p> <pre><code class="block">ldd `which mysqld` | grep ssl </code></pre> <p>Wie ist der Update-Status des verwendeten Systems? Insbesondere SSL ... <a href="https://mariadb.com/kb/en/mariadb/secure-connections-overview/" rel="nofollow noopener noreferrer">In der Doku</a> steht der Hinweis, dass zu alte SSL-Versionen nicht genutzt werden.</p> <p>Grüße</p> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 11:51:23 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675909?srt=yes#m1675909 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675909?srt=yes#m1675909 <p>Hallo und guten Tag,</p> <blockquote> <p>Hat jemand eine Idee, woran es liegen könnte?</p> </blockquote> <p>Hast Du das Binding vom Localhost auf eine IP (oder alle = *) umgetellt. Auf Localhost funktioniert das SSL nicht. So ist es zumindest bei MySQL.</p> <p>Grüße<br> TS</p> <div class="signature">-- <br> es wachse der Freifunk<br> <a href="http://freifunk-oberharz.de" rel="nofollow noopener noreferrer">http://freifunk-oberharz.de</a> </div> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 21:00:52 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675949?srt=yes#m1675949 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675949?srt=yes#m1675949 <p>Hallo,</p> <blockquote> <p>Hast du mal geprüft, ob die SSL-Lib überhaupt genutzt wird?</p> </blockquote> <blockquote> <p><a href="https://mariadb.com/kb/en/mariadb/secure-connections-overview/" rel="nofollow noopener noreferrer">In der Doku</a> steht der Hinweis, dass zu alte SSL-Versionen nicht genutzt werden.</p> </blockquote> <p>die Seite hatte ich zwar schon gesehen, aber überlesen, dass MariaDB aus dem Debian-Paket statisch mit yaSSL zusammengestöpselt wird (der betreffende Hinweis fing mit "Windows" an, da habe ich den Rest des Satzes überlesen …). Damit hatte sich dann zumindest auch have_openssl = NO erklärt. SSL war also drin, lief aber nicht.</p> <p>Nachdem ich den Kram nochmal durchgeguckt habe, entpuppte sich der private Serverschlüssel doch als Problem. Der hat angeblich von Haus aus ein Passwort, das vor Benutzung mit</p> <p>openssl rsa -in server-key.pem -out server-key.pem</p> <p>entfernt werden muss. Ich kann mich nicht entsinnen, beim Erzeugen des Schlüssels ein Passwort eingegeben zu haben, openssl fragt bei obigem Ummodeln auch nicht danach, aber sei's drum: Es läuft jetzt.</p> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 12:08:57 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675913?srt=yes#m1675913 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675913?srt=yes#m1675913 <p>Hallo TS,</p> <blockquote> <p>Hast Du das Binding vom Localhost auf eine IP (oder alle = *) umgetellt. Auf Localhost funktioniert das SSL nicht. So ist es zumindest bei MySQL.</p> </blockquote> <p>Nein, das stimmt nicht, da verwechselst du etwas. MySQL kann <a href="" rel="noopener noreferrer">sogar über das Pipes-Protokoll SSL sprechen</a>.</p> <p>LG,<br> CK</p> <div class="signature">-- <br> <a href="https://wwwtech.de/about" rel="noopener noreferrer">https://wwwtech.de/about</a> </div> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Tue, 27 Sep 16 21:09:13 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675950?srt=yes#m1675950 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675950?srt=yes#m1675950 <p>Hallo,</p> <p>schön, dass es jetzt läuft. Mir ist noch aufgefallen, dass ich die Version direkt von den mariadb-Servern installiert habe (also nicht aus dem Debian Repository). Nur als Hinweis, falls das in der Zukunft nochmal für jemanden ein Problem werden sollte.</p> <p>Grüße</p> MySQL/MariaDB unter Ubuntu 16.04: SSL einschalten Wed, 28 Sep 16 04:30:06 Z https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675955?srt=yes#m1675955 https://forum.selfhtml.org/self/2016/sep/27/mysql-strich-mariadb-unter-ubuntu-16-punkt-04-ssl-einschalten/1675955?srt=yes#m1675955 <p>Hallo und guten Morgen,</p> <blockquote> <p>Es läuft jetzt.</p> </blockquote> <p>Wenn der Port jetzt nach außen offen ist, solltest Du noch fail2ban einrichten für die Datenbank. Ich habe hier täglich zwischen 2 und 20 <em>penetranten</em> unberechtigten Nutzungsversuchen auf meinem MySQL-Zugang.</p> <p>Das Einrichten ist etwas fummelig, weil das Auswerten des Logformats noch angepasst werden muss.</p> <p>Grüße<br> TS</p> <div class="signature">-- <br> es wachse der Freifunk<br> <a href="http://freifunk-oberharz.de" rel="nofollow noopener noreferrer">http://freifunk-oberharz.de</a> </div>