15.7.2020
Eine Anleitung, wie sich mit Hilfe von Filezilla große Dateien mit dem FTP-Protokoll über das Internet verschlüsselt verschicken lassen. Dazu ist für den Betrieb des FTP-Servers, der auf dem eigenen Windows-Rechner installiert ist, die Firewall von Windows zu verändern. Im Router sind außerdem Portweiterleitungen vorzunehmen. Dies ist notwendig, damit der eigene FTP-Server auch über das Internet erreichbar ist.
Aufgabe: Große Dateien mit einer Größe von bis mehreren GigaByte (z.B. der eigene Urlaubsfilm) sollen ohne Umwege von PC zu PC über das Internet verschickt werden. E-Mail-Dienste und andere Messenger-Dienste scheitern meistens an dieser Aufgabe. Die Software muss allgemein verfügbar und kostenlos sein.
Lösung: Verschlüsselte Dateiübertragung mit dem FTP-Protokoll und der Software Filezilla Client und Filezilla Server
Ausgangsbedingungen: Der FTP-Server soll nur je nach Bedarf in Betrieb sein und befindet sich deshalb auf meinem Notebook mit Window 10 in einem LAN. Freunde können nach Absprache mit einer FTP-Client-Software auf den FTP-Server zugreifen. Dazu bekommt jeder Nutzer einen Account mit den Zugangsdaten bestehend aus Benutzername und Passwort. Die zu verschickenden Dateien sind in einem Ordner auf einer USB-Festplatte unterbracht, die direkt am Router über USB angeschlossen ist und somit über das LAN erreichbar ist. Der FTP-Server muss sich so einstellen lassen, dass die Nutzer nur auf diesen einen Ordner Zugriff haben, auf dem sie die folgende Datei-Berechtigungen erhalten können, die sich einstellen lassen: Herunterladen, Aufspielen und Löschen. Die Lösung ist also für Freundeskreise und Verwandte gedacht, die z.B. gelegentlich und für private Zwecke ihre Urlaubsfotos, Urlaubsfilme u.s.w. untereinander zur Verfügung stellen wollen, wenn dies urheberrechtlich keine Bedenken darstellt.
Download des FileZilla Server: Empfehlenswert für FileZilla Server ist der Download von https://filezilla-project.org/download.php?show_all=1&type=server. Enthält der Dateiname des Installers Begriffe wie „sponsored“, ist bei der Installation aufzupassen, damit nicht zusätzliche Software installiert wird.
Installation des Filezilla FTP-Servers: Wenn wir den FTP-Server nur gelegentlich verwenden wollen, dann ist bei der Installation der Server so einzustellen, dass er manuell startet und nicht automatisch beim Hochfahren von Windows. Leider lässt sich diese Eigenschaft nur durch eine Neuinstallation des Filezilla Server ändern.
Einrichten des Filezilla FTP-Servers auf Windows 10: Im Prinzip geht es auch auf Linux und weiteren Betriebssystem. Ich habe meine Erfahrungen auf Windows 10 gesammelt. Voraussetzung ist, dass der FTP-Server über das Internet erreichbar ist. Deshalb sind im Router folgende Portweiterleitungen für TCP/UDP (vielleicht reicht auch nur TCP) einzurichten. Die Ports lauten:
20, 21, 990, 10100 – 10200
Im Router ist noch die lokale IP des Notebooks (oder eines anderen Geräts) anzugeben, auf dem der FTP-Server installiert ist. Deshalb ist die IP-Adresse des Notebooks (oder was immer es ist) statisch einzurichten, damit sie sich nicht dauernd ändert. Unter Windows 10 gehen wir dazu auf Einstellungen – Netzwerk und Internet – Adapteroptionen ändern – Ethernet (oder WLAN) – Eigenschaften – Internet Protocol Version 4 (TCP/IPv4) – Eigenschaften – Folgende IP-Adresse verwenden – IP-Einstellungen eintragen. Das Notebook sollt über LAN verbunden sein, da WLAN für die Übertragung größerer Dateien leider oft nicht stabil genug ist, wenn es durch Mehrfachbelegungen der WLAN-Kanäle gestört wird.
Nun installieren wir Filezilla Server von https://filezilla-project.org/ und richten ihn ein. Dazu gibt es schon schöne Beschreibungen unter
und
https://www.configserverfirewall.com/windows-10/filezilla-server-windows-10/
Der erste Link erklärt, wie der Filezilla-Server für FTP-TSL, also für eine verschlüsselte Datenübertragung, einzurichten ist. Ganz wichtig ist, dass unter „Passiv Mode Settings“ die Ports im Bereich von 10100 bis 10200 einzutragen sind. Im nachfolgenden Bild nicht vergessen unter „Use the following IP:“ die öffentliche IP des eigenen Internetzugangs eintragen, der im Bild noch fehlt. Sollte sie sich ändern, dann „Retrieve external IP adress from:“ ausprobieren.
Die Einrichtung der Benutzer-Accounts erklärt sich fast von selbst. Für jeden Benutzer (User) lassen sich die Zugangsrechte verwalten. Bequemer geht es, wenn wir die Benutzer einer Gruppe (group) zuordnen und für diese Gruppe den freigegebenen Ordner auf der Festplatte festlegen. In meinem Fall greift der FTP-Server übe das LAN auf eine USB-Festplatte zu, die mit dem Router verbunden ist. Auch das geht.
Der zweite Link erklärt, wie die Firewall von Windows 10 für den FTP-Server zu öffnen ist. Ohne die Einrichtung der Firewall ist kein Zugriff auf den FTP-Server über das Internet möglich. Da die Seite auf Englisch verfasst ist, hier in Stichworten die Vorgehensweise, wie die Ports für den Filezilla Server zu öffnen sind: Suchbegriff Windows Defender Firewall – Erweiterte Einstellung – Eingehende Regeln – Filezilla Server in der Liste – Die TCP-Ports 20, 21, 990, 10100 – 10200 für Filezilla Server freigeben. Mit ein bisschen Überlegen geht es.
Testen der Erreichbarkeit: Ob der Server über das Internet erreichbar ist, lässt sich auf https://ftptest.net/ testen.
Wie können die Nutzer den FTP-Server erreichen? Dazu müssen sie z.B. das Programm Filezilla Client installieren, das unter https://filezilla-project.org/ erhältlich ist.
Unter Datei – Server Manager einen neuen Server einrichten, für den wir den Zugang haben wollen. Dann können wir unsere Zugangsdaten (Benutzername, Passwort) eintragen. Wenn wir den FTP-Server über das Internet erreichen wollen, müssen wir noch unter „Server“ die öffentliche IP des Internet-Zugangs eintragen, auf dem sich der Server befindet. Mit der Web-Suche nach „Wie ist meine IP?“ finden wir unsere eigene öffentliche IP heraus und müssen sie den Benutzern mitteilen. Leider ändert sich dies IP ab und zu bei den meisten Internetzugängen. Wenn sich der Nutzer innerhalb des eigenen LANS befindet, tragen wir unter „Server“ die lokale statische IP des Rechners ein, auf dem sich der FTP-Server befindet.
Beim der ersten Verbindung mit einem Server, der mit TLS verschlüsselt ist, erscheint das Zertifikat, das wir nur bestätigen müssen.
Einrichten eines neuen FTP-Zugangs in FileZilla Client.
Wenn wir den FTP-Server nur innerhalb des eigenen Lan verwenden wollen, brauchen wie keine Portweiterleitung im Router vornehmen und die die Firewall muss (wahrscheinlich) ebenfalls nicht geändert werden.
Passwort verwenden: Ein Passwort ist für das Einloggen unbedingt erforderlich, da der FTP-Server regelmäßig Angriffen aus dem Internet ausgesetzt ist. Dies ist aus den Protokollen ersichtlich. Die dort verdächtigen IP-Adressen lassen sich mit https://www.abuseipdb.com/ überprüfen. Ohne Passwort könnten sie eindringen und sie kommen aus aller Welt. Deshalb sollte der FTP-Server auch nur nach Bedarf in Betrieb sein. Ansonsten würde Fail2Ban Abhilfe leisten, das allerdings nur auf Linux/POSIXe läuft.
Für den Dauereinsatz ist deshalb ein Raspberry Pi mit Linux geplant, auf dem neben FileZilla Server noch meine Asterisk -Konfiguration und Fail2Ban läuft.
Windows-Update: Nach einem Update von Windows 10 funktionierte der FTP-Server nicht mehr. Eine Neuinstallation des Fillezilla Server half auch nicht. Abhilfe war ein Wiederherstellungspunkt, der vor dem Update angelegt wurde. Den FTP-Server auf Windows 10 zu betreiben, stellt also keine professionelle Lösung dar.
Anleitung zur Bedienung des FTP-Clients AndFTP für Android. Wenn wie in meinem Fall der Zugang verschlüsselt ist, ist beim Einrichten des FTP-Zugangs als Typ „FTPS (Explicit FTP over TSL)“ zu wählen.
FTP-Zugang auf Android: Dazu habe ich die App AndFTP aus dem Google Playstore mit Erfolg getestet. Zum Beispiel lassen sich Bilder, die sich auf dem FTP-Server befinden, direkt betrachten. Für den Test kam eine VPN-Verbindung zum Einsatz, damit ich von außerhalb des LANs zugreifen kann. Mit AndFTP lassen sich Dateien vom FTP-Server herunterladen oder auf dem Server hochladen. Das Hochladen funktioniert auch aus anderen Programmen heraus mit der Teilen-Funktion nach dem gleichen Prinzip, wie das Verschicken von Dateien (meisten Bildern) via E-Mail, Cloud-Diensten oder Messenger-Diensten.
Fazit: Mit seinem eigenen FTP-Server ist man unabhängig von Drittanbietern und überträgt seine Daten verschlüsselt ohne Umwege direkt auf seine eigene Festplatte.
Meinen FTP-Server schalte ich nur gelegentlich ein, wenn dazu Bedarf besteht. Dies geschieht selten. Es ist aber eine feine Sache diese Möglichkeit zu besitzen und anbieten zu können.