GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie den vsftpd-FTP-Server und sichern ihn mit TLS unter Debian 11

File Transfer Protocol oder FTP ist ein sehr altes und eines der bekanntesten Netzwerkprotokolle. Es ist heutzutage im Vergleich zu SFTP oder SCP nicht sicher, aber immer noch die erste Wahl vieler Benutzer, um Dateien zwischen einem Server und einem Client zu übertragen. FTP ist als unsicher bekannt, da es Daten zusammen mit Benutzeranmeldeinformationen ohne jegliche Art von Verschlüsselung überträgt.

Wir haben heutzutage eine große Auswahl an Open-Source-FTP-Servern wie FTPD, VSFTPD, PROFTPD und pureftpd. Unter allen ist VSFTPD ein sehr sicheres, schnelles und am häufigsten verwendetes Protokoll zum Übertragen von Dateien zwischen zwei Systemen.

VSFTPD ist auch als "Very Secure File Transfer Protocol Daemon" mit SSL-Unterstützung bekannt , IPv6, explizites und implizites FTPS.

In dieser Anleitung zeigen wir Ihnen, wie Sie den FTP-Server vsftpd unter Debian 11 installieren.

Voraussetzungen

Ein Server, auf dem Debian 11 ausgeführt wird.
Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

1. Installieren Sie Vsftpd

Bevor Sie mit der Installation beginnen, aktualisieren Sie Ihren Debian 11-Server, indem Sie den folgenden Befehl im Terminal ausführen:

sudo apt update -y
sudo apt upgrade -y

Debian hat ein sehr großes Repository und das vsftpd-Paket ist im offiziellen Repository verfügbar. Sie können also den vsftpd ganz einfach installieren, indem Sie den folgenden Befehl ausführen:

sudo apt install vsftpd -y

Starten Sie nach der Paketinstallation den Vsftpd-Dienst, überprüfen Sie den Dienststatus und aktivieren Sie den Dienst beim Start.

sudo systemctl start vsftpd

sudo systemctl status vsftpd

systemctl enable vsftpd.service

2. Erstellen Sie einen FTP-Benutzer und konfigurieren Sie ihn für die FTP-Anmeldung

Erstellen Sie nun ein neues Benutzerkonto für FTP, mit diesem Benutzer werden wir uns später beim FTP-Server anmelden.

sudo adduser sohan

Benutzer, die in der Datei vsftpd.userlist hinzugefügt wurden, haben die Berechtigung, auf den FTP-Server zuzugreifen.

Als Nächstes müssen wir den Benutzer sohan zur vsftpd-Benutzerliste hinzufügen. Öffnen Sie die Datei und fügen Sie einen Benutzer hinzu, indem Sie den folgenden Befehl ausführen:

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

3. FTP-Benutzerverzeichnis erstellen

Als nächstes müssen wir ein FTP-Verzeichnis für unseren FTP-Benutzer erstellen und den Besitz mit dem folgenden Befehl festlegen:

sudo mkdir -p /home/sohan/ftp_directory

sudo chown niemand:nogroup /home/sohan/ftp_directory

sudo chmod a-w /home/sohan/ftp_directory

Erstellen Sie nun ein Verzeichnis, in das Dateien hochgeladen werden können, und geben Sie das Eigentum an den sohan-Benutzer, indem Sie den folgenden Befehl ausführen:

sudo mkdir -p /home/sohan/ftp_directory/ftp_data
sudo chown sohan:sohan /home/sohan/ftp_directory/ftp_data
cd /home/sohan/ftp_directory/
chmod -R 777 ftp_data

4. Konfigurieren Sie Vsftpd

Als Nächstes müssen Sie einige Standardparameter ändern, um einen FTP-Server einzurichten.

Erstellen Sie zuerst eine Sicherungskopie der ursprünglichen vsftpd-Konfigurationsdatei.

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

Auf dem FTP-Server wird anonymen Benutzern standardmäßig Zugriff gewährt. Um den FTP-Server sicherer zu machen, werden wir die anonyme Benutzeranmeldung deaktivieren und nur dem bestimmten Benutzer Zugriff gewähren.

Öffnen Sie als Nächstes die Datei vsftpd.conf und nehmen Sie die folgenden Änderungen vor:

vim /etc/vsftpd.conf
anonymous_enable=NO

local_enable=YES

Es gibt noch einige andere Änderungen, die wir in der Konfiguration vornehmen müssen. Öffnen Sie zuerst vsftpd.conf

sudo vim /etc/vsftpd.conf

Stellen Sie als Nächstes sicher, dass vsftpd.conf die folgenden Zeilen enthalten sollte:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
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
user_sub_token=$USER
local_root=/home/$USER/ftp_directory
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

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

Starten Sie jetzt den vsftpd-Dienst neu und überprüfen Sie den Dienststatus, indem Sie die folgenden Befehle ausführen:

sudo systemctl restart vsftpd


Stellen Sie als Nächstes sicher, dass der vsftpd-Dienst ausgeführt wird, indem Sie den folgenden Befehl im Terminal ausführen:

sudo systemctl status vsftpd

5. Erlauben Sie vsftpd in der Firewall und greifen Sie auf den vsftpd-Server zu

Wenn Sie eine Firewall verwenden, lassen Sie als Nächstes Port 21 und Port 22 zu, indem Sie den folgenden Befehl ausführen:

sudo ufw allow 21/tcp

sudo ufw allow 22/tcp

Laden Sie dann die Firewall neu, um die Änderungen zu übernehmen:

sudo ufw reload

Öffnen Sie als Nächstes einen beliebigen FTP-Client wie FileZilla und geben Sie Ihre Serverdetails ein, z. B. Protokoll, Host, Benutzer:


Klicken Sie jetzt auf Verbinden und geben Sie dann Ihr Passwort ein:

Dann werden Details wie unten angezeigt, klicken Sie auf OK.

An diesem Punkt sind Sie mit dem FTP-Server verbunden und können Dateien/Ordner hochladen und herunterladen.

6. Sichern Sie Vsftpd mit SSL/TLS

Angenommen, Sie möchten verschlüsselte Daten per FTP übertragen, dazu müssen Sie ein SSL-Zertifikat erstellen und eine SSL/TLS-Verbindung aktivieren.

Sie können ein Zertifikat mit OpenSSL erstellen, indem Sie den folgenden Befehl verwenden:

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

Jetzt müssen Sie die vsftpd.conf-Datei bearbeiten und einige Änderungen vornehmen:

sudo vim /etc/vsftpd.conf

Fügen Sie zuletzt 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=JA
ssl_tlsv1=JA
ssl_sslv2=NEIN
ssl_sslv3=NEIN
require_ssl_reuse=NEIN
ssl_ciphers=HIGH

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

sudo systemctl restart vsftpd

7. Zugriff auf FTP über SSL/TLS

Öffnen Sie den FileZilla FTP-Client und gehen Sie zu Datei> Sites-Manager. Klicken Sie hier auf Neue Site hinzufügen und geben Sie den Host-/Site-Namen ein, fügen Sie die IP-Adresse hinzu, definieren Sie das zu verwendende Protokoll, Verschlüsselung:Require to explicate FTP over TLS und den Anmeldetyp. Klicken Sie dann auf die Schaltfläche Verbinden. Sie sollten das folgende Bild sehen:

Geben Sie als Nächstes Ihr Passwort ein:


Als Nächstes sehen Sie das SSL-Zertifikat, überprüfen die Zertifikatsdetails und klicken auf OK.


Endlich sehen Sie den Inhalt Ihres FTP-Servers und können Ihre Daten sicher von einem System übertragen zu einem anderen.

Schlussfolgerung

In der obigen Anleitung haben wir den VSFTPD-Server auf Debian 11 installiert. Wir lernen auch, wie man sich über eine unverschlüsselte und eine verschlüsselte Verbindung mit einem SSL-Zertifikat verbindet.


Debian
  1. So installieren Sie einen FTP-Server unter CentOS 7 mit VSFTPD

  2. So installieren Sie einen FTP-Server unter Ubuntu mit vsftpd

  3. So installieren und konfigurieren Sie einen FTP-Server (vsftpd) mit SSL/TLS unter Ubuntu 20.04

  4. So installieren und sichern Sie MariaDB unter Debian 11

  5. So installieren Sie einen FTP-Server unter Rocky Linux 8 mit VSFTPD

So installieren Sie den VsFTPD-Server mit TLS unter Ubuntu 18.04 LTS

So richten Sie einen sicheren FTP-Server unter Debian 10 mit Pure-FTPd ein

So installieren Sie den vsftpd-Server unter Debian 11

So installieren Sie den FTP-Server unter Debian 10

So installieren Sie den FTP-Server unter Debian 11

So installieren und konfigurieren Sie den VSFTPD-FTP-Server unter Ubuntu