GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den vsftpd-FTP-Server mit SSL/TLS unter CentOS 8

FTP ist ein weit verbreitetes Protokoll zur Übertragung von Dateien zwischen Server und Client. Heutzutage sind täglich viele Open-Source-FTP-Server verfügbar, darunter FTPD, VSFTPD, PROFTPD und pureftpd. Unter ihnen ist VSFTPD ein sicheres, schnelles und weltweit am weitesten verbreitetes Protokoll. Er wird auch „Very Secure File Transfer Protocol Daemon“ genannt. Es unterstützt auch SSL, IPv6, explizites und implizites FTPS.

In diesem Tutorial zeigen wir Ihnen, wie Sie VSFTPD auf einem CentOS 8-Server installieren und mit SSL/TLS sichern.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

VSFTPD installieren

Standardmäßig ist VSFTPD im Standard-Repository von CentOS 8 verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

dnf install vsftpd -y

Starten Sie nach Abschluss der Installation den VSFTPD-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start vsftpd
systemctl aktiviert vsftpd

An diesem Punkt ist Ihr VSFTPD-Server installiert und läuft. Sie können jetzt mit dem nächsten Schritt fortfahren.

Erstellen Sie einen Benutzer für VSFTPD

Als nächstes müssen Sie einen neuen Benutzer für VSFTPD erstellen. Sie können also mit diesem Benutzer auf Ihren FTP-Server zugreifen.

Führen Sie den folgenden Befehl aus, um einen neuen Benutzer namens vyom wie unten gezeigt zu erstellen:

adduser vyom

Legen Sie als Nächstes das Passwort für einen Benutzer vyom mit dem folgenden Befehl fest:

passwd vyom

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

VSFTPD konfigurieren

Öffnen Sie als Nächstes die VSFTPD-Standardkonfigurationsdatei, die sich im Verzeichnis /etc/vsftpd befindet, wie unten gezeigt:

nano /etc/vsftpd/vsftpd.conf

Ändern Sie die folgenden Zeilen:

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpduserlist_enable=NO

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den VSFTPD-Dienst neu und überprüfen Sie den Status des Dienstes mit dem folgenden Befehl:

systemctl vsftpd neu starten
systemctl-Status vsftpd

Sie sollten die folgende Ausgabe sehen:

? vsftpd.service – Vsftpd-FTP-Daemon Geladen:geladen (/usr/lib/systemd/system/vsftpd.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit 21.02.2020 00:43:57 EST; Vor 6s Prozess:2698 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) Main PID:2699 (vsftpd) Tasks:1 (limit:6102) Memory:1020.0 K CGroup:/system.slice/vsftpd.service ??2699 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confFeb 21 00:43:57 centos8 systemd[1]:Stopped Vsftpd ftp daemon.Feb 21 00:43 :57 centos8 systemd[1]:Starten des Vsftpd-FTP-Daemons ... 21. Februar 00:43:57 centos8 systemd[1]:Starte den Vsftpd-FTP-Daemon.

An diesem Punkt ist Ihr VSFTPD-Server konfiguriert. Sie können nun über SELinux und die Firewall mit allen VSFTPD fortfahren.

Firewall und SELinux konfigurieren

Standardmäßig ist SELinux in CentOS 8 aktiviert. Daher müssen Sie SELinux für VSFTPD konfigurieren.

Mit dem folgenden Befehl können Sie SELinux so konfigurieren, dass der FTP-Zugriff zugelassen wird:

setsebool -P allow_ftpd_full_access=1

Als nächstes müssen Sie den FTP-Dienst über die Firewall zulassen. Sie können es mit dem folgenden Befehl zulassen:

firewall-cmd --zone=public --permanent --add-service=ftp

Laden Sie als Nächstes den Dienst firewalld neu, um die Änderungen an der Firewall-Konfiguration anzuwenden:

firewall-cmd --reload

Zu diesem Zeitpunkt sind Ihre Firewall und SELinux so konfiguriert, dass eingehende FTP-Verbindungen vom Remote-System zugelassen werden. Sie können nun mit dem Testen der FTP-Verbindung fortfahren.

Mit VSFTPD-Server verbinden

Ihr VSFTPD-Server ist jetzt installiert und konfiguriert. Jetzt ist es an der Zeit, den FTP-Server vom Client-System aus zu verbinden.

Gehen Sie dazu zum Client-System und führen Sie den folgenden Befehl aus, um sich mit Ihrem FTP-Server zu verbinden:

ftp 172.20.10.3

Sie werden aufgefordert, Ihren FTP-Benutzer und das Passwort wie unten gezeigt anzugeben:

Verbunden mit 172.20.10.3.220 (vsFTPd 3.0.3)Name (172.20.10.3:root):vyom331 Bitte geben Sie das Passwort an.Passwort:230 Anmeldung erfolgreich.

Sobald die Verbindung erfolgreich hergestellt wurde, sollten Sie die folgende Ausgabe sehen:

Remote-Systemtyp ist UNIX. Verwenden des Binärmodus zum Übertragen von Dateien.ftp>
 

Geben Sie nun exit ein und drücken Sie die Eingabetaste, um die FTP-Sitzungen zu beenden.

VSFTPD mit TLS-Unterstützung konfigurieren

Aus Sicherheitsgründen ist es sinnvoll, die FTP-Übertragungen mit SSL/TLS zu verschlüsseln. Dazu müssen Sie ein SSL-Zertifikat generieren und den VSFTPD-Server für dessen Verwendung konfigurieren.

Zuerst müssen Sie das OpenSSL-Paket in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install openssl -y

Erstellen Sie nach der Installation ein neues Verzeichnis zum Speichern des SSL-Zertifikats:

mkdir /etc/ssl/private

Generieren Sie als Nächstes mit dem folgenden Befehl ein selbstsigniertes Zertifikat:

openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/vsftpd.key -x509 -days 365 -out /etc/ssl/private/vsftpd.crt

Geben Sie alle erforderlichen Informationen wie unten gezeigt an:

Generieren eines privaten RSA-Schlüssels...+++++.........++++++Schreiben eines neuen privaten Schlüssels in '/etc/ssl/private/vsftpd.key'- ----Sie werden gleich aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden. Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN. Es gibt einige Felder, aber Sie können einige leer lassen In einigen Feldern gibt es einen Standardwert. Wenn Sie „.“ eingeben, bleibt das Feld leer. GUJOrtsname (z. B. Stadt) [Standardstadt]:JUNOrganization Name (z. B. Unternehmen) [Standard Company Ltd]:ITOrganizational Unit Name (z. B. Abschnitt) []:ITCommon Name (z. B. Ihr Name oder der Hostname Ihres Servers) [] :ftpserverE-Mail-Adresse []:[email protected]

Nachdem Sie das SSL-Zertifikat generiert haben, müssen Sie VSFTPD konfigurieren, um dieses Zertifikat zu verwenden.

Öffnen Sie die VSFTPD-Standardkonfigurationsdatei wie unten gezeigt:

nano /etc/vsftpd/vsftpd.conf

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

#Pfad des SSL-Zertifikatssa_cert_file=/etc/ssl/private/vsftpd.crtrsa_private_key_file=/etc/ssl/private/vsftpd.key#Enable the SSLssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YES#TSL ist sicherer als SSL aktivieren Sie also ssl_tlsv1_2.ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH#SSL-Debugging aktivieren, um alle VSFTPD zu speichern log.debug_ssl=YES

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den VSFTPD-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet vsftpd neu

Zu diesem Zeitpunkt ist Ihr VSFTPD-Server für die Verwendung eines SSL-Zertifikats konfiguriert. Sie können jetzt mit dem nächsten Schritt fortfahren.

Verifizieren Sie die VSFTPD-TLS-Verbindung

Ihr VSFTPD-Server ist jetzt mit SSL/TLS-Unterstützung gesichert. Versuchen Sie als Nächstes, Ihren FTP-Server wie unten gezeigt über die Befehlszeile zu verbinden:

ftp 172.20.10.3

Sie sollten den Fehler in der folgenden Ausgabe sehen:

Verbunden mit 172.20.10.3.220 (vsFTPd 3.0.2)Name (172.20.10.3:root):vyom530 Nicht anonyme Sitzungen müssen Verschlüsselung verwenden.Anmeldung fehlgeschlagen.421 Dienst nicht verfügbar, entfernter Server hat Verbindung geschlossenftp>
  

Sie können vom Befehlszeilenclient aus keine Verbindung zu Ihrem VSFTP-Server herstellen. Weil es keine SSL/TLS-Unterstützung unterstützt.

Daher müssen Sie die VSFTPD-Verbindung mit einem FTP-Client herunterladen und testen, der TLS-Verbindungen unterstützt.

Gehen Sie dazu zum Client-System und installieren Sie das FileZilla-Client-Paket.

Öffnen Sie nach der Installation von FileZilla die FileZilla-Software wie unten gezeigt:

Als nächstes öffnen Sie den Site Manager wie unten gezeigt:

Klicken Sie auf Neue Website Schaltfläche, um eine neue FTP-Verbindung hinzuzufügen, wie unten gezeigt:

Geben Sie die IP Ihres FTP-Servers ein, wählen Sie das FTP-Protokoll aus, wählen Sie „Explizites FTP über TLS verwenden“, wählen Sie „Nach dem Passwort fragen“, geben Sie den Benutzernamen Ihres FTP-Servers ein und klicken Sie auf Verbinden Taste. Sie werden aufgefordert, das Passwort des FTP-Benutzers wie unten gezeigt einzugeben:

Geben Sie Ihr FTP-Passwort ein und klicken Sie auf OK Taste. Sie werden aufgefordert, das für die SSL/TLS-Verbindung verwendete Zertifikat zu überprüfen, wie unten gezeigt:

Klicken Sie auf OK Schaltfläche, um das Zertifikat zu überprüfen. Sobald die Verbindung erfolgreich hergestellt wurde, sollten Sie den folgenden Bildschirm sehen:

Schlussfolgerung

In der obigen Anleitung haben wir den VSFTPD-Server auf CentOS 8 installiert. Wir haben den VSFTPD-Server auch für die Verwendung des SSL/TLS-Zertifikats konfiguriert. Ihr FTP-Server ist jetzt gesichert. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


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

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

  3. So installieren Sie einen FTP-Server unter CentOS 7

  4. Installieren Sie Vsftpd mit SSL/TLS auf Ubuntu 20.04

  5. So installieren Sie den FTP-Server unter CentOS 7

So installieren Sie den vsftpd-FTP-Server mit TLS unter Debian 10

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

So installieren Sie VSFTPD unter CentOS 7

So installieren Sie LetsEncrypt SSL mit Nginx unter CentOS 6

So installieren Sie den FTP-Server unter CentOS 8

Wie installiere ich einen FTP-Server?