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:
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:
Klicken Sie nun auf den Datei>Seiten-Manager. Du solltest das folgende Bild sehen:
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:
Ü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: