FTP oder 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 im Klartext sendet. VSFTPD ( Very Secure FTP Daemon ) ist ein schneller, sicherer und stabiler FTP-Server, der Verschlüsselung verwendet, um mit dem Server ausgetauschte Daten zu sichern.
In diesem Tutorial installieren wir den vsftpd-FTP-Server auf Debian 11 .
Schritt 1:vsftpd-Paket installieren
Aktualisieren Sie zuerst die Paketliste und aktualisieren Sie Ihren Debian-Server.
# apt update
# apt upgrade
Installieren Sie dann das vsftpd-Paket.
# apt install vsftpd
Nach der Installation startet vsftpd automatisch. Sie können dies bestätigen, indem Sie den folgenden Befehl ausführen:
# systemctl status vsftpd.service
Schritt 2:Erstellen Sie einen FTP-Benutzer
Als Nächstes erstellen wir ein eindeutiges FTP-Benutzerkonto, mit dem wir uns beim FTP-Server anmelden. verwenden Sie den adduser Befehl gefolgt vom Namen des Benutzers und reagieren Sie entsprechend auf die Eingabeaufforderungen.
# adduser unixcop-user
Schritt 3:FTP-Benutzer zur Liste der zugelassenen Benutzer hinzufügen
Jetzt fügen wir den FTP-Benutzer der vsftp.userlist hinzu Datei. In dieser Datei angegebenen lokalen Benutzern wird die Berechtigung zum Zugriff auf den FTP-Server erteilt.
# echo unixcop-user >> /etc/vsftpd.userlist
Schritt 4:FTP-Benutzerverzeichnis erstellen
Erstellen Sie nun ein FTP-Verzeichnis für den FTP-Benutzer und weisen Sie die entsprechenden Verzeichnisberechtigungen und Eigentumsrechte zu.
# mkdir -p /home/unixcop-user/ftp-dir
# chmod -R 750 /home/unixcop-user/ftp-dir
# chown -R unixcop-user: /home/unixcop-user/ftp-dir
Schritt 5:vsftpd-Dienst konfigurieren
Jetzt müssen wir fortfahren und die Hauptkonfigurationsdatei /etc/vsftpd.conf bearbeiten
# nano /etc/vsftpd.conf
Standardmäßig wird anonymen Benutzern Zugriff gewährt. Aber das wollen wir aus Sicherheitsgründen nicht. 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 /etc/vsftpd.userlist enthalten sind Datei.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
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.
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd-key.pem -out /etc/ssl/private/vsftpd-cert.pem
Gehen Sie zurück zur Standardkonfigurationsdatei /etc/vsftpd.conf , 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-cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd-key.pem
ssl_enable=YES
Zusammenfassend sollte Ihre Konfigurationsdatei diese Zeilen enthalten:
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
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.userlist
userlist_deny=NO
Starten Sie den Server neu, damit die Änderungen wirksam werden.
# systemctl restart vsftpd.service
# systemctl status vsftpd.service
Schritt 5:Greifen Sie auf den vsftpd-Server zu
Wir sind jetzt mit den Konfigurationen fertig. Als letztes müssen die Ports 20 und 21 zugelassen werden, wenn die Firewall aktiviert ist.
# ufw allow 20/tcp
# ufw allow 21/tcp
# ufw reload
Schnappen Sie sich schließlich Ihren FTP-Client wie FileZilla und geben Sie die Details wie folgt ein:
Host :Server-IP
Benutzername: unixcop-Benutzer
Passwort :Passwort des unixcop-Benutzers
Nach der erfolgreichen Verzeichnisauflistung können Sie nun damit beginnen, Dateien sicher über SSL zu übertragen.
Und so haben wir gelernt, wie man den vsftpd-FTP-Server unter Debian 11 installiert.