Was ist ProFTPD??
ProFTPD (Professioneller FTP-Daemon) ist ein Open-Source-FTP-Server, der eine sichere Bereitstellung bietet, flexibel, und hochgradig konfigurierbare Dateiübertragungsplattform für Linux-Umgebungen.
Seine Konfigurationssyntax ähnelt der des Apache HTTP Servers, Dadurch ist es vielen Systemadministratoren vertraut. ProFTPD unterstützt eine Vielzahl erweiterter Funktionen, einschließlich:
- Virtuelle FTP-Server
- Anonymer FTP-Zugriff
- Benutzer- und gruppenbasierte Berechtigungen
- TLS/SSL-Verschlüsselung
- LDAP-Authentifizierung
- IPv6-Unterstützung
- Flexible Zugangskontrollen
In Kombination mit TLS-Verschlüsselung, ProFTPD kann Dateien sicher übertragen und gleichzeitig Benutzernamen schützen, Passwörter, und Daten aus der Überwachung.
Why Use TLS with ProFTPD?
Herkömmliches FTP überträgt Anmeldeinformationen und Daten im Klartext.
Dies bedeutet, dass Angreifer, die den Netzwerkverkehr überwachen, möglicherweise einen Einblick erhalten:
- Benutzernamen
- Passwörter
- Dateiinhalte
Transportschichtsicherheit (TLS) verschlüsselt die Kommunikation zwischen dem FTP-Client und dem Server, die Sicherheit erheblich verbessern.
WordPress-Webhosting
Ab 3,99 $/Monat
Zu den Vorteilen gehören::
- Verschlüsselte Authentifizierung
- Sichere Dateiübertragungen
- Schutz vor Identitätsdiebstahl
- Verbesserte Einhaltung von Sicherheitsstandards
Für Produktionsumgebungen, TLS sollte immer aktiviert sein.
Voraussetzungen
Bevor Sie mit der Installation beginnen, Stellen Sie sicher, dass Sie es haben:
Betriebssystem
- AlmaLinux 8
Access Requirements
- Root-Zugriff oder Sudo-Berechtigungen
- Internet-Konnektivität
Required Components
- Firewalld (empfohlen)
- SELinux aktiviert oder entsprechend konfiguriert
Schritt 1: Install the EPEL Repository
ProFTPD-Pakete sind nicht in den Standard-AlmaLinux-Repositorys enthalten.
Installieren Sie die Extrapakete für Enterprise Linux (WARM) Repository:
sudo yum install -y epel-release
Schritt 2: Import the EPEL GPG Key
Importieren Sie den Repository-Signaturschlüssel:
Günstiger VPS-Server
Ab 2,99 $/Monat
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Dies ermöglicht eine Paketüberprüfung während der Installation.
Schritt 3: Update the System
Vor der Installation neuer Software, Vorhandene Pakete aktualisieren:
sudo yum update -y
Durch die Aktualisierung des Betriebssystems können Abhängigkeits- und Kompatibilitätsprobleme vermieden werden.
Schritt 4: Install ProFTPD and OpenSSL
Installieren Sie ProFTPD zusammen mit OpenSSL und unterstützenden Dienstprogrammen:
sudo yum install -y proftpd openssl proftpd-utils
Nach Abschluss der Installation, Starten Sie den Dienst:
sudo systemctl start proftpd
Aktivieren Sie den automatischen Start:
Windows VPS-Hosting
Remote Access & Full Admin
sudo systemctl enable proftpd
Überprüfen Sie den Servicestatus:
sudo systemctl status proftpd
Der Dienst sollte einen aktiven Ausführungsstatus melden.
Schritt 5: Open FTP Port in the Firewall
Eingehende FTP-Verbindungen am Port zulassen 21.
sudo firewall-cmd --add-port=21/tcp --permanent
Laden Sie die Firewall-Konfiguration neu:
sudo firewall-cmd --reload
Überprüfen Sie die Regel:
sudo firewall-cmd --list-ports
Beispielausgabe:
21/tcp
Schritt 6: Verify the Installed Version
Bestätigen Sie, dass ProFTPD korrekt installiert ist.
proftpd -v
Beispielausgabe:
ProFTPD Version 1.3.6e
Die angezeigte Version kann je nach der zum Zeitpunkt der Installation verfügbaren Repository-Version unterschiedlich sein.
Schritt 7: Create FTP Users
Aus Sicherheitsgründen, Erstellen Sie dedizierte Benutzer und Gruppen für den FTP-Zugriff.
Create a Group
sudo groupadd proftpdgroup
Create a User
sudo useradd -G proftpdgroup ftpuser -s /sbin/nologin -d /ftpshare
Legen Sie ein Passwort fest:
sudo passwd ftpuser
Set Directory Permissions
sudo chmod -R 1750 /ftpshare
Dies schränkt den Zugriff ein und ermöglicht gleichzeitig autorisierten Benutzern den Zugriff auf ihre Dateien.
Beispielkonfiguration:
Group: proftpdgroup
User: ftpuser
Home Directory: /ftpshare
Schritt 8: Enable TLS Encryption
Bevor Sie die Konfiguration ändern, Erstellen Sie ein Backup:
sudo cp /etc/proftpd.conf /etc/proftpd.conf.backup
Bearbeiten Sie die ProFTPD-Konfigurationsdatei:
sudo nano /etc/proftpd.conf
Fügen Sie die folgende TLS-Konfiguration hinzu:
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
Speichern Sie die Datei, nachdem Sie die Änderungen vorgenommen haben.
Schritt 9: Configure Passive Mode Ports
FTP-Clients verwenden häufig den Passivmodus.
Öffnen Sie einen passiven Portbereich durch die Firewall:
sudo firewall-cmd --add-port=1024-65534/tcp
sudo firewall-cmd --add-port=1024-65534/tcp --permanent
Überprüfen Sie die Konfiguration:
sudo firewall-cmd --list-ports
Laden Sie die Firewall neu:
sudo firewall-cmd --reload
Schritt 10: Configure SELinux
Wenn SELinux aktiviert ist, FTP-Lese- und Schreibzugriff zulassen:
sudo setsebool -P allow_ftpd_full_access=1
This permits ProFTPD to access files appropriately while SELinux remains active.
Schritt 11: Generate a TLS Certificate
Create a self-signed certificate for TLS.
sudo openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /etc/pki/tls/certs/proftpd.pem \
-out /etc/pki/tls/certs/proftpd.pem
During certificate generation, provide details such as:
Country Name
State or Province
City
Organization
Organizational Unit
Common Name
Email Address
The Common Name should typically match your server hostname.
Secure the Certificate
Restrict certificate access:
sudo chmod 0440 /etc/pki/tls/certs/proftpd.pem
This prevents unauthorized users from reading the certificate file.
Schritt 12: Enable TLS Startup Option
Bearbeiten:
sudo nano /etc/sysconfig/proftpd
Locate:
PROFTPD_OPTIONS=""
Replace it with:
PROFTPD_OPTIONS="-DTLS"
This instructs ProFTPD to start with TLS support enabled.
Schritt 13: Restart ProFTPD
Apply all changes:
sudo systemctl restart proftpd
Verify the service starts successfully:
sudo systemctl status proftpd
The TLS-enabled FTP server is now operational.
Optional: Enable Anonymous FTP Access
Anonymous FTP should only be enabled when absolutely necessary.
Because users are not authenticated, anonymous access introduces additional security considerations.
Add the following block to the end of:
/etc/proftpd.conf
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
MaxClients 10
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
Restart ProFTPD:
sudo systemctl restart proftpd
This configuration allows anonymous read-only access.
Connecting with FileZilla
FileZilla is one of the most popular FTP clients and supports FTP over TLS.
Create a New Site
Offen:
File → Site Manager
Erstellen Sie ein neues Verbindungsprofil.
Configure Connection Settings
Satz:
Protocol: FTP
Encryption: Require Explicit FTP over TLS
Host: your-server-ip
Port: 21
Configure Login Credentials
For authenticated users:
Logon Type: Normal
Username: ftpuser
Password: your-password
For anonymous access:
Logon Type: Anonymous
Accept the TLS Certificate
During the first connection attempt, FileZilla will display the TLS certificate.
Review the certificate information and click:
OK
to trust the certificate.
After successful authentication, you will be connected securely through TLS.
Testing the TLS Configuration
To verify encryption is working:
Check FileZilla Logs
The connection log should indicate:
TLS connection established
Verify the TLS Log
Review:
cat /var/log/proftpd/tls.log
This log records TLS-related events and can help troubleshoot connection issues.
Confirm Secure Authentication
Ensure credentials are transmitted over encrypted sessions rather than plain FTP.
Best Practices für die Sicherheit
Use Strong Passwords
All FTP users should use unique and complex passwords.
Limit Anonymous Access
Disable anonymous FTP unless a specific business requirement exists.
Restrict User Directories
Users should only have access to directories they require.
Keep Software Updated
Regularly update:
- AlmaLinux
- ProFTPD
- OpenSSL
to receive security patches.
Use Trusted Certificates
Für Produktionsbereitstellungen, Ersetzen Sie selbstsignierte Zertifikate durch Zertifikate, die von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurden.
Protokolle überwachen
Überprüfen Sie regelmäßig:
- ProFTPD-Protokolle
- TLS-Protokolle
- Authentifizierungsprotokolle
um verdächtige Aktivitäten zu identifizieren.
Aufbau einer sicheren FTP-Umgebung
ProFTPD bietet eine leistungsstarke und flexible FTP-Lösung für AlmaLinux-Server. In Kombination mit TLS-Verschlüsselung, Es bietet eine sichere Methode zum Übertragen von Dateien und schützt gleichzeitig Anmeldeinformationen und sensible Daten vor dem Abfangen.
Durch die Implementierung geeigneter Benutzerberechtigungen, sichere Zertifikate, Firewall-Regeln, und laufende Wartungsarbeiten, Administratoren können einen zuverlässigen FTP-Dienst bereitstellen, der sowohl für interne als auch externe Dateiübertragungsanforderungen geeignet ist.
