SFTP vorbereiten und nutzen
Zur Übertragung von Daten ist derzeit das FTP-Protokoll immer noch sehr weit verbreitet. Da das Internet auch schon vor über 30 Jahren Neuland war, hat man sich seinerzeit über Datensicherheit keine besonders großen Gedanken gemacht, dementsprechend ist FTP in seiner Urform vollständig unverschlüsselt. Zwar lässt sich die Kommunikation mit FTPS immerhin auf dem Kontroll-Kanal durch TLS schützen, die Daten selbst werden jedoch gemeinhin unverschlüsselt übertragen.
Auch heute ist das Internet noch Neuland, jedoch gibt es mittlerweile etablierte und nicht weniger komfortable Möglichkeiten, Daten wirklich sicher zwischen zwei Rechnern zu übertragen. Eine sehr empfehlenswerte Variante ist hierbei SFTP in Kombination mit WinSCP als Client. Da die Übertragung in dieser Variante auf SSH basiert sind sowohl Kommunikation als auch zu übertragende Daten komplett verschlüsselt. daneben begnügt sich SFTP mit einem einzigen Port, was insbesondere die Verwaltung von Firewall-Regeln im Vergleich zu FTP(S) stark vereinfacht.
Mac: SSH-Schlüssel erzeugen
Für Mac-Benutzer empfehlen wir Transmit, hier finden Sie eine Anleitung: https://library.panic.com/general/ssh-keys/
Windows: SSH-Schlüssel erzeugen
Um einen SSH-Schlüssel für die Nutzung mit SFTP zu erstellen, benötigt man zuerst das kostenlose Tool „puttygen“, es kann unter https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html in der jeweils aktuellsten Version heruntergeladen werden. Da RSA als Algorithmus inzwischen auch schon wieder aus der Mode kommt (nein, es ist nicht per se unsicher), nutzt man heutzutage den Edwards-curve Digital Signature Algorithmus zur Schlüsselerzeugung denn er ist bei gleichem Sicherheitsstandard resourcenschonender. Ed25519 als Kurve ist fein.
Mit Klick auf den Button „Generate“ beginnt die Erzeugung des Schlüssels. Durch Bewegen der Maus im oberen Bereich des Fensters sorgt man für einen gewissen Zufallsfaktor.
Ist der Vorgang abgeschlossen und das Schlüsselpaar erstellt, sollte man einen aussagekräftigen Kommentar im Feld „Key comment“ vergeben und den Schlüssel mit einem Passwort schützen. Es wird dringend davon abgeraten, Schlüssel ohne Passwort in produktiven Umgebungen einzusetzen.
Mit Klick auf „Save private key“ speichert man den privaten Teil des Schlüssels nun sicher ab. Wichtig: Der private Teil eines SSH-Schlüssels ist essentiell und unersetzlich. Geht er verloren gibt es keine Möglichkeit, ihn wiederherzustellen. Den öffentlichen Teil des Schlüssels speichert man ebenfalls über den entsprechenden Button ab. Wer seinen Administratoren die Arbeit erleichtern möchte, legt sich auch den Inhalt des oberen Kastens (den mit dem Buchstabensalat) in einer Text-Datei ab – damit erspart man den Admins die Konvertierung, aber das nur nebenbei.
Um eine neue Verbindung mit diesem Schlüssel zu nutzen, übergibt man den öffentlichen Teil des Schlüssels an den Admin / Serverbetreiber des Zielsystems. Der hinterlegt auf seinem System den Schlüssel und man erhält von ihm einen Hostnamen (hier „sftp_demo.example.org“) und einen Benutzername (hier „demouser“), für den der Schlüssel genutzt werden kann.
Einrichtung des SFTP-Clients
Es existieren div. Client-Programme zur Arbeit mit SFTP, die Einrichtung soll nun am Beispiel von WinSCP erläutert werden. WinSCP kann unter https://winscp.net/eng/download.php kostenfrei heruntergeladen werden. Startet man WinSCP nach der Installation und öffnet dann einen neuen Verbindungstab, öffnet sich automatisch der Verbindungsmanager.
Als Übertragungsprotokoll wählt man nun also SFTP aus, Rechnername und Benutzername haben Sie von Ihrem Anbieter erhalten, tragen Sie sie entsprechend ein. Es fehlt nun noch der Hinweis für WinSCP, welcher Schlüssel genutzt werden soll. Klicken Sie dazu auf den Button „Erweitert“. Wählen Sie im neu erscheinenden Fenster links die Option „Authentifizierung“. Hinterlegen Sie hier im Feld „Datei mit privatem Schlüssel“ den zuvor erzeugten Schlüssel.
Schließen Sie das Fenster mit Klick auf „OK“, sie gelangen nun wieder in die Verbindungsübersicht. Sie können die Verbindung nun für spätere Nutzungen speichern.
Mit Klick auf „Anmelden“ starten Sie den Verbindungsaufbau.
Bei der ersten Verbindung werden Sie darauf hingewiesen, dass der vom Server gesendete Schlüssel nun lokal gespeichert und bei späteren Verbindungen geprüft wird. Damit wird sichergestellt, dass Sie sich auch zukünftig immer mit dem korrekten Server verbinden. Bestätigen Sie den Hinweis. Im Anschluss werden Sie aufgefordert, das Passwort einzugeben, welches Sie beim Erstellen des Schlüssels vergeben haben.
Nach der Eingabe des Passworts und der Bestätigung mit „OK“ stellt WinSCP die Verbindung mit dem Zielsystem her und wechselt in die Commander-Ansicht.
Sie können nun wie gewohnt auf dem Zielsystem arbeiten.
Noch ein abschließendes Wort zu FileZilla: Nach wie vor nutzen viele Anwender FileZilla als FTP-Client. Wir raten explizit von diesem Programm ab, da Zugangsdaten ohne weitere Konfiguration im Klartext abgespeichert und damit relativ einfach ausgespäht und missbraucht werden können. Obgleich das Risiko bei der Arbeit mit SFTP etwas gemindert ist, ist ein derartig sorgloser Umgang mit sensiblen Daten abzulehnen.