Installation und Konfiguration des VSFTPD-Servers mit TLS auf Ubuntu 18.04 LTS

Vsftpd, auch bekannt als sehr sicherer FTP-Daemon, ist ein FTP-Server für Unix-ähnliche Systeme. FTP ist das am weitesten verbreitete Standard-Netzwerkprotokoll, das für das Hoch- und Herunterladen von Dateien zwischen zwei Computern über ein Netzwerk verwendet wird. Standardmäßig ist FTP unsicher, da es Daten zusammen mit Benutzeranmeldeinformationen unverschlüsselt überträgt.

In diesem Tutorial erfahren wir, wie man Vsftpd mit SSL/TLS-Unterstützung auf dem Ubuntu 18.04 Server installiert.

Anforderungen

  • Ein Server mit Ubuntu 18.04.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Die statische IP-Adresse 192.168.0.102 ist konfiguriert.

Vsftpd installieren

Standardmäßig ist Vsftpd im Standard-Repository von Ubuntu 18.04 verfügbar. So können Sie es einfach installieren, indem Sie einfach den folgenden Befehl ausführen:

sudo apt-get install vsftpd -y

Sobald Vsftpd installiert ist, starten Sie den Vsftpd-Dienst und aktivieren Sie ihn, damit er beim Booten gestartet werden kann:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Verzeichnisstruktur für FTP erstellen

Vor dem Start müssen Sie einen Benutzer für den FTP-Zugang anlegen.

Mit dem folgenden Befehl können Sie einen Benutzer anlegen:

sudo adduser vsftp

Als nächstes erstellen Sie ein FTP-Verzeichnis und setzen den Eigentümer mit dem folgenden Befehl:

sudo mkdir /home/vsftp/ftp
sudo chown nobody:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp

Als nächstes erstellen Sie ein Verzeichnis, in dem Dateien hochgeladen werden können und geben Sie dem vsftp-Benutzer das Eigentum:

sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Vsftpd konfigurieren

Als nächstes müssen Sie einige Konfigurationen vornehmen, um den FTP-Server einzurichten.

Erstellen Sie zunächst ein Backup der ursprünglichen Konfigurationsdatei:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Öffnen Sie anschließend die Datei vsftpd.conf:

sudo nano /etc/vsftpd.conf

Füge die folgenden Zeilen hinzu:

 listen=NO
 listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 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
 pasv_min_port=10000
 pasv_max_port=11000
 user_sub_token=$USER
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

Speichern und schließen Sie die Datei. Sie können die obige Konfiguration nach Ihren Bedürfnissen ändern.

Als nächstes müssen Sie auch vsftp-Benutzer zur Datei /etc/vsftpd.userlist hinzufügen, um FTP-Zugriff zu ermöglichen:

sudo nano /etc/vsftpd.userlist

Füge die folgende Zeile hinzu:

vsftp

Speichern und schließen Sie die Datei und starten Sie dann den Vsftpd-Dienst neu, um diese Änderungen zu übernehmen:

sudo systemctl restart vsftpd

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL ftp://192.168.0.102 ein, Sie werden zur Eingabe von Benutzername und Passwort für den FTP-Zugang aufgefordert. Geben Sie Ihren vsftp-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche Ok. Du solltest die folgende Seite sehen:

Zugriff auf den Server per FTP

Sichere Vsftpd mit SSL/TLS

Als nächstes müssen Sie SSL/TLS aktivieren, um die per FTP übertragenen Daten zu verschlüsseln.

Dazu müssen Sie ein Zertifikat erstellen. Sie können ein Zertifikat mit OpenSSL mit dem folgenden Befehl erstellen:

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

Als nächstes müssen Sie die Datei vsftpd.conf ändern und einige Änderungen vornehmen:

sudo nano /etc/vsftpd.conf

Füge die folgenden Zeilen hinzu:

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Speichern Sie die Datei und starten Sie Vsftpd mit dem folgenden Befehl neu:

sudo systemctl restart vsftpd

Zugriff auf FTP über SSL/TLS

Sie können nicht über den Browser auf Ihren FTP-Server über SSL/TLS zugreifen. Sie müssen also FileZilla FTP-Client installieren, um auf Ihren FTP-Server zugreifen zu können. Weil FileZilla FTP über SSL/TLS unterstützt.

Sie können den FileZilla-Client mit dem folgenden Befehl installieren:

sudo apt-get install filezilla -y

Sobald FileZilla installiert ist, öffnen Sie es über das Dash Ihrer Unity. Du solltest das folgende Bild sehen:

FileZilla FTP Client

Klicken Sie nun auf den Datei>Seiten-Manager. Du solltest das folgende Bild sehen:

Seite in FileZilla hinzufügen

Fügen Sie hier neue Website hinzu und geben Sie den Host/Site-Namen an, fügen Sie die IP-Adresse hinzu, definieren Sie das zu verwendende Protokoll, die Verschlüsselung und den Anmeldetyp. Klicken Sie dann auf die Schaltfläche Verbinden. Du solltest das folgende Bild sehen:

SSL-Zertifikat akzeptieren

Überprüfen Sie nun das für die SSL/TLS-Verbindung verwendete Zertifikat und klicken Sie erneut auf OK, um eine Verbindung zum FTP-Server herzustellen. Du solltest deinen FTP-Server-Inhalt auf der folgenden Seite sehen:

FTP-Verbindung zum Vsftpd-Server hergestellt

Das könnte dich auch interessieren …