Installieren Sie Vsftpd mit SSL/TLS auf Ubuntu 20.04

Vsftpd (dh sehr sicherer FTP-Daemon) ist eine FTP-Server-Software für Linux und andere Unix-ähnliche Systeme. Eine FTP-Server-Software erleichtert die Übertragung von Dateien von einem Client-Computer zum Server und umgekehrt.

In diesem Tutorial erfahren Sie, wie Sie Vsftpd installieren an Ubuntu 20.04 und aktivieren Sie die sichere Dateiübertragung (FTPS) über SSL/TLS.

Voraussetzungen

  • Ein Ubuntu 20.04 Linux-System
  • Ein Benutzer mit sudo Fähigkeit
  • Ein SSL-aktivierter FTP-Client wie FileZilla

Installieren Sie Vsftpd unter Ubuntu

Vsftpd ist im standardmäßigen Ubuntu-Paket-Repository verfügbar. Sie können damit beginnen, verfügbare Pakete mit dem folgenden Befehl zu aktualisieren.

$ sudo apt-Update

Führen Sie als Nächstes den folgenden Befehl aus, um Vsftpd zu installieren.

$ sudo apt install vsftpd

Enter Ja wenn Sie aufgefordert werden, mit der Installation fortzufahren.

Sobald Vsftpd erfolgreich installiert wurde, können Sie die Version mit dem folgenden Befehl überprüfen.

$ vsftpd -v

Überprüfen Sie außerdem den Status des Vsftpd-Servers wie folgt.

$ sudo systemctl-status vsftpd

Überprüfen Sie den Vsftpd-Serverstatus

Der vsftpd Dienst sollte bereits aktiv sein. Drücken Sie Q um zur Eingabeaufforderung zurückzukehren.

Wenn der vsftpd-Dienst noch nicht aktiv ist, können Sie ihn mit dem nächsten Befehl starten.

$ sudo systemctl start vsftpd

Vsftpd konfigurieren

Es gibt viele Optionen, die Sie für vsftpd konfigurieren können, aber wir werden in diesem Tutorial nur die Grundlagen untersuchen. Öffnen Sie die vsftpd-Konfigurationsdatei mit dem folgenden Befehl.

$ sudo nano /etc/vsftpd.conf

Sie werden sehen, dass die verschiedenen vsftpd-Optionen in der Konfigurationsdatei gut erklärt sind. Sie müssen nur die Anweisungen lesen, um zu verstehen, was Sie aktivieren oder deaktivieren möchten. Nachfolgend einige Beispiele.

Anonymen FTP-Zugriff konfigurieren

Anonymes FTP ist standardmäßig deaktiviert. Wir empfehlen, diese Standardeinstellung unverändert zu belassen. Wenn Sie jedoch aus irgendeinem Grund den anonymen FTP-Zugriff zu Testzwecken aktivieren möchten, ändern Sie den Wert des anonym_enable Option von NEIN bis JA.

Lassen Sie es vorerst so, wie es ist.

Anonymen FTP-Zugriff für vsftpd konfigurierenAnonymen FTP-Zugriff für vsftpd konfigurieren

Lokalen Benutzern erlauben, sich anzumelden

Lokale Benutzer dürfen sich standardmäßig anmelden. Wenn Sie verhindern möchten, dass sich lokale Benutzer beim Vsftpd-Server anmelden, ändern Sie den Wert von local_enable von JA auf NEIN.

Lokalen Benutzern erlauben, sich beim Vsftpd-Server anzumeldenLokalen Benutzern erlauben, sich beim Vsftpd-Server anzumelden

Sie könnten auch nur bestimmten lokalen Benutzern erlauben, sich beim Vsftpd-Server anzumelden. Stellen Sie dazu sicher, dass local_enable ist auf JA stellen.

Fügen Sie danach die folgenden Zeilen darunter hinzu.

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Save und close die vsftpd.conf-Datei.

Als nächstes erstellen Sie mit dem nächsten Befehl die Datei userlist und geben die erlaubten Benutzer pro Zeile ein.

$ sudo nano /etc/vsftpd.userlist

Save und close die userlist-Datei.

Starten Sie vsftpd neu mit:

$ sudo systemctl Neustart vsftpd

FTP-Schreibbefehl aktivieren

Um FTP-Benutzern das Erstellen, Löschen, Umbenennen und Speichern von Dateien zu ermöglichen, entkommentieren Sie die write_enable Option und stellen Sie sicher, dass sie auf JA gesetzt ist.

FTP-Schreibbefehl aktivierenFTP-Schreibbefehl aktivieren

Bevor wir fortfahren, melden wir uns beim Vsftpd-Server an, um zu bestätigen, dass er funktioniert. Speichern Sie vorerst alle Änderungen und close die vsftpd-Konfigurationsdatei.

Melden Sie sich beim Vsftpd-Server an

Lassen Sie uns dazu einen Testbenutzer anlegen und wie folgt ein Passwort vergeben.

$ sudo useradd -m myftpuser $ sudo passwd myftpuser

Notiz: Wenn Sie vsftpd aktiviert haben Benutzerliste Vergessen Sie vorher nicht, den FTP-Benutzer entsprechend zu /etc/vsftpd.userlist hinzuzufügen. Standardmäßig haben Benutzer SSH-Zugriff, empfohlen, den Shell-Zugriff für FTP-Benutzer zu deaktivieren.

Starten Sie nun einen SSL-fähigen FTP-Client wie FileZilla und melden Sie sich dann mit dem neu erstellten Testbenutzer an.

In meinem Fall hat FileZilla mich benachrichtigt, dass der Server unsicher ist, da er FTP über TLS nicht unterstützt.

Benachrichtigung über unsicheren FTP-ServerBenachrichtigung über unsicheren FTP-Server

Brechen Sie die Verbindung ab. Lassen Sie uns dies im nächsten Abschnitt beheben.

Aktivieren Sie SSL/TLS für eine sichere Dateiübertragung

Um den sicheren Dateitransfer über TLS zu aktivieren, gehen Sie wie folgt vor.

Öffnen Sie zunächst die vsftpd-Konfigurationsdatei mit dem folgenden Befehl.

$ sudo nano /etc/vsftpd.conf

Suchen Sie als nächstes nach dem rsa_cert_file und rsa_private_key_file Optionen und aktualisieren Sie die Werte wie unten gezeigt.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

Suchen Sie auch nach ssl_enable und ändern Sie den Wert auf JA.

ssl_enable=YES

TLS/SSL für Vsftpd aktivierenTLS/SSL für Vsftpd aktivieren

Save und close die vsftpd-Konfigurationsdatei.

Generieren Sie einen privaten Schlüssel und ein Zertifikat

Jetzt müssten Sie einen privaten Schlüssel erstellen und ein TLS/SSL-Zertifikat mit openssl generieren. Sie können das kostenlose SSL-Zertifikat von Let’s Encrypt verwenden, wenn Sie eine Domain haben, die auf den FTP-Server verweist.

Um einen privaten Schlüssel zu generieren, führen Sie Folgendes aus:

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

Als nächstes generieren Sie mit dem folgenden Befehl eine Zertifikatsignierungsanforderung. Sie werden aufgefordert, einige Informationen wie Ihr Land, Ihre Stadt, Ihre E-Mail-Adresse usw. anzugeben. Bitte lesen Sie die Anweisungen sorgfältig durch.

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

Erstellen und signieren Sie nun das 365 Tage gültige Zertifikat wie folgt.

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

Starten Sie vsftpd neu mit:

$ sudo systemctl Neustart vsftpd

Versuchen Sie erneut, eine Verbindung zum Vsftpd-Server herzustellen.

Sichere FTP-Verbindung über TLSSichere FTP-Verbindung über TLS

Sicherlich konnte FileZilla dieses Mal eine sichere Verbindung über TLS herstellen. Sie können bedenkenlos die Option auswählen, diesem Zertifikat in zukünftigen Sitzungen immer zu vertrauen. Dann klick OK um mit der Verbindung fortzufahren.

Selbstsigniertes Zertifikat vertrauenSelbstsigniertes Zertifikat vertrauen

Wenn Sie versuchen, eine Verbindung zum FTP-Server über die Befehlszeile herzustellen, die FTP über TLS nicht unterstützt, erhalten Sie eine Fehlermeldung. Für example:

$ftp 192.168.100.168

FTP-Fehler ohne TLSFTP-Fehler ohne TLS

Dies ist ein weiterer Beweis dafür, dass Ihr Vsftpd-Server tatsächlich für die sichere Dateiübertragung über TLS aktiviert ist.

Fazit

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie einen Vsftpd-Server auf Ubuntu 20.04 installieren. Wir haben auch beschrieben, wie Sie eine sichere Dateiübertragung über das TLS-Protokoll ermöglichen. Wir haben in diesem Artikel nur grundlegende Vsftpd-Optionen behandelt, aber Sie können weitere Optionen auf der Seite erkunden vsftpd-Konfigurationsoptionen Handbuchseite.