MySQL über SSL

  • Hallo zusammen,


    ich versuche gerade verzweifelt SSL für MySQL zu aktivieren weil ich die Datenbank auf einen anderen Server spiegeln will. Auf dem "Client" läuft Debian 8 ohne i-mscp mit der gleichen MySQL Version wie auf dem Server mit i-mscp (auch Debian 8 ) der gespiegelt werden soll. Auf dem Clienten habe ich in der my.cnf einfach ein "ssl" und die Pfade zu den *.pem's eingetragen. Ein

    Code
    1. mysql> show variables like '%ssl%'


    zeigt mir


    Code
    1. +---------------+-------+| Variable_name | Value |+---------------+-------+| have_openssl | YES || have_ssl | YES |...


    Wenn ich das geliche auf dem Server mache kommt



    Code
    1. +---------------+----------+
    2. | Variable_name | Value |
    3. +---------------+----------+
    4. | have_openssl | DISABLED |
    5. | have_ssl | DISABLED |


    Ich finde weder in den Logfiles noch sonstwo irgendeinen Hinweis warum ssl nicht aktiviert wird.


    Hat jemand eine Idee wo ich suchen könnte?


    Viele Grüße
    Dominik

  • Ich habe in der /etc/mysql/my.cnf des Master-Servers folgendes eingetragen:


    Code
    1. # * Security Features## Read the manual, too, if you want chroot!# chroot = /var/lib/mysql/## For generating SSL certificates I recommend the OpenSSL GUI "tinyca".ssl=1ssl-ca=/etc/mysql/certs/cacert.pemssl-cert=/etc/mysql/certs/server-cert.pemssl-key=/etc/mysql/certs/server-key.pem


    Server neu gestartet und in der MySQL Console



    Code
    1. mysql> show variables like '%ssl%'

    eingegeben. Das zeigt, wenn ich die Doku richtig verstanden habe, das SSL nicht aktiviert aber verfügbar ist. Sonst würde da statt "DISABLED" "NO" stehen. Die Pfade sind korrekt, Lesen darf mysql die Zertifikate auch.


    In manchen Tutorials steht in der my.cnf nur "ssl" statt "ssl=1", habe beide Varianten getestet.


    Ich habe in der /var/log/mysql/error.log geschaut, die ist leer. Beim Neustarten des Servers kommt auch keine Fehlermeldung.


    In den beiden Dateien imscp.cnf und mysqld_safe_syslog.cnf in /etc/mysql/conf.d/ habe ich vorsichtshalber auch noch nachgeschaut ob ich was finde, da war aber was das angeht nichts konfiguriert.


    Auf dem Clienten habe ich das gleiche gemacht, da hat der Befehl mysql> show variables like '%ssl%' sofort "YES" angezeigt, auch ohne korrekte Pfadangaben zum Zertifikat.



    Gruß
    Dominik

  • Ich glaube ich bin voll verwirrt....


    Mit /etc/init.d/mysql stop oder service mysql stop sollte der MySQL Server doch eigentlich stoppen oder? Warum kann ich meine TYPO3 Webseite trotzdem angucken wenn ich das tue?

  • Bei debian jessie verwende lieber service mysql stop. Die typo3-Installation verweist aber schon auf deine mysql-db?

  • Jap, mache ich eigentlich auch. Aber sicherheitshalber... Ja die Installation nimmt die korrekte Datenbank. Habe sicherheitshalber auch nochmal phpmyadmin angeschmissen, da kann ich mich auch einloggen und bin ganz sicher auf dem richtigen System. Ich kann mich aber auch trotz angeblich gestopptem MySQL über die Shell mit mysql -u root -p einloggen. Das sollte doch auch nicht gehen dürfen wenn mysql gar nicht läuft.


    ps aux |grep mysql spuckt folgendes aus:


    Code
    1. root 23207 0.0 0.0 4328 1616 ? S Aug05 0:00 /bin/sh /usr/bin/mysqld_safe
    2. mysql 23566 0.1 0.6 1601404 225212 ? Sl Aug05 13:21 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306

    Mich wundert die erste Zeile. Ist das korrekt?