Hintergrund

Dein eigener FTP Server leicht gemacht

Es gab mal eine Zeit, in der FTP Server für so ziemlich alles genutzt wurden. Die ist vorbei. Doch FTP ist nicht tot. Als Backup-System kann das alte Protokoll durchaus noch hinhalten. Hier ein Guide für eine Backup-Lösung.

Die Festplatten im NAS spulen auf. Ein kurzer Klack-Laut, dann ein kurzes Summen. Irgendwer greift von aussen auf die Platten zu, denn weder Server noch PC haben irgendwelche Datentransfers zu verzeichnen. Muss wohl einer der Video Producers, Stephanie Tresch oder Manuel Wenk, sein. Denn sie sind die einzigen Nutzer des FTP Servers, auf dem Synology NAS, das hinter meinem Pult steht.

Den FTP Server brauchen sie zwar nicht zwingend, aber sie nutzen ihn mal trotzdem als Experiment. Denn irgendwie muss ich ja Datenmengen haben, die die Funktionalität meines Servers testen.

Das Setup eines solchen Servers besteht im Wesentlichen aus fünf Schritten.

  1. Einrichten des Shares
  2. Definition der User Group
  3. User-Generierung
  4. DDNS für externen Zugang einrichten
  5. Einrichten des FTP Clients

Nach diesem Guide kannst du das alles selbst.

Wann ergibt ein FTP Server Sinn?

FTP Server sind zwar im Zeitalter von Clouds etwas in die Jahre gekommen und wirken leicht angestaubt, sind aber trotzdem noch sinnvoll, wenn du eine anständige Backup-Lösung suchst. Für aktive Datennutzung empfehle ich mittlerweile Cloud Environments – aus Sicherheitssicht aber nicht zwingend iCloud oder Google Drive, sondern ebenfalls NAS-Lösungen – aber als Sicherung von Projektdaten passt der FTP Server hervorragend.

  • Produkttest

    Office auf dem NAS: Ein Blick auf Synology Office Station

    von Dominik Bärlocher

FTP Server sind dann vernünftig, wenn du Daten archivieren musst. Klar, früher wurden die Server anstelle von Cloud Shares genutzt und können auch heute noch zum Datenaustausch genutzt werden, aber wir verwenden in diesem Beispiel den Server als Backup-Lösung.

Das Share: Die Festplatte für deine User

Da ein NAS nach dem initialen Setup aus einem grossen Share besteht – in meinem Fall sind das acht Vier-Terabyte-Platten in einem Synology DS1817+ – musst du zuerst ein Share einrichten, damit deine FTP User nicht einfach auf alle Daten zugreifen können.

Synology Ds118 (0 TB)
NAS

Synology Ds118

0 TB

Synology DS218j (WD Red)
NAS

Synology DS218j

WD Red

Synology DS218play Softbundle
NAS

Synology DS218play Softbundle

Synology DS218play Softbundle
NAS

Synology DS218play Softbundle

Synology Ds218+ (0 TB)
NAS

Synology Ds218+

0 TB

  1. Rufe das Admin Interface auf Port 5000 in deinem Browser auf. In meinem Temp Setup ist das die IP 192.168.1.6. Also gebe ich im Browser oben http://192.168.1.6:5000/ ein.
  1. Gehe im Control Panel auf Shared Folder
  2. Klicke oben links auf Create
  1. Ich nenne mein Share mal «digitec» und belasse alle anderen Settings so, wie sie sind. Also OK.

Damit ist der Speicher mal so ausgelegt, dass die User Group der Videoproduzenten einen Ort haben, an dem sie Dinge abspeichern können. Jetzt müssen wir den Server von aussen her zugänglich machen.

Wichtig: Die Sicherheitseinstellungen überlasse ich dir. Im laufenden Beispiel werden wir auf die Sicherheitseinstellungen verzichten, da wir sonst den Rahmen dieses Artikels sprengen würden. Aber bitte, überleg dir gut, welche Sicherheitsanforderungen du an deinen Server stellst.

  1. Im Control Panel, gehe auf File Services
  2. Wähle den Tab FTP
  1. Aktiviere die FTP Services, die du nutzen möchtest. Im laufenden Beispiel habe ich einfach mal alle Services aktiviert: FTP, FTP mit SSL/TLS und SFTP. Das rate ich dir aber nicht. Such dir deinen Service aus, je nach dem, wie sensitiv die Daten sind, die du transferieren willst
  1. In den General Options meine ich, dass «No Speed Limit» die richtige Option ist. Denn das Backup sollte so schnell wie möglich gehen.

Beim Speed Limit heisst das nicht zwingend, dass du blitzschnelle Geschwindigkeiten hinkriegst. Die normalen Flaschenhälse der Verbindung Computer – Intranet/Internet – Backup betreffen auch diese Verbindung. Wenn das Backup an einem Glasfaseranschluss hängt, dann ist die Kupferverbindung des Computers das Problem, das den Transfer langsam macht.

Damit ist das Share definiert und der Zugang, zugegebenermassen schlecht, geregelt. Gehen wir weiter zum nächsten Schritt.

User Group: Berechtigungen, aber nicht granular

Mein Beispielserver ist für drei Personen ausgelegt, die allesamt die gleichen Berechtigungen brauchen. Ich kann jetzt entweder drei User erstellen und jedem User separat Berechtigungen erteilen. Das ist aber etwas mühsam und kann zu menschlichem Fehler führen. Dazu gibt es User Groups. In einer User Group kannst du Berechtigungen für Teams erteilen. Klar, wenn ich nur das Videoteam auf meinem einen Share habe, dann ist das nicht wichtig. Aber angenommen, ich muss in einer Woche ein Share für die Editors der Galaxus-Redaktion machen. Dann brauche ich ein zweites Share und andere Berechtigungen.

Synology Ds718+
NAS

Synology Ds718+

Synology Ds418 (4 x 1 TB)
NAS

Synology Ds418

4 x 1 TB

Synology DS418play
NAS

Synology DS418play

Synology Ds918+
NAS

Synology Ds918+

Synology Ds1517+
NAS

Synology Ds1517+

Synology Ds1817+ (0 TB)
NAS

Synology Ds1817+

0 TB

Wichtig: Die Berechtigungen der User Group sind nicht granular, sie sind also nicht detailliert sondern mehr eine Art Baseline für die Berechtigungen der Benutzer. Im Wesentlichen stellst du in einer User Group fest, auf welches Share die User zugreifen und welche Berechtigungen die User der Gruppe minimal haben sollen. Granulare Berechtigungen werden nachher bei der Generierung der User vergeben.

  1. Gehe im Control Panel auf Group
  1. Klicke oben auf Create
  1. Als Group Name wähle ich «digitec_video» und als Description «Videodepartment»
  2. Als Read/Write Permission gebe ich der User Group das digitec-Share an. Damit können die User in unserem Beispiel auf dem Share Daten lesen, also herunterladen, und Daten schreiben, sprich hochladen.
  1. Die User Quota ignoriere ich, weil ich kein Limit auf die Datenmenge setzen will, die die beiden Videoproduzenten transferieren dürfen
  2. Die Application Permissions geben an, welche Services die User der Gruppe nutzen dürfen. Hier kreuze ich trotz der Fülle an Services nur FTP an.
  1. Speed Limit kann ich ebenfalls ignorieren, weil ich will der Verbindung nicht noch zusätzlich Bremsen verpassen.
  2. Zum Abschluss kann ich noch alle Settings überprüfen und dann Apply klicken.

Damit steht die User Group. Wenn ich aber beschliesse, dass Manuel Wenk zusätzliche Rechte braucht, oder Stephanie Tresch ein Speed Limit braucht, dann kann ich das in den Permissions der User einstellen. Aber das Grundgerüst für die Berechtigungen der beiden ist gelegt.

User-Konten: Zugang und granulare Berechtigungen

Bis jetzt habe ich noch keine Accounts erstellt, mit denen die beiden Videoproduzenten arbeiten können. Das ändert sich jetzt, denn so kann ich benutzerspezifische Einstellungen vornehmen und sicherstellen, dass ein Benutzer den Zugriff auf die Daten verliert, sollte er aus dem Unternehmen ausscheiden.

  1. Im Control Panel → User
  1. Create
  1. Gib den Namen des Users ein. Von Abständen rate ich ab. Verwende als Trennzeichen entweder den Punkt «.» oder den Underscore «_».
  1. Da ich zu faul bin, ein sicheres Passwort auszudenken, lasse ich das die Maschine machen. Daher, klick auf «Generate Random Password». Da mir das Passwort im Klartext angezeigt wird und nachher im Klartext an die User verschickt wird, rate ich den Nutzern, das Mail mit den Zugangsdaten zu löschen, nachdem der FTP Client eingerichtet ist.
  2. Im nächsten Bildschirm kann ich den Benutzer einer Gruppe zuweisen. Den Wert «users» kann ich nicht entfernen, aber ich füge «digitec_video» hinzu.
  1. Die granularen Permissions kommen hier zum Tragen. Unter «Group Permissions» siehst du «Read/Write», was ich oben in den Group Permissions definiert habe. Daher kann ich in diesem Screen einfach «Next» drücken.
  1. Da ich in der Group schon keine Datenquote gesetzt habe, klicke ich im Bildschirm «User Quota» auf «Next» ohne etwas einzustellen.
  2. Bei den «Application Permissions» verhält es sich gleich: Einfach «Next», denn die Berechtigungen für den FTP-Zugriff habe ich in der User Group definiert.
  3. Auch bei den «Speed Settings» → «Next».
  4. «Apply».

Alle granularen Berechtigungen kann ich später noch editieren, indem ich den User auswähle und oben auf «Edit» klicke. Also kann ich Manuel noch ein Speed Limit aufdrücken, wenn er beim Upload eines Videoprojekt-Backups versehentlich alle anderen Services meines Netzes abschiesst. Oder ich kann Stephanie Tresch die Leserechte entziehen, wenn ich das für richtig erachte.

DDNS: Damit die User auf den Server zugreifen können

Damit die beiden Videoproduzenten ihre FTP Clients eine Adresse angeben können, mit der sie auf den Server zugreifen können, muss ich dem NAS eine externe Adresse zuweisen. Synology macht das recht einfach.

Hier unterlasse ich es aber, einen detaillierten Guide zu schreiben, weil hier in den seltensten Fällen irgendwelche Standard-Einstellungen zum Tragen kommen. Firmen haben unter Umständen ihre eigenen Services, die du nutzen kannst. Die dann natürlich auch dediziert für FTP ausgelegt sind.

Solltest du das aber für dein Heim-NAS machen, dann kannst du als Service Provider «Synology» wählen und dann dem Wizard folgen. Denn der Wizard übernimmt auch die Einstellungen am Router, wo Ports forwarded werden müssen. Alles in allem, eine recht einfache Geschichte, aber halt arg umgebungsspezifisch, was einen detaillierten Guide unnütz und verwirrend machen würde.

Der FTP Client: Das andere Ende

Damit ist das NAS fertig eingerichtet, damit die Videoproduzenten nach getaner Arbeit ihre Daten von ihren lokalen Rechnern auf den Server laden können und so ein sauberes, einfaches Backup machen können. Klar, eine vernünftige Backup-Lösung hat Redundanz und alles, aber wir machen ein einfaches Beispiel, weil es um die technologische Umsetzung eines simplen FTP Servers geht. Proof of Concept statt funktionales System.

Damit Manuel und Stephanie ihre Daten hochladen können, müssen sie einen FTP Client nutzen.

  • Unter Windows empfehle ich WinSCP
  • Unter Mac und Linux empfehle ich FileZilla

Diese Wahl ist nicht der Weisheit letzter Schluss. Die Wahl des FTP Clients ist dir überlassen. Ich empfehle die Clients, weil ich auf den Plattformen schon ewig mit denen arbeite und sie mich nie im Stich gelassen haben.

Windows: Verbindungseinstellungen unter WinSCP

Die Einrichtung des FTP Clients ist recht einfach und geradlinig. Nach dem Download einfach WinSCP öffnen. Wenn du nur FTP nutzt und keine weiteren Sicherheitsvorkehrungen getroffen hast – wovon ich dir explizit ausserhalb von Systemtests und Beispielen abrate – dann sehen die Einstellungen so aus. Der Kern des Problems mit FTP ist, dass FTP und Encryption sich nicht besonders gut vertragen.

Für all die, die sich diesen Guide auf mobilen Geräten ansehen:

  • File Protocol: FTP
  • Encryption: No Encryption
  • Host Name: Der DDNS-Eintrag, den du oben erstellt hast
  • Port Number: 21
  • User Name: Name des Benutzers
  • Passwort: Das Passwort, das von NAS generiert worden ist.

Dann auf «Login» klicken und Username wie auch das Passwort speichern, wenn das so gewünscht ist.

Linux/Mac: Verbindungseinstellungen unter FileZilla

Unter Mac kannst du FileZilla wie jedes andere Programm installieren. Unter Linux kannst du Filezilla mit folgendem Kommando im Terminal installieren.

Das Terminal macht vieles einfacher, aber grafisch langweiliger
sudo apt-get install filezilla

Und wenn du noch nie Linux gesehen hast, hier die aktuelle Version von Kali Linux, einer Linux-Distribution, die auf Information Security und Penetration Testing ausgelegt ist. Denn von Linux gibt es x Versionen, die populärsten davon wohl Ubuntu und Fedora. Linux ist in der Regel gratis. Cool, oder?

Kali Linux mit offenem Terminal
  1. In Filezilla, gehe zu File → Site Manager.
  1. Gib die Daten wie oben ein.
  2. «Connect».

Nun können die beiden Videoproduzenten ihre Daten per Drag and Drop auf den Server werfen und so ein sauberes Backup erstellen.

rwx: WTF bei der Ordnererstellung

Wenn du unter WinSCP einen neuen Ordner auf dem FTP Server erstellst, dann wirst du – vielleicht zum ersten Mal – mit Unix Permissions konfrontiert. Unix Permissions sind einfach. Es gibt in unserem Fall drei Werte, die du beachten musst.

  • r: Read - Lesen
  • w: Write - Schreiben
  • x: Execute - Ausführen

Wenn du in deinem Ordner alles können willst, dann setzt du die Permissions so:

rwx

Wenn du Lesen und Schreiben, nicht aber ausführen willst:

rw-x

Denn die Permissions, so wie du sie auf dem Bildschirm siehst, können nur «erlaubt» oder «verboten» sein. Wenn erlaubt, dann steht der Buchstabe einfach so da. Wenn verboten, dann steht ein - vor dem Buchstaben.

Dinge, die du beim Aufsetzen eines Servers unbedingt abklären solltest

Der oben beschriebene Weg, einen FTP Server aufzusetzen, ist in der Praxis nicht zu empfehlen. Denn es fehlt jede Verschlüsselung, und ich habe mit groben Verstössen gegen Best Practices in puncto Sicherheit gehandelt.

Warum? Weil je nach Umfeld herrschen andere Sicherheitsvorkehrungen. Wenn du in einem Intranet arbeitest, weder NAS noch Computer sich in der Verbindung aus deinem LAN bewegen müssen, dann kann ein FTP Server wie oben beschrieben unter Umständen genügen. Sobald aber eine Verbindung über das Internet läuft, dann muss eine Form der Encryption her. Welche? Das überlasse ich dir.

Oder: Du kannst dir überlegen, das Backup via Cloud zu handhaben, die bereits auf externe Verbindungen ausgelegt ist. Ich werde mir das mal ansehen.

So. Fertig. Viel Spass beim FTP-Tüfteln und den Erinnerungen an eine Zeit, in der FTP noch das Alpha und Omega des File Transfers war.

37 Personen gefällt dieser Artikel


User Avatar
User Avatar

Journalist. Autor. Hacker. Ich bin Geschichtenerzähler und suche Grenzen, Geheimnisse und Tabus. Ich dokumentiere die Welt, schwarz auf weiss. Nicht, weil ich kann, sondern weil ich nicht anders kann.

25 Kommentare

Avatar
later