Datenabgleich mit rsync zwischen einem FTP Server und seinem (lokalen) Rechner

Zugriff auf Speicher eines FTP Server ist schnell und einfach zu bekommen. Meist gibt es für wenige Euro bei Hostern eine Unmenge an Speicher gleich zum Webpaket hinzu. Nur wenige bieten (leider) Zugriff auch über andere Protokolle wie beispielsweise rsync geschweige denn über verschlüsselte Verbindungen wie SSH an. Möchte man den FTP Speicher trotzdem nutzen, so muss man sich anderweitig behelfen.

Da ich häufig rsync einsetze und hiermit eigentlich alle Kopier- und Abgleichvorgänge zwischen verschiedenen „Laufwerken“ erledigt werden können habe ich mal geschaut, was man machen kann, sofern man nur Zugriff per FTP hat. Und fündig bin ich bei dem Linux-Toll curlftp geworden, welches einen Speicherbereich über FTP ins lokale System einbinden kann. Danach kann man ganz normal auf dem gemounteten „Laufwerk“ mit rsync & Co. arbeiten.


    Wozu könnte man nun den FTP Speicher brauchen?

Eine Variante ist wohl, seine Backups dort abzulegen. Hat man seine lokalen Backups (auf seinem NAS) nicht nur gerne an einem Platz in den eigenen vier Wänden sondern auch außerhalb, so kann der FTP Speicher hierfür herhalten.
Allerdings sollte man gerade bei dieser Situation vorsichtig sein!
Alle Daten gehen unverschlüsselt durch das Netz und sind auch unverschlüsselt auf dem FTP Speicher. Das hat zur Folge, dass u.U. jemand unberechtigt diese Daten mitlesen kann! Man sollte sich also lieber vorher dessen im Klaren sein und u.U. lieber nur einen TrueCrypt Container auf dem Speicher ablegen. Diesen könnte man dann ebenfalls über den FTP Zugang als „lokalen“ Speicher mounten, mit TrueCrypt öffnen und dann mit rsync seine Daten syncen. Das hat zumindest den gewaltigen Vorteil, dass keiner die Daten unberechtigt mitlesen kann.


    Mounten des entfernen Speicherplatzes

Die unten beschriebenen rsync Aufrufe gehe von der Situation aus, dass der lokale Speicher zu dem FTP Speicher „hoch“gesynct werden soll. Möchte man den umgekehrten Weg gehen (also Speicher vom FTP Server zu seinem lokalen Rechner syncen), so müssen die Quell- und Zielnamen getauscht werden.

Wir legen auf dem Quellsystem (dort, wo der FTP Speicher hingemountet werden soll) ein Verzeichnis an, in welches der remote FTP Speicherplatz „reingemountet“ wird:

shell #> sudo mkdir /media/remoteftphost/

Nun rufen wir auf der Kommandozeile curlftpfs auf und geben den remote FTP Host mit:

shell #> sudo curlftpfs -o user=ftpusername -r -s ftp.hostname.zieltld /media/remoteftphost/

Hiermit mounten wir den Speicher per FTP von ftp.hostname.zieltld nach /media/remoteftphost/ auf unserem lokalen System. Der speicher steht zur Verfügung. Geht man nach /media/remoteftphost, so sieht man die auch per FTP sichtbaren Dateien und Verzeichnisse. Voilá.

Nun können wir ganz normal mit cp, rsync und was sonst noch so anfällt auf den Speicher zugreifen. Natürlich können wir auch auf dem Speicher neue Dateien anlegen und diese direkt bearbeiten. Man muss nur im Hinterkopf haben, dass alles unverschlüsselt übertragen wird. Ebenfalls muss bedacht werden, dass die Übertragung zum Teil etwas Zeit benötigt. Es ist halt kein richtiger lokaler Speicher. Und das FTP Protokoll glänzt durch unnötigen Overhead in diesem Zusammmenhang auch nicht unbedingt mit Performance…


    Warum man lieber kein FTP nehmen sollte….

  FTP ist zwar fast überall zu bekommen, hat aber Nachteile. Sicherheitsnachteile, da alles unverschlüsselt und ohne Absicherung des Datenverkehrs durchs Internet geroutet wird. Somit werden auch der Benutzername und das Passwort unverschlüsselt übertragen. Sollte irgendwer den Datenverkehr mitlesen können, kann der somit auch die Zugangsdaten herausbekommen. Daher sollte man immer zusehen, verschlüsselte Kommunikationswege zu nutzen: Also SFTP, scp, rsync über SSH usw. usf.
Leider hat sich FTP trotz dieser Sicherheitsprobleme als Protokoll für Datenverbindungen/ -austausch durchgesetzt. Die Absicherung des Datenverkehrs genießt bei vielen leider keine große Priorität. Vermutlich machen sich einige erst Gedanken über diese Probleme, wenn es zu spät ist. Also erst, wenn illegale Daten über den Speicherplatz getauscht wird und der Datenverbrauch massiv ansteigt.


    Wo man es einsetzen kann….

  Den FTP Speicher im lokalen Netzwerk von z.B. einem Netzwerkgerät (FritzBox, bilig-NAS usw.) mounten und nutzen ist, sofern man seinem Netz vertraut, wohl kein Thema. Solche Boxen gibt es ja leider immer wieder, die von richtigen Netzwerkprotokollen (AFP, NFS usw.) nicht gehört haben.
Den „FTP Speicher“ seiner FritzBox mounten um dort die Konfigurationsdateien für OpenVPN & Co. zu bearbeiten ist halt doch etwas angenehmer als per FTP die Datei herunterladen oder, sofern der FTP Client das unterstützt, live zu ändern.


    Absicherung des Datenverkehrs durch VPN

  Gibt es für den Zugriff tatsächlich nur FTP und man möchte die Daten während der Übertratung absichern, so ist der Weg über einen VPN Tunnel ideal. Einfach einen OpenVPN/ IPsec VPN Tunnel zum Zielsystem aufbauen und den Datenverkehr durch diesen Tunnel tunneln. Damit hat man zumindest den Datenverkehr zwischen den Tunnelendpunkten (sein Heimnetz bzw. PC und dem Zielsystem) gesichert. Der Datenverkehr lässt sich beim Transport durch das Internet nicht mehr mitlesen. Natürlich kann dann trotzdem noch immer auf dem Zielsystem dieser dann entschlüsselte Datenverkehr gelesen werden, dieses ist im Vergleich zu dem komplett unverschlüsselten Datenverkehr wohl das geringste Risiko.
Nimmt man dann einen TrueCrypt Container als Speicher auf dem FTP Server, so ist man wohl recht gut gesichert. Der Container auf dem Zielsystem lässt sich nicht entschlüsseln, der Datenaustausch findet über den OpenVPN Tunnel statt. Das Risiko ist somit deutlich reduziert und sollte auch einen paranoid angehauchten Menschen beruhigt schlafen lassen….


Hinweise

  Man sollte bei rsync immer vorsichtig damit sein, vorschnell die Optionen --delete oder sogar --delete-after zu nutzen. Macht man hierbei etwas falsch, so könnten Daten schnell mal den Weg allen irdischen gehen… Hat man dann nicht noch ein drittes Backup, so sieht es schlecht aus….
Also vor allem bei der Nutzung von Scripten Vorsicht walten lassen. Lieber einmal zu viel prüfen, ob der Speicher wirklich gemountet ist und nicht voreilig mit delete-Optionen sein.

Ebenfalls, wie weiter oben schon angesprochen, sind alle Daten beim FTP Protokoll unverschlüsselt! Ohne weitere Maßnahmen können Benutzername und Passwort sowie der komplette Datenverkehr mitgelesen werden!

Dieser Beitrag wurde unter Backup, Dokus und Tipps, FritzBox, Linux/ UNIX abgelegt und mit , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

1 Antwort zu Datenabgleich mit rsync zwischen einem FTP Server und seinem (lokalen) Rechner

  1. Huskynarr sagt:

    Danke für den Tipp. Ich hab ewig nach Möglichkeiten zum syncen gesucht und vergessen das man mounten kann. 😀

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert