So installieren Sie den vsftpd-FTP-Server unter Debian 11

FTP, kurz für File Transfer Protocol, ist ein beliebtes Protokoll zum Übertragen von Dateien zu und von einem FTP-Server. Es ist jedoch mit Sicherheitsrisiken behaftet, da es Daten und sensible Informationen wie Benutzernamen und Passwörter im Klartext sendet. VSFTPD ( Very Secure FTP Daemon ) ist ein schneller, sicherer und stabiler FTP-Server, der Verschlüsselung verwendet, um die mit dem Server ausgetauschten Daten zu sichern.

In diesem Tutorial lernen wir, wie man vsftpd-FTP-Server installieren an Debian 11.

Schritt 1: vsftpd auf Debian 11 installieren

Öffnen Sie zunächst das Terminal und aktualisieren Sie die Paketlisten auf Ihrem Debian-Server.

$ sudo apt update

Das vsftpd-Paket wird in offiziellen Debian-Repositorys gehostet. Verwenden Sie daher den APT-Paketmanager wie gezeigt.

$ sudo apt install vsftpd

Der Befehl installiert vsftpd neben anderen Abhängigkeiten. Nach der Installation startet vsftpd automatisch. Sie können dies bestätigen, indem Sie den Befehl ausführen:

$ sudo systemctl status vsftpd

An der Ausgabe können Sie sehen, dass vsftpd wie erwartet ausgeführt wird.

Falls der vsftpd-Dienst in Ihrem Fall nicht läuft, können Sie ihn wie angegeben starten.

$ sudo systemctl start vsftpd

Aktivieren Sie dann den Dienst, um beim Booten zu starten.

$ sudo systemctl enable vsftpd

Schritt 2: Erstellen Sie einen eindeutigen FTP-Benutzer

Als Nächstes erstellen wir ein eindeutiges FTP-Benutzerkonto, mit dem wir uns beim FTP-Server anmelden. Nutzen Sie einfach die adduser Befehl gefolgt vom Namen des Benutzers und reagieren Sie entsprechend auf die Eingabeaufforderungen.

$ sudo adduser ftpuser

FTP-Benutzer erstellen auf Debian 11FTP-Benutzer erstellen auf Debian 11

Schritt 3: FTP-Benutzer zur Liste der zugelassenen Anmeldebenutzer hinzufügen

Im weiteren Verlauf werden wir den FTP-Benutzer zum hinzufügen vsftpd.userlist Datei. Lokalen Benutzern, die in dieser Datei angegeben sind, wird die Berechtigung zum Zugriff auf den FTP-Server gewährt.

Führen Sie also den Befehl aus:

$ echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist

FTP-Benutzer zur vsftpd-Benutzerlistendatei hinzufügenFTP-Benutzer zur vsftpd-Benutzerlistendatei hinzufügen

Perfekt. Fahren wir nun fort und konfigurieren vsftpd.

Schritt 4: FTP-Benutzerverzeichnis erstellen

Erstellen Sie als Nächstes ein FTP-Verzeichnis für den FTP-Benutzer und weisen Sie die entsprechenden Verzeichnisberechtigungen und den Besitz zu.

$ sudo mkdir -p /home/ftpuser/ftp_dir

$ sudo chmod -R 750 /home/ftpuser/ftp_dir

$ sudo chown -R ftpuser: /home/ftpuser/ftp_dir

Schritt 5: vsftpd konfigurieren

Es sind einige zusätzliche Schritte erforderlich, bevor wir uns anmelden und mit dem Server interagieren können. Fahren Sie fort und bearbeiten Sie die Hauptkonfigurationsdatei – /etc/vsftpd.conf.

$ sudo vim /etc/vsftpd.conf

Es gibt einige Einstellungen, die Sie sicherstellen müssen, dass sie festgelegt sind.

Fangen wir erstmal an mit FTP-Zugang. Standardmäßig wird anonymen Benutzern der Zugriff gewährt. Aber das ist aus Sicherheitsgründen nicht das, was wir wollen. Daher werden wir die Anmeldung durch den anonymen Benutzer deaktivieren und nur dem lokalen Benutzer Zugriff gewähren.

anonymous_enable=NO

local_enable=YES

Als nächstes müssen Sie dem lokalen Benutzer erlauben, Dateien hochzuladen und Zugriff auf sein Home-Verzeichnis zu erhalten sowie Änderungen an den Dateien wie angegeben vorzunehmen.

write_enable=YES

chroot_local_user=YES

allow_writeable_chroot=YES

Darüber hinaus können Sie die lokalen Benutzer einschränken, die auf Dateien zugreifen und diese hochladen können, indem Sie nur die Benutzer angeben, die in der Datei enthalten sind vsftpd.userlist Datei.

userlist_enable=YES

userlist_file=/etc/vsftpd.user_list

userlist_deny=NO

Um eine sichere FTP-Verbindung zum Server bereitzustellen, müssen wir den Server mit einem SSL-Zertifikat verschlüsseln. Wir werden ein selbstsigniertes SSL-Zertifikat generieren, um den Server zu verschlüsseln. Führen Sie dazu den Befehl aus.

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Kehren Sie erneut zur Standardkonfigurationsdatei zurück und fügen Sie diese Zeilen ein, um den Pfad der generierten SSL-Zertifikate anzugeben und SSL zu aktivieren.

rsa_cert_file=/etc/ssl/private/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

ssl_enable=YES

Zusammenfassend sollte Ihre Konfigurationsdatei diese Zeilen enthalten:

zuhören=NEIN
listen_ipv6=JA
anonym_enable=NEIN
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=JA
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NEIN

Starten Sie den Server neu, damit die Änderungen wirksam werden.

$ sudo systemctl restart vsftpd

Um sicherzustellen, dass alles in Ordnung ist, können Sie den Betriebsstatus überprüfen.

$ sudo systemctl status vsftpd

Schritt 5: Greifen Sie auf den vsftpd-Server zu

Wir sind jetzt mit den Konfigurationen fertig. Als letztes müssen Sie sich anmelden. Falls Sie eine Firewall aktiviert haben, erlauben Sie die Ports 20 und 21.

$ sudo ufw allow 20/tcp

$ sudo ufw allow 21/tcp

Laden Sie dann die Firewall neu, damit die Änderungen wirksam werden.

$ sudo ufw reload

Schnappen Sie sich schließlich Ihren FTP-Client wie FileZilla und geben Sie die Details wie folgt ein:

Gastgeber: sftp://Server-IP

Nutzername: ftpuser

Passwort: Passwort von ftpuser

Nachdem Sie die Angaben ausgefüllt haben, klicken Sie auf die Schaltfläche ‘QuickConnect’.

FileZilla mit FTP-Server verbinden

Nach erfolgreicher Verzeichnisauflistung können Sie nun mit der sicheren Übertragung von Dateien über SSL beginnen.

FileZilla mit FTP-Server verbunden

Führen Sie in der Befehlszeile einfach den Befehl aus:

$ sftp ftpuser@server-IP

Geben Sie „ja“ ein, wenn Sie aufgefordert werden, fortzufahren, und geben Sie dem FTP-Benutzer das Kennwort zum Anmelden an.

Melden Sie sich über die Befehlszeile beim vsftpd-Server an

Fazit

Dies war ein Tutorial, in dem wir gelernt haben, wie man den vsftpd-FTP-Server auf Debian 11 installiert. Wir gingen weiter und erstellten den Benutzer, konfigurierten den Server und loggten uns von einem FTP-Client und über die Befehlszeile ein.