So installierst du einen FTP-Server mit ProFTPD und TLS/SSL unter Ubuntu 22.04

ProFTPD ist ein freier, quelloffener und funktionsreicher FTP-Server, der für Unix und Unix-ähnliche Betriebssysteme entwickelt wurde. Es ist ein sicheres, leistungsstarkes und hoch konfigurierbares Dateiübertragungsprotokoll, mit dem du Dateien über das Internet hoch- und herunterladen kannst. Es ist eine Open-Source-Software und unterstützt TLS (SSL) für sichere Verbindungen.

Diese Anleitung zeigt dir, wie du den FTP-Server ProFTPD auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

ProFTPD unter Ubuntu 22.04 installieren

Standardmäßig ist das ProFTPD-Paket im Ubuntu-Standard-Repository enthalten. Du kannst es ganz einfach mit dem folgenden Befehl installieren:

apt install proftpd -y

Sobald das ProFTPD-Paket installiert ist, starte den ProFTPD-Dienst mit dem folgenden Befehl:

systemctl start proftpd

Du kannst den Status von ProFTPD mit dem folgenden Befehl überprüfen:

systemctl status proftpd

Du erhältst die folgende Ausgabe:

? proftpd.service - ProFTPD FTP Server
     Loaded: loaded (/lib/systemd/system/proftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-11 14:33:27 UTC; 16s ago
   Main PID: 5668 (proftpd)
      Tasks: 1 (limit: 2242)
     Memory: 4.4M
        CPU: 57ms
     CGroup: /system.slice/proftpd.service
             ??5668 "proftpd: (accepting connections)" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Oct 11 14:33:26 ubuntu2204 systemd[1]: Starting ProFTPD FTP Server...
Oct 11 14:33:26 ubuntu2204 proftpd[5666]: Checking syntax of configuration file
Oct 11 14:33:27 ubuntu2204 systemd[1]: proftpd.service: Can't open PID file /run/proftpd.pid (yet?) after start: Operation not permitted
Oct 11 14:33:27 ubuntu2204 systemd[1]: Started ProFTPD FTP Server.

Du kannst die ProFTPD-Version mit folgendem Befehl überprüfen:

proftpd --version

Du solltest die folgende Ausgabe erhalten:

ProFTPD Version 1.3.7c

Einen FTP-Benutzer anlegen

Als Nächstes musst du einen Benutzer für FTP erstellen. Du kannst ihn mit dem folgenden Befehl erstellen:

adduser ftpuser

Lege ein Passwort für diesen Benutzer fest, wie unten gezeigt:

Adding user `ftpuser' ...
Adding new group `ftpuser' (1000) ...
Adding new user `ftpuser' (1000) with group `ftpuser' ...
Creating home directory `/home/ftpuser' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for ftpuser
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

SSL/TLS für FTP generieren

Um die FTP-Verbindung mit SSL/TLS zu sichern, musst du SSL/TLS für ProFTPD generieren.

Installiere zunächst das OpenSSL-Paket mit dem folgenden Befehl:

apt-get install openssl -y

Als Nächstes generierst du ein SSL/TLS-Zertifikat mit dem folgenden Befehl:

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

Du wirst aufgefordert, Zertifikatsinformationen anzugeben (siehe unten):

......................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:JUN
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT
Organizational Unit Name (eg, section) []:ITC
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:hitjethva@gmail.com

Als Nächstes legst du die richtigen Berechtigungen für die erzeugten Zertifikate fest:

chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt

ProFTPD konfigurieren

Als nächstes musst du die Konfigurationsdatei von ProFTPD bearbeiten und die Standardeinstellungen ändern:

nano /etc/proftpd/proftpd.conf

Ändere die folgenden Konfigurationen:

UseIPv6 on
ServerName "FTP Server"
Port 21
RequireValidShell on
AuthOrder mod_auth_pam.c* mod_auth_unix.c
Include /etc/proftpd/tls.conf

Speichere und schließe die Datei, bearbeite dann die TLS-Konfigurationsdatei und definiere deine SSL-Zertifikate:

nano /etc/proftpd/tls.conf

Ändere die folgenden Zeilen:

TLSEngine                               on
TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRequired on

Speichere und schließe die Datei und starte dann den ProFTPD-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart proftpd

Zugriff auf ProFTPD Server

Jetzt ist der ProFTPD-Server installiert und mit SSL/TLS gesichert. Nun ist es an der Zeit, mit dem FTP-Client FileZilla auf ihn zuzugreifen.

Gehe zu dem entfernten System und öffne FileZilla. Du solltest den folgenden Bildschirm sehen:

FileZilla

Klicke auf Eine neue Verbindung erstellen. Du solltest den folgenden Bildschirm sehen:

FTP-Server-Einstellungen

Gib die IP-Adresse deines FTP-Servers, den Port, den Benutzernamen und das Passwort ein und klicke auf die Schaltfläche Verbinden. Sobald die FTP-Verbindung hergestellt ist, solltest du den folgenden Bildschirm sehen:

FTP-Server verbunden

Fazit

Glückwunsch! Du hast ProFTPD erfolgreich installiert und mit SSL/TLS auf Ubuntu 22.04 gesichert. Jetzt kannst du problemlos Dateien über sichere Verbindungen auf den FTP-Server hoch- und herunterladen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …