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:
Klicke auf Eine neue Verbindung erstellen. Du solltest den folgenden Bildschirm sehen:
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:
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.