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.
Schreibe einen Kommentar