Einrichten eines sicheren FTP -Servers mit SSL/TLS auf Ubuntu einrichten

Einrichten eines sicheren FTP -Servers mit SSL/TLS auf Ubuntu einrichten

In diesem Tutorial werden wir beschreiben, wie man a sichere kann Ftp Server (Vsftpd steht für "Sehr sicherer FTP -Daemon”) Verwenden SSL/TLS In Ubuntu 16.04/16.10.

Wenn Sie einen sicheren FTP -Server für CentOS -basierte Verteilungen einrichten möchten, können Sie einen FTP -Server mit SSL/TLS auf CentOS sichern

Nachdem wir die verschiedenen Schritte in diesem Leitfaden befolgt haben, haben wir gelernt, dass die Grundlagen der Aktivierung von Verschlüsselungsdiensten auf einem FTP -Server für sichere Datenübertragungen von entscheidender Bedeutung sind.

Anforderungen

  1. Sie müssen einen FTP -Server in Ubuntu installieren und konfigurieren

Bevor wir uns weiter bewegen, stellen Sie sicher, dass alle Befehle in diesem Artikel als root- oder sudo privilegiertes Konto ausgeführt werden.

Schritt 1: Generieren von SSL/TLS -Zertifikat für FTP auf Ubuntu

1. Wir werden zunächst ein Unterverzeichnis erstellen, unter: /etc/ssl/ um die zu speichern SSL/TLS Zertifikat- und Schlüsseldateien, wenn es nicht vorhanden ist:

$ sudo mkdir/etc/ssl/privat 

2. Generieren wir nun das Zertifikat und die Schlüssel in einer einzelnen Datei, indem Sie den folgenden Befehl ausführen.

$ sudo opensensl req -x509 -nodes -keeout/etc/ssl/privat/vsftpd.pem -out/etc/ssl/privat/vsftpd.PEM -Tage 365 -Newkey RSA: 2048 

Der obige Befehl fordert Sie auf, die folgenden Fragen zu beantworten. Vergessen Sie nicht, Werte einzugeben, 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 für die Verwendung von SSL/TLS auf Ubuntu

3. Bevor wir welche ausführen Vsftpd Konfigurationen für diejenigen, die UFW Firewall aktiviert haben, müssen Sie die Ports öffnen 990 Und 40000-50000 Damit TLS -Verbindungen und der Port -Bereich der passiven Ports in der VSFTPD -Konfigurationsdatei einstellen können:

$ sudo ufw erlauben 990/tcp $ sudo ufw 40000: 50000/tcp $ sudo ufw Status 

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

$ sudo vi/etc/vsftpd/vsftpd.conf oder $ sudo nano/etc/vsftpd/vsftpd.Conf 

Fügen Sie dann die Option hinzu oder suchen Sie ssl_enable und setzen seinen Wert auf JA Um die Verwendung von SSL wieder zu aktivieren, da TLS sicherer als SSL ist, werden wir VSFTPD stattdessen einschränken SSL_TLSV1 Möglichkeit:

ssl_enable = yes ssl_tlsv1 = yes 

5. Kommentieren Sie als Nächstes die folgenden Zeilen mit dem # Charakter wie folgt:

#RSA_CERT_FILE =/ETC/SSL/Private/SSL-Cert-Snakeoiloil.PEM #RSA_PRIVATE_KEY_FILE =/etc/ssl/privat/ssl-cert-snakeoiloil.Taste 

Fügen Sie anschließend 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. Jetzt müssen wir auch 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 der Anmeldung 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 verwenden, um mehr Sicherheitsfunktionen auf dem FTP -Server hinzuzufügen. Mit Option Required_SSL_REUSE = Ja, Alle SSL -Datenverbindungen sind erforderlich, um eine Wiederverwendung von SSL -Sitzungen zu zeigen. beweisen, dass sie das gleiche Master -Geheimnis wie der Kontrollkanal kennen. Also sollten wir es deaktivieren.

Required_SSL_REUSE = Nr 

Darüber hinaus können wir festlegen, welche SSL -Ciphers VSFTPD für verschlüsselte SSL -Verbindungen mit dem zulassen SSL_CIPHERS Möglichkeit. Dies wird dazu beitragen, alle Bemühungen von Angreifern zu frustrieren, die versuchen, eine bestimmte Chiffre zu erzwingen, in der sie möglicherweise Schwachstellen entdeckten:

SSL_CIPHERS = High 

8. Definieren wir dann den Portbereich (min und maximal) von passiven Ports.

pasv_min_port = 40000 pasv_max_port = 50000 

9. Um das SSL -Debugging zu aktivieren, werden wir in der VSFTPD -Protokolldatei die OpenSSL -Verbindungsdiagnostik aufgezeichnet. Wir können die verwenden debug_ssl Möglichkeit:

Debug_SSL = Ja 

Speichern Sie schließlich die Datei und schließen Sie sie. Starten Sie dann den VSFTPD -Service neu:

$ systemctl restart vsftpd 

Schritt 3: Überprüfen Sie die FTP mit SSL/TLS -Verbindungen auf Ubuntu

10. Testen Sie nach der Durchführung aller oben genannten Konfigurationen, wenn VSFTPD jetzt SSL/TLS -Verbindungen verwendet, indem Sie versuchen, FTP aus der Befehlszeile wie unten zu verwenden.

Aus der folgenden Ausgabe gibt es eine Fehlermeldung, in der uns VSFTPD nur den Benutzern (nicht anonym) von sicheren Clients anmelden kann, die Verschlüsselungsdienste unterstützen.

$ ftp 192.168.56.10 Verbunden mit 192.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 

Die Befehlszeile unterstützt Verschlüsselungsdienste nicht, was zum obigen Fehler entsteht. Um sich mit aktivierter Verschlüsselungsdienste sicher eine Verbindung zu einem FTP -Server zu verbinden, benötigen wir einen FTP -Client, der standardmäßig SSL/TLS -Verbindungen unterstützt, wie z. B Dateizilla.

Schritt 4: Installieren Sie FileZilla auf Clients, um FTP sicher zu verbinden

Dateizilla ist ein leistungsstarker, weit verbreiteter plattformübergreifender FTP-Client, der FTP über SSL/TLS und mehr unterstützt. Verwenden Sie den folgenden Befehl, um FileZilla auf einem Linux -Client -Computer zu installieren.

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

12. Nach Abschluss der Installation öffnen Sie sie und gehen Sie zu Datei => Websites -Manager oder (drücken Sie Strg+s) um das zu bekommen Seitenverwalter Schnittstelle unten.

FileZilla Site Manager

13. Definieren Sie nun 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):

Klicke auf Neue Seite Schaltfläche zum Konfigurieren einer neuen Site/Host -Verbindung.

Gastgeber: 192.168.56.10 Protokoll: FTP - Dateiübertragungsprotokoll Verschlüsselung: Erfordern explizite FTP über #recommended Anmeldetyp: Fragen Sie nach Passwort #recommender Benutzer: Nutzername 
Konfigurieren Sie die neue FTP -Site auf FileZilla

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

Überprüfen Sie das FTP -SSL -Zertifikat

15. Jetzt sollten Sie sich über eine TLS -Verbindung erfolgreich in den FTP -Server angemeldet haben. Überprüfen Sie den Abschnitt "Verbindungsstatus" für weitere Informationen von der folgenden Schnittstelle.

Mit Ubuntu FTP Server verbunden

16. Lassen Sie uns zuletzt Dateien vom lokalen Computer auf den FTP -Sever im Dateienordner übertragen. Schauen Sie sich das untere Ende der Dateizilla -Schnittstelle an, um Berichte zu Dateiübertragungen anzuzeigen.

Sicherung der FTP -Dateiübertragung mit FileZilla

Das ist alles! Denken Sie immer daran, dass die Installation eines FTP -Servers ohne Aktivierung von Verschlüsselungsdiensten bestimmte Sicherheitsauswirkungen hat. Wie wir in diesem Tutorial erläutert haben, können Sie einen FTP -Server so konfigurieren, dass sie SSL/TLS -Verbindungen verwenden, um die Sicherheit in Ubuntu 16 zu implementieren.04/16.10.

Wenn Sie Probleme beim Einrichten von SSL/TLS auf FTP -Server haben, verwenden Sie das folgende Kommentarformular, um Ihre Probleme oder Gedanken in Bezug auf dieses Tutorial/Thema zu teilen.