GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie ProFTPd mit TLS-Unterstützung auf Ubuntu 15.04

FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird. Dieser Artikel erklärt, wie man ProFTPd mit TLS auf einem Ubuntu 15.04-Server einrichtet, wie man einen FTP-Benutzer hinzufügt und FileZilla verwendet, um sich sicher mit TLS zu verbinden.

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.

Da wir alle Schritte aus diesem Tutorial mit Root-Rechten ausführen müssen, können wir entweder allen Befehlen in diesem Tutorial die Zeichenfolge sudo voranstellen oder wir werden sofort root, indem wir

eingeben
sudo su

2 Installieren Sie ProFTPd und OpenSSL

OpenSSL wird von TLS benötigt; Um ProFTPd und OpenSSL zu installieren, führen wir einfach Folgendes aus:

apt-get install proftpd openssl

Ihnen wird eine Frage gestellt:

Führen Sie proftpd:<-- standalone

aus

Aus Sicherheitsgründen sollten Sie die folgenden Zeilen zu /etc/proftpd/proftpd.conf hinzufügen:

nano /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
ServerIdent on "FTP Server ready."
[...]

Die erste Option ermöglicht das Chrooten von FTP-Benutzern in ihr Home-Verzeichnis und die zweite Option ermöglicht eine ServerIdent-Nachricht, die keine Informationen über die verwendete FTP-Server-Software, -Version oder das Betriebssystem enthält, sodass ein potenzieller Angreifer diese Details nicht auf dem silbernen Teller erhält.

3 Erstellen Sie das SSL-Zertifikat für TLS

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/proftpd/ssl, also erstelle ich zuerst dieses Verzeichnis:

mkdir /etc/proftpd/ssl

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Ländername (2-Buchstaben-Code) [AU]:<-- Geben Sie Ihren Ländernamen ein (z. B. "DE").
Staats- oder Provinzname (vollständiger Name) [Some-State]:<-- Geben Sie Ihren Staat ein oder Provinzname.
Ortsname (zB Stadt) []:<-- Geben Sie Ihre Stadt ein.
Organisationsname (zB Firma) [Internet Widgits Pty Ltd]:<-- Geben Sie Ihren Organisationsnamen ein (z. B. der Name Ihres Unternehmens).
Name der Organisationseinheit (z. B. Abteilung) []:<-- Geben Sie den Namen Ihrer Organisationseinheit ein (z. B. "IT-Abteilung").
Allgemeiner Name (z. B. IHR Name) []:<-- Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z. B. "server1.example.com").
E-Mail-Adresse []:<-- Geben Sie Ihre E-Mail-Adresse ein.

und sichern Sie die generierten Zertifikatsdateien.

chmod 600 /etc/proftpd/ssl/proftpd.*

4 Aktivieren Sie TLS in ProFTPd

Um TLS in ProFTPd zu aktivieren, öffnen Sie /etc/proftpd/proftpd.conf...

nano /etc/proftpd/proftpd.conf

... und kommentieren Sie die Zeile Include /etc/proftpd/tls.conf aus:

[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...]

Öffnen Sie dann /etc/proftpd/tls.conf und lassen Sie es wie folgt aussehen:

nano /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell       no
</IfModule>

Wenn Sie TLSRequired on verwenden, sind nur TLS-Verbindungen erlaubt (dies sperrt alle Benutzer mit alten FTP-Clients, die keine TLS-Unterstützung haben); indem Sie diese Zeile auskommentieren oder TLSRequired off verwenden, sind sowohl TLS- als auch Nicht-TLS-Verbindungen zulässig, je nachdem, was der FTP-Client unterstützt.

Starten Sie danach ProFTPd neu:

systemctl restart proftpd.service

Das ist es. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client für die Verwendung von TLS konfigurieren (dies ist ein Muss, wenn Sie TLSRequired on verwenden) – siehe nächstes Kapitel, wie Sie dies mit FileZilla tun.

Wenn Sie Probleme mit TLS haben, können Sie einen Blick in die TLS-Protokolldatei /var/log/proftpd/tls.log.

werfen

5 Fügen Sie einen FTP-Benutzer hinzu

Die in diesem Tutorial verwendete ProFTPD-Konfiguration authentifiziert Benutzer anhand der Benutzerdatenbank des Linux-Systems (/etc/passwd und /etc/shadow). In diesem Schritt füge ich einen Benutzer „tom“ hinzu, der nur für die FTP-Anmeldung verwendet wird.

useradd --shell /bin/false tom

Dadurch wird der Benutzer „tom“ mit der Shell /bin/false hinzugefügt. Diese Shell stellt sicher, dass er sich per FTP, aber nicht per SSH anmelden kann. Das Heimatverzeichnis eines Benutzers ist standardmäßig /home/[BENUTZERNAME], in unserem Fall /home/tom. ProFTPD ist so konfiguriert, dass der Benutzer in seinem Home-Verzeichnis eingesperrt wird, sodass er außerhalb von /home/tom nicht auf Systemdateien zugreifen kann. Wenn Sie ein anderes Home-Verzeichnis festlegen möchten, verwenden Sie den folgenden Befehl:

useradd --home /srv/tomftp --create-home --shell /bin/false tom

Dieser Befehl setzt für den Benutzer ein anderes Home-Verzeichnis, in diesem Beispiel das Verzeichnis /srv/tomftp.

Der nächste Schritt besteht darin, ein Passwort für den Benutzer tom festzulegen, führen Sie den passwd-Befehl aus:

passwd tom

Und geben Sie das neue Passwort zweimal ein, wenn Sie dazu aufgefordert werden.

6 Konfigurieren von FileZilla für TLS

Um FTP mit TLS verwenden zu können, benötigen Sie einen FTP-Client, der TLS unterstützt, z. B. FileZilla.

Öffnen Sie in FileZilla den Site Manager:

Wählen Sie den Server aus, der ProFTPd mit TLS verwendet; Wählen Sie im Dropdown-Menü Servertyp die Option FTPES anstelle von normalem FTP aus:

Jetzt können Sie sich mit dem Server verbinden. Wenn Sie dies zum ersten Mal tun, müssen Sie das neue SSL-Zertifikat des Servers akzeptieren:

Wenn alles gut geht, sollten Sie jetzt auf dem Server angemeldet sein:

  • ProFTPd:http://www.proftpd.org/
  • FileZilla:http://filezilla-project.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  2. So installieren Sie Proftpd mit TLS unter Ubuntu 15.04

  3. So installieren Sie ProFTPd mit TLS auf OpenSuse 13.2

  4. So installieren Sie ProFTPD unter Ubuntu 14.04

  5. So installieren Sie ProFTPD unter Ubuntu 15.04

So installieren Sie OSClass mit Nginx unter Ubuntu 20.04

So installieren Sie ProFTPD mit TLS auf CentOS 7.2

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

So installieren Sie ProFTPD mit TLS unter Ubuntu 20.04 LTS

So installieren Sie ProFTPD unter Ubuntu 20.04

So installieren Sie Nginx mit Let’s Encrypt TLS/SSL unter Ubuntu 20.04