Website-Suche

Richten Sie eine sichere FTP-Dateiübertragung mit SSL/TLS in RHEL 8 ein


In unserem letzten Artikel haben wir ausführlich beschrieben, wie Sie einen FTP-Server unter RHEL 8 Linux installieren und konfigurieren. In diesem Artikel erklären wir, wie Sie einen FTP-Server mit SSL/TLS sichern, um Datenverschlüsselungsdienste für eine sichere Dateiübertragung zwischen Systemen zu ermöglichen.

Wir hoffen, dass Sie bereits einen FTP-Server installiert haben und ordnungsgemäß laufen. Wenn nicht, verwenden Sie bitte die folgende Anleitung, um es auf Ihrem System zu installieren.

  1. So installieren, konfigurieren und sichern Sie den FTP-Server in RHEL 8

Schritt 1. SSL/TLS-Zertifikat und privaten Schlüssel generieren

1. Erstellen Sie das folgende Verzeichnis, um das SSL/TLS-Zertifikat und die Schlüsseldateien zu speichern.

mkdir -p /etc/ssl/vsftpd

2. Als nächstes generieren Sie mit dem folgenden Befehl ein selbstsigniertes SSL/TLS-Zertifikat und einen privaten Schlüssel.

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

Im Folgenden finden Sie eine Erläuterung der einzelnen Flags, die im obigen Befehl verwendet werden.

  1. req – ist ein Befehl für die Verwaltung von X.509 Certificate Signing Requests (CSR).
  2. x509 – bedeutet X.509-Zertifikatsdatenverwaltung.
  3. Tage – definiert die Anzahl der Tage, für die das Zertifikat gültig ist.
  4. newkey – gibt den Zertifikatschlüsselprozessor an.
  5. rsa:2048 – RSA-Schlüsselprozessor, generiert einen privaten 2048-Bit-Schlüssel.
  6. keyout – legt die Schlüsselspeicherdatei fest.
  7. out – legt die Zertifikatspeicherdatei fest. Beachten Sie, dass sowohl Zertifikat als auch Schlüssel in derselben Datei gespeichert sind: /etc/ssl/vsftpd/vsftpd.pem.

Der obige Befehl fordert Sie auf, die folgenden Fragen zu beantworten. Denken Sie daran, Werte zu verwenden, die für Ihr Szenario gelten.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Schritt 2. VSFTPD für die Verwendung von SSL/TLS konfigurieren

3. Öffnen Sie die VSFTPD-Konfigurationsdatei zur Bearbeitung mit Ihrem bevorzugten Befehlszeileneditor.

vi /etc/vsftpd/vsftpd.conf

Fügen Sie die folgenden Konfigurationsparameter hinzu, um SSL zu aktivieren, und wählen Sie dann am Ende der Datei die zu verwendende Version von SSL und TLS aus.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Fügen Sie als Nächstes die Optionen rsa_cert_file und rsa_private_key_file hinzu, um den Speicherort des SSL-Zertifikats bzw. der Schlüsseldatei anzugeben.

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

5. Fügen Sie nun diese Parameter hinzu, um die Verwendung von SSL für anonyme Verbindungen zu deaktivieren und alle nicht anonymen Verbindungen über SSL zu erzwingen.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. Fügen Sie als Nächstes diese Option hinzu, um jegliche Wiederverwendung von SSL-Datenverbindungen zu deaktivieren und die SSL-Verschlüsselungen auf HOCH zu setzen, um verschlüsselte SSL-Verbindungen zuzulassen.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Sie müssen außerdem den Portbereich (min. und max. Port) der passiven Ports angeben, die von vsftpd für sichere Verbindungen verwendet werden sollen, indem Sie pasv_min_port und pasv_max_port verwenden Parameter bzw. Darüber hinaus können Sie optional das SSL-Debugging zur Fehlerbehebung aktivieren, indem Sie die Option debug_ssl verwenden.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Speichern Sie abschließend die Datei und starten Sie den vsftpd-Dienst neu, damit die oben genannten Änderungen wirksam werden.

systemctl restart vsftpd

9. Eine weitere wichtige Aufgabe, die Sie ausführen müssen, bevor Sie sicher auf den FTP-Server zugreifen können, ist das Öffnen der Ports 990 und 40000-50000 im System Firewall. Dadurch werden TLS-Verbindungen zum vsftpd-Dienst ermöglicht und der Portbereich passiver Ports geöffnet, die jeweils in der VSFTPD-Konfigurationsdatei definiert sind, wie folgt.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Schritt 3: Installieren Sie FileZilla, um eine sichere Verbindung zum FTP-Server herzustellen

10. Um eine sichere Verbindung zum FTP-Server herzustellen, benötigen Sie einen FTP-Client, der SSL/TLS-Verbindungen unterstützt, wie z. B. FileZilla – ein Open Source , weit verbreiteter, plattformübergreifender FTP-, SFTP- und FTPS-Client, der standardmäßig SSL/TLS-Verbindungen unterstützt.

Installieren Sie FileZilla unter Linux mit Ihrem Standardpaketmanager wie folgt:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Suchen Sie nach der Installation des Filezilla-Pakets im Systemmenü danach und öffnen Sie es. Um schnell eine Verbindung zum Remote-FTP-Server herzustellen, geben Sie über die Hauptschnittstelle die Host-IP-Adresse, den Benutzernamen und das Benutzerkennwort ein. Klicken Sie dann auf QuickConnect.

12. Anschließend werden Sie von der Anwendung aufgefordert, eine sichere Verbindung mit dem unbekannten, selbstsignierten Zertifikat zuzulassen. Klicken Sie auf OK, um fortzufahren.

Wenn die Konfiguration auf dem Server in Ordnung ist, sollte die Verbindung erfolgreich sein, wie im folgenden Screenshot gezeigt.

13. Testen Sie abschließend den Status der sicheren FTP-Verbindung, indem Sie versuchen, Dateien von Ihrem Computer auf den Server hochzuladen, wie im nächsten Screenshot gezeigt.

Das ist alles! In diesem Artikel haben wir gezeigt, wie man einen FTP-Server mit SSL/TLS für eine sichere Dateiübertragung in RHEL 8 sichert. Dies ist der zweite Teil unserer umfassenden Anleitung zur Installation, Konfiguration und Sicherung eines FTP-Servers in RHEL 8. Um Fragen oder Gedanken mitzuteilen, verwenden Sie das unten stehende Feedback-Formular.