FTP-Server-Dienst installieren und konfigurieren

Übertragung von Daten mit File Transport Protocol

File Transport Protocol (FTP) galt lange Zeit als eine sichere Protokoll zum Datentransport. Der Grund hierfür ist, dass das Protokoll nicht die Fähigkeit hat Dienste auszuführen. Doch heute gilt FTP nicht mehr als sicher, da eine unverschlüsselte Übertragung vorliegt, welche vom möglichen Angreifer abgefangen werden kann. Außerdem lässt sich FTP nicht hinter einer Firewall betreiben, da es zusätzlich zum Standard Port 21 einen zufälligen High Port nutzt.

Alternative Protokolle, die einen verschlüsselten Datentransport anbieten sind Secure FTP (SFTP) und FTP over SSL (FTPS). Für die lokale Anwendung kann FTP allerdings noch nützlich sein, da es viele meist kostenlose Anwendungen gibt, die einfach und übersichtlich sind. Daher wird hier gezeigt, wie auf einem Ubuntu Server der FTP-Server-Dienst installiert und konfiguriert werden kann.
Die Annahme bei einer Server-Client- Verbindung mittels FTP ist, dass du bereits einen Server besitzt und Zugang hast.

Server vorbereiten

Einer der ersten Schritte nach der Erstellung eines Servers ist, sicherzustellen, dass dieser auf dem neuesten Stand ist und alle aktuelle Pakete enthält. Falls du es noch nicht gemacht hast, dann verwende bitte folgenden Befehl:

 sudo apt -y update && sudo apt -y upgrade && sudo apt -y dist-upgrade 

Wie du erkennen kannst, ist bei jedem Teilbefehl ggf. ein »sudo« notwendig. Nach kurzer Wartezeit ist der Server auf dem neuesten Stand. Es kann weitergehen.

FTP Server Dienst installieren

Da FTP ein sehr verbreitetes Protokoll ist, gibt es auch viele Anwendungen, die auf FTP aufbauen. Hier wird der Very Secure FTP Daemon (vsftpd)-Server gezeigt. Im Gegensatz zu den Alternativen aus dem Universe- oder Multiverse-Zweig, werden Main-Zweig-Pakete regelmäßig gepflegt und mit Sicherheitsupdates versorgt. Außerdem ist vsftpd sehr auf Sicherheit ausgelegt. Mit folgendem Befehl kann vsftpd auf deinem System installiert werden:

 sudo apt-get install vsftpd -y 

Um einen FTP-Server starten zu können, gib bitte den folgenden Befehl in dein Terminal ein:

 sudo systemctl start vsftpd 

Für eine Verbindung braucht man einen User, der auch die Zugriffsrechte auf Client und Server hat. Dieser Benutzer muss einmal klar definiert werden und dann die notwendigen Rechte erhalten. Zunächst definieren wir einen User, dann weisen wir ihm ein Verzeichnis zu und geben ihm anschließend die Admin Rechte:

 
sudo adduser ftpuser
sudo mkdir /home/ftpuser/ftp
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo mkdir /home/ftpuser/ftp/admin
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/admin

Als nächstes schauen wir in Konfigurationsdatei von vsftpd und passen wir dort die Einstellungen an.

Bist du bereit zu starten?

Oder hast du noch Fragen? Lasse dir jetzt dein Konto erstellen oder dich in einem persönlichen Gespräch beraten.

FTP-Server-Dienst konfigurieren

Zum Konfigurieren des FTP-Server-Dienstes öffnest du die Config-Datei /etc/vsftpd.conf mit einem beliebigen Text-Editor. Hier wird nano dafür verwendet.

 sudo nano /etc/vsftpd.conf 

Dabei ist zu beachten, dass ein Eintrag nicht doppelt vorkommen darf. Es muss geprüft werden, ob sie existieren bevor sie aus diesem Tutorial herauskopiert werden. Es ist zu erwarten, dass alle Optionen irgendwo in der Konfigurationsdatei bereits definiert sind.
Wichtig ist noch, die Rechte von anonymen Benutzern für lesen, schreiben, löschen und herunterladen, zu deaktivieren.
Achtung! Anonyme Benutzer sollten nur in einem geschützten Netzwerk verwendet werden, da ansonsten die Gefahr besteht, dass der Server infiltriert werden könnte.


listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
user_sub_token=$USER
local_root=/home/$USER/ftp

Um folgende Einträge in der Konfiguration zu editieren, sollten sie nicht vorhanden sein, füge sie unten hinzu:


local_umask=022
pasv_min_port=10000
pasv_max_port=11000

Nachdem du die Einstellungen aktiviert oder zum Teil hinzugefügt hast, musst du deine Änderungen speichern. Danach musst du noch deine User in der Userliste hinterlegen, also bitte öffne die vsftpd-Benutzerliste:

 sudo nano /etc/vsftpduserlist.conf 

Danach nicht vergessen zu speichern bevor du die Datei verlässt. Abschließend starte vsftpd neu:

 sudo systemctl restart vsftpd 

Fazit

Sich durch die Konfiguration zu kämpfen kann am Anfang etwas mühselig sein. Doch wenn VSFTPD erstmal läuft, kann es auch mit dem Übertragen von Dateien losgehen. Eine Alternative zu FTP ist SCP. Dieses setzt auf das SSH Protokoll. Wie das im Einzelnen funktioniert, ist Inhalt des Artikels Via SCP Dateien sicher zwischen Linux und Windows übertragen.

gridscale wünscht dir viel Spaß beim Ausprobieren!