Letzte Aktualisierung: 27.11.2024 12:30

Einleitung

ProFTPD, der „Professional FTP Daemon“, ist eine flexible und leistungsstarke FTP-Server-Software, die sich ideal für vielseitige und professionelle Anwendungsfälle eignet. Mit seiner anpassbaren Konfiguration, erweiterten Funktionen wie virtuellen Hosts und Benutzerverwaltung bietet ProFTPD eine umfassende Lösung für die Dateiübertragung. In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie ProFTPD auf einem Debian 11 Server installieren und optimal konfigurieren.

Voraussetzungen

Um dieses Tutorial folgen zu können, benötigen Sie einen Debian 11 Server mit einen nicht Root-User welcher „sudo“ Rechte Besitzt und einer einfachen Firewall. Dies kann mithilfe des Tutorial Ersteinrichtung eines Debian 11 Servers konfiguriert werden.

Durchführung

Schritt 1 – System aktualisieren

Vor der Installation vom FTP Server rate ich Ihnen ihre System Paketlisten zu aktualisieren. Um diesen Befehl auszuführen müssen Sie vor dem Befehl sudo schreiben. Beim erstmaligen ausführen des Befehls werden Sie nach Ihrem Passwort gefragt, da Sie nur mit Root-Rechten arbeiten.

Um die aktuellen Pakete abzurufen, geben Sie folgenden Befehl ein:

sudo apt update

Nun kann Ihr System Ihnen sagen, dass es Updates für bereits installierte Pakete existiert. Falls dies so ist, können Sie folgenden Befehl eingeben.

sudo apt upgrade -y

Schritt 2 – ProFTPD installieren

Installieren Sie ProFTPD mit dem folgenden Befehl:

sudo apt install proftpd -y

Während der Installation werden Sie gefragt, ob der Server im Standalone-Modus oder als Inetd-Service ausgeführt werden soll. Wählen Sie „Standalone“, damit der Server unabhängig arbeitet.

Überprüfen Sie anschließend, ob der Dienst läuft:

sudo systemctl status proftpd

Der Dienst sollte als „aktiv“ angezeigt werden.

Schritt 3 – Grundkonfiguration von ProFTPD

Die Hauptkonfigurationsdatei für ProFTPD finden Sie unter /etc/proftpd/proftpd.conf. Öffnen Sie diese mit einem Texteditor:

sudo nano /etc/proftpd/proftpd.conf

Passen Sie die folgenden Einstellungen an:

Hostname festlegen (optional):
Geben Sie dem Server einen Namen, um ihn in Logs oder Nachrichten eindeutig zu identifizieren:

ServerName "Mein-FTP-Server"

Anonyme Zugriffe deaktivieren:
Um die Sicherheit zu erhöhen, deaktivieren Sie anonyme Zugriffe:

<Anonymous ~ftp>
  User ftp 
  Group nogroup 
  UserAlias anonymous ftp 
  <Directory *> 
    <Limit WRITE> 
      DenyAll 
    </Limit> 
  </Directory>
</Anonymous> 

Entfernen Sie diesen Abschnitt oder kommentieren Sie ihn aus, falls er nicht benötigt wird.

Lokalen Benutzern Zugriff erlauben:
Stellen Sie sicher, dass lokale Benutzer Zugriff auf ihre Home-Verzeichnisse haben, aber auf diese begrenzt bleiben:

DefaultRoot ~

Speichern Sie die Datei und starten Sie den Dienst neu, um die Änderungen zu übernehmen:

sudo systemctl restart proftpd

Schritt 4 – Firewall konfigurieren

Wenn auf Ihrem Server eine Firewall aktiviert ist, müssen Sie den FTP-Verkehr explizit zulassen. Erlauben Sie zunächst den Standard-FTP-Port 21:

sudo ufw allow 21/tcp

Falls Sie passive FTP-Verbindungen nutzen möchten, konfigurieren Sie in der Datei /etc/proftpd/proftpd.conf einen Portbereich:

PassivePorts 40000 50000

Erlauben Sie diesen Portbereich in der Firewall:

sudo ufw allow 40000:50000/tcp

Laden Sie die Firewall-Regeln neu, um die Änderungen anzuwenden:

sudo ufw reload

Schritt 5 – Benutzer erstellen und Verbindung testen

Erstellen Sie einen neuen Benutzer, der auf den FTP-Server zugreifen kann:

sudo adduser ftpbenutzer

Testen Sie die Verbindung mit einem FTP-Client wie FileZilla oder über die Kommandozeile:

ftp <Server-IP>

Melden Sie sich mit dem Benutzernamen und Passwort an und überprüfen Sie, ob der Zugriff funktioniert.

Schritt 6 – Zusätzliche Sicherheitsmaßnahmen

SSL/TLS aktivieren:
Um die Dateiübertragung zu verschlüsseln, aktivieren Sie SSL/TLS. Installieren Sie dazu zunächst die erforderlichen Pakete:

sudo apt install openssl

Generieren Sie ein selbstsigniertes Zertifikat:

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

Fügen Sie diese Einstellungen in die Datei /etc/proftpd/proftpd.conf ein:

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

Starten Sie den Dienst neu:

sudo systemctl restart proftpd

Passiven FTP-Verkehr absichern:
Beschränken Sie den Zugriff auf den definierten Portbereich und prüfen Sie regelmäßig die Logs auf verdächtigen Datenverkehr.

Fazit

Mit diesem Leitfaden haben Sie einen funktionsfähigen und sicheren ProFTPD-Server auf Debian 11 eingerichtet. Der Server ist nun bereit, Dateien sicher und effizient zu übertragen. Durch zusätzliche Maßnahmen wie SSL/TLS und Firewall-Regeln haben Sie die Grundlage für einen geschützten Betrieb geschaffen. Denken Sie daran, die Konfiguration regelmäßig zu überprüfen und den Server auf dem neuesten Stand zu halten, um langfristig eine sichere Umgebung zu gewährleisten.