So sichern Sie einen FTP -Server mit SSL/TLS für die sichere Dateiübertragung in CentOS 7

So sichern Sie einen FTP -Server mit SSL/TLS für die sichere Dateiübertragung in CentOS 7

Durch sein ursprüngliches Design, Ftp (Dateiübertragungsprotokoll) ist nicht sicher, was bedeutet, dass die Daten nicht zwischen zwei Maschinen übertragen werden, zusammen mit den Anmeldeinformationen des Benutzers. Dies stellt eine massive Bedrohung für Daten sowie Serversicherheit dar.

In diesem Tutorial erklären wir, wie Sie Datenverschlüsselungsdienste in einem FTP -Server in CentOS/RHEL 7 und Fedora manuell aktivieren können. Wir werden verschiedene Schritte der Sicherung durchlaufen Vsftpd (Sehr sicherer FTP -Daemon) Dienste mit SSL/TLS Zertifikate.

Voraussetzungen:

  1. Sie müssen einen FTP -Server in CentOS 7 installiert und konfiguriert haben und konfiguriert haben und konfiguriert haben und konfiguriert haben und konfiguriert haben und konfiguriert haben

Beachten Sie vor Beginn, dass alle Befehle in diesem Tutorial als ausgeführt werden Wurzel, Andernfalls verwenden Sie den SUDO -Befehl, um Root -Berechtigungen zu erhalten.

Schritt 1. Generieren von SSL/TLS -Zertifikat und privatem Schlüssel generieren

1. Wir müssen zunächst ein Unterverzeichnis erstellen unter: /etc/ssl/ wo wir die speichern werden SSL/TLS Zertifikat- und Schlüsseldateien:

# mkdir/etc/ssl/privat 

2. Führen Sie dann den folgenden Befehl aus, um das Zertifikat und die Schlüssel für zu erstellen vsftpd In einer einzigen Datei finden Sie hier die Erläuterung jedes verwendeten Flags.

  1. Req - ist ein Befehl für x.509 CSR -Management (Certificate Signing Request).
  2. x509 - bedeutet x.509 Zertifikatsdatenverwaltung.
  3. Tage - Definiert die Anzahl der Tage, die Zertifikat gültig sind für.
  4. Newkey - Gibt den Zertifikatschlüsselprozessor an.
  5. RSA: 2048 - Der RSA -Schlüsselprozessor erzeugt einen privaten Taste von 2048 Bits.
  6. Keyout - Legt die Schlüsselspeicherdatei fest.
  7. aus - Legt die Zertifikatspeicherdatei fest. Beachten Sie, dass sowohl das Zertifikat als auch der Schlüssel in derselben Datei gespeichert sind: /etc/ssl/privat/vsftpd.Pem.
# OpenSSL REQ -X509 -nodes -keeout/etc/ssl/privat/vsftpd.pem -out/etc/ssl/privat/vsftpd.PEM -Tage 365 -Newkey RSA: 2048 

Im obigen Befehl werden Sie aufgefordert, die folgenden Fragen zu beantworten. Denken Sie daran, Werte zu verwenden, die für Ihr Szenario gelten.

Landname (2 Buchstabencode) [xx]:IN Staats- oder Provinzname (Voll Name) []:Niedrigeres Parel Lokalitätsname (zB, Stadt) [Standardstadt]:Mumbai Organisationsname (z. B. Unternehmen) [Standard Company Ltd]:Tecmint.com Name der Organisationseinheit (z. B. Abschnitt) []:Linux und Open Source Common Name (zB, Ihr Name oder der Hostname Ihres Servers) []:Tecmint E-Mail-Addresse []:[E -Mail geschützt] 

Schritt 2. Konfigurieren von VSFTPD zur Verwendung von SSL/TLS

3. Bevor wir VSFTPD -Konfigurationen durchführen, öffnen wir die Ports 990 Und 40000-50000 Damit TLS -Verbindungen und der Portbereich der passiven Ports in der VSFTPD -Konfigurationsdatei definieren können:

# Firewall-cmd --zone = public --permanent --add-port = 990/tcp # Firewall-cmd --zone = public --permanent --add-port = 40000-50000/TCP # Firewall-CMD- neu laden 

4. Öffnen Sie nun die VSFTPD -Konfigurationsdatei und geben Sie die darin enthaltenen SSL -Details an:

# vi/etc/vsftpd/vsftpd.Conf 

Suchen Sie nach der Option ssl_enable und setzen seinen Wert auf JA Um die Verwendung von SSL zu aktivieren, werden wir auch die VSFTPD einschränken, da TSL sicherer als SSL ist, um stattdessen TLS zu verwenden, indem wir die verwenden SSL_TLSV1_2 Möglichkeit:

ssl_enable = yes ssl_tlsv1_2 = yes 

5. Fügen Sie dann die folgenden Zeilen hinzu, um den Speicherort des SSL -Zertifikats und der Schlüsseldatei zu definieren:

RSA_CERT_FILE =/etc/ssl/privat/vsftpd.pem rsa_private_key_file =/etc/ssl/privat/vsftpd.Pem 

6. Als nächstes müssen wir anonyme Benutzer daran hindern, SSL zu verwenden, dann alle nicht anonymen Anmeldungen dazu zwingen, eine sichere SSL-Verbindung für die Datenübertragung zu verwenden und das Kennwort während des Anmeldes zu senden:

erlauben_anon_ssl = no force_local_data_ssl = yes croce_local_logins_ssl = yes 

7. Darüber hinaus können wir die folgenden Optionen hinzufügen, um die Sicherheit der FTP -Server zu steigern. Bei Option Required_SSL_REUSE ist eingestellt auf JA, Anschließend sind alle SSL -Datenverbindungen erforderlich, um eine Wiederverwendung von SSL -Sitzungen aufzutragen. beweisen, dass sie das gleiche Master -Geheimnis wie der Kontrollkanal kennen.

Deshalb müssen wir es ausschalten.

Required_SSL_REUSE = Nr 

Auch hier müssen wir auswählen, welche SSL -Ciphers VSFTPD für verschlüsselte SSL -Verbindungen mit dem zulassen SSL_CIPHERS Möglichkeit. Dies kann die Bemühungen von Angreifern, die versuchen, eine bestimmte Chiffre zu erzwingen, in der sie wahrscheinlich Schwachstellen entdeckten, in hohem Maße einschränken:

SSL_CIPHERS = High 

8. Stellen Sie nun den Portbereich (Min und Max -Port) der passiven Anschlüsse fest.

pasv_min_port = 40000 pasv_max_port = 50000 

9. Optional können Sie SSL -Debugging zulassen, was bedeutet, dass die OpenSSL -Verbindungsdiagnostik in der VSFTPD -Protokolldatei mit dem aufgezeichnet wird debug_ssl Möglichkeit:

Debug_SSL = Ja 

Speichern Sie alle Änderungen und schließen Sie die Datei. Dann starten wir den VSFTPD -Service neu:

# Systemctl Neustart VSFTPD 

Schritt 3: Testen des FTP -Servers mit SSL/TLS -Verbindungen

10. Testen Sie, ob VSFTPD alle oben genannten Konfigurationen durchgeführt hat, wenn VSFTPD SSL/TLS -Verbindungen verwendet, indem Sie versuchen, FTP aus der Befehlszeile wie folgt zu verwenden:

# FTP 192.168.56.10 mit 192 verbunden.168.56.10 (192.168.56.10)). 220 Willkommen bei Tecmint.Com FTP -Service. Name (192.168.56.10: Wurzel): Ravi 530 Nichtanonyme Sitzungen müssen Verschlüsselung verwenden. Fehler bei der Anmeldung. 421 Service nicht verfügbar, Remote Server hat eine geschlossene Verbindung ftp> geschlossen 
Überprüfen Sie die sichere Verbindung von FTP SSL

Aus dem obigen Screenshot können wir feststellen, dass uns ein Fehler informiert, der uns darüber informiert, dass VSFTPD nur den Benutzer ermöglichen kann, sich von Clients anzumelden, die Verschlüsselungsdienste unterstützen.

Die Befehlszeile bietet keine Verschlüsselungsdienste an. Um sich sicher eine Verbindung zum Server herzustellen, benötigen wir einen FTP -Client, der SSL/TLS -Verbindungen wie z. B. unterstützt Dateizilla.

Schritt 4: Installieren Sie FileZilla, um eine sichere Verbindung zu einem FTP -Server herzustellen

11. Dateizilla ist ein moderner, populärer und wichtiger plattformübergreifender FTP-Client, der standardmäßig SSL/TLS-Verbindungen unterstützt.

Führen Sie den folgenden Befehl aus, um FileZilla unter Linux zu installieren:

--------- Auf Centos/rhel/fedora --------- # yum install epel-release filezilla --------- Auf Debian/Ubuntu --------- $ sudo apt-Get Installieren Sie FileZilla 

12. Wenn die Installation abgeschlossen ist (oder wenn Sie sie bereits installiert haben), öffnen Sie sie und gehen Sie zu Datei => Websites -Manager oder (drücken Sie Strg+s) um das zu bekommen Seitenverwalter Schnittstelle unten.

Klicke auf Neue Seite Schaltfläche zum Hinzufügen einer neuen Site/Host -Verbindungsdetails.

Fügen Sie eine neue FTP -Site in FileZilla hinzu

13. Setzen Sie als Nächstes den Host/Site -Namen, fügen Sie die IP -Adresse hinzu, definieren Sie das zu verwendende Protokoll, die Verschlüsselung und den Anmeldetyp wie im folgenden Screenshot (Verwenden Sie Werte, die für Ihr Szenario gelten):

Gastgeber: 192.168.56.10 Protokoll: FTP - Dateiübertragungsprotokoll Verschlüsselung: Erfordern explizite FTP über #recommended Anmeldetyp: Fragen Sie nach Passwort #recommender Benutzer: Nutzername 
Fügen Sie FTP -Serverdetails in FileZilla hinzu

14. Klicken Sie dann auf Verbinden So eingeben Sie das Passwort erneut und überprüfen Sie das für die SSL/TLS -Verbindung verwendete Zertifikat und klicken Sie auf OK Noch einmal, um eine Verbindung zum FTP -Server herzustellen:

Überprüfen Sie das FTP -SSL -Zertifikat

In diesem Stadium sollten wir uns über eine TLS -Verbindung erfolgreich in den FTP -Server anmelden müssen, um weitere Informationen über die folgende Schnittstelle zu erhalten.

Mit dem FTP -Server über TLS/SSL verbunden

15. Versuchen Sie nicht zuletzt, Dateien vom lokalen Computer auf den FTP -Sever im Dateienordner zu übertragen, und schauen Sie sich das untere Ende der Dateizilla Schnittstelle zum Anzeigen von Berichten zu Dateiübertragungen.

Übertragen Sie Dateien mit FTP sicher übertragen

Das ist alles! Denken Sie immer daran, dass FTP standardmäßig nicht sicher ist, es sei denn. Teilen Sie Ihre Gedanken zu diesem Tutorial/Thema über das Feedback -Formular unten mit.