Nicht immer steht SSL auf Mysql zur Verfügung, um Daten geschützt auf einen zweiten Server zu übertragen. Als Ausweg bietet sich die Secure-Shell (SSH) an. Ein Workshop erklärt, wie sich Replizierung über SSH aufsetzen lässt.
Die Datenbank »MySQL« - jetzt bei Oracle - hat eine große Verbreitung gefunden: Sie ist Open-Source, hat eine gute Dokumentation und bringt Funktionen für Replizierung mit. Allerdings wird dem Sicherheits-Administratrator eines fehlen: Verschlüsselung. Diese einzusetzen, empfiehlt sich aber spätestens, wenn Daten im LAN oder über das WAN hinweg repliziert werden.
Mysql lässt sich zwar mit SSL nutzen, wenn es mit der entsprechenden Option compiliert wird. Viele Binär-Distributionen habe diese Funktion aber nicht aktiviert. Um das herauszufinden, öffnet der Admin die SQL-Kommandozeile und gibt folgendes ein: »show variables like '%ssl%'«. Steht hinter den Angaben »have_ssl« oder »have_openssl« ein »No«, dann hat die Installation leider keine Verschlüsselung. Aber es gibt immerhin noch einen anderen Weg, als die Mysql-Quellen selbst zu übersetzen: Der Einsatz der Secure-Shell (SSH).
Sie unterstützt den Transport der Daten über einen VPN-ähnlichen geschützten Tunnel. Als erstes setzt der Administrator einen SSH-Tunnel mit Nutzername/Passwort auf. Für die Remote-Authentifizerierung sollten RSA-Keys zum Einsatz kommen. Hilfe dafür gibt es auf der Website der Linux-Distribution »archlinux«. Nachdem der Tunnel steht, geht es dann darum, die Replizierung einzurichten.
Der SSH-Tunnel verwenden Port-Forwarding, um sich mit dem TCP-Port des Slave-Servers zu verbinden, auf dem sich die replizierte Datenbank befindet. Hier ist dies der Port 7777, zu dem über SSH vom Mysql-TCP-Port 3306 auf dem Master weitergeleitet wird. Auf dem Mysql-Master muss die SSH-Tunnel-Funktion aktiviert sein. Dies ist gewöhnlich der Fall.
Auf dem Mysql-Slave führt der Admin nun das folgende Kommando aus: »ssh -f 'User'@'master_ip' -L 7777:'master_ip':3306 -N«. »User« steht dabei für einen Nutzer-Account auf dem Master-Server. Dessen IP-Adresse wird bei »master_ip« eingetragen.