Communitytreffen-Moderator
Hast du eigentlich GELESEN, was in dem Tutorial steht?
SSH Tunnels funktionieren grob gesagt so, dass du auf dem Clientrechner einen Prozess hast, der auf einen Port hört. Alles, was an diesen Port geschickt wird, wird verschlüsselt an den Server geschickt, dort entschlüsselt und weiter geschickt. Auf dem Client rufst du also zum Beispielmysql_connect("localhost:$port", $user, ""); auf, wobei $port der Port ist, den du deinem SSH Tunnel gegeben hast. Auf dem Server stellst du dann noch ein, dass dieser User ohne Passwort zugreifen darf, wenn er von localhost kommt (was er tut, weil der Endpunkt des SSH Tunnels eine neue Verbindung herstellt) Um Schaden anzurichten, bräuchte er dann erstmal den Private Key für die SSH Verbindung, der an einer Stelle auf dem Client liegt, wo er zumindest über eine Sicherheitslücke in der Website nicht rankommen sollte.
Außerdem hast du damit gleich noch deine Übertragung zwischen Client und Server verschlüsselt, wobei das vermutlich auch anderweitig gehen sollte. Ich gehe davon aus, dass MySQL von sich aus SSL kann.
Edit: es ist im Übrigen auch keine schlechte Idee, zusätzlich zum SSH Tunnel ein Passwort zu verwenden, schon allein, damit niemand vom Server aus Unsinn anstellen kann, falls er irgendwie Zugang bekommt. Allerdings solltest du auch dann sicher stellen, dass dieses Passwort nur von localhost aus gültig ist. (Allgemein halte ich es für eine schlechte Idee, Datenbankserver für jemand anderen als localhost verfügbar zu machen)
Geändert von DFYX (25.02.2010 um 18:32 Uhr)