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.
Warum TLS mit ProFTPD verwenden??
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
Zugangsvoraussetzungen
- Root-Zugriff oder Sudo-Berechtigungen
- Internet-Konnektivität
Erforderliche Komponenten
- Firewalld (empfohlen)
- SELinux aktiviert oder entsprechend konfiguriert
Schritt 1: Installieren Sie das 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: Importieren Sie den EPEL-GPG-Schlüssel
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: Aktualisieren Sie das 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: Installieren Sie ProFTPD und 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: Öffnen Sie den FTP-Port in der 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: Überprüfen Sie die installierte 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: Erstellen Sie FTP-Benutzer
Aus Sicherheitsgründen, Erstellen Sie dedizierte Benutzer und Gruppen für den FTP-Zugriff.
Erstellen Sie eine Gruppe
sudo groupadd proftpdgroup
Erstellen Sie einen Benutzer
sudo useradd -G proftpdgroup ftpuser -s /sbin/nologin -d /ftpshare
Legen Sie ein Passwort fest:
sudo passwd ftpuser
Legen Sie Verzeichnisberechtigungen fest
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: Aktivieren Sie die TLS-Verschlüsselung
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: Konfigurieren Sie Passivmodus-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: Konfigurieren Sie SELinux
Wenn SELinux aktiviert ist, FTP-Lese- und Schreibzugriff zulassen:
sudo setsebool -P allow_ftpd_full_access=1
Dadurch kann ProFTPD ordnungsgemäß auf Dateien zugreifen, während SELinux aktiv bleibt.
Schritt 11: Generieren Sie ein TLS-Zertifikat
Erstellen Sie ein selbstsigniertes Zertifikat für TLS.
sudo openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /etc/pki/tls/certs/proftpd.pem \
-out /etc/pki/tls/certs/proftpd.pem
Während der Zertifikatserstellung, Geben Sie Details an, z:
Country Name
State or Province
City
Organization
Organizational Unit
Common Name
Email Address
Der allgemeine Name sollte normalerweise mit dem Hostnamen Ihres Servers übereinstimmen.
Sichern Sie sich das Zertifikat
Beschränken Sie den Zertifikatszugriff:
sudo chmod 0440 /etc/pki/tls/certs/proftpd.pem
Dadurch wird verhindert, dass unbefugte Benutzer die Zertifikatsdatei lesen.
Schritt 12: Aktivieren Sie die TLS-Startoption
Bearbeiten:
sudo nano /etc/sysconfig/proftpd
Lokalisieren:
PROFTPD_OPTIONS=""
Ersetzen Sie es durch:
PROFTPD_OPTIONS="-DTLS"
Dadurch wird ProFTPD angewiesen, mit aktivierter TLS-Unterstützung zu beginnen.
Schritt 13: Starten Sie ProFTPD neu
Übernehmen Sie alle Änderungen:
sudo systemctl restart proftpd
Überprüfen Sie, ob der Dienst erfolgreich gestartet wurde:
sudo systemctl status proftpd
Der TLS-fähige FTP-Server ist jetzt betriebsbereit.
Optional: Aktivieren Sie den anonymen FTP-Zugriff
Anonymes FTP sollte nur aktiviert werden, wenn es unbedingt erforderlich ist.
Weil Benutzer nicht authentifiziert sind, Der anonyme Zugriff bringt zusätzliche Sicherheitsaspekte mit sich.
Fügen Sie den folgenden Block am Ende von hinzu:
/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>
Starten Sie ProFTPD neu:
sudo systemctl restart proftpd
Diese Konfiguration ermöglicht anonymen Lesezugriff.
Verbindung mit FileZilla herstellen
FileZilla ist einer der beliebtesten FTP-Clients und unterstützt FTP über TLS.
Erstellen Sie eine neue Site
Offen:
File → Site Manager
Erstellen Sie ein neues Verbindungsprofil.
Verbindungseinstellungen konfigurieren
Satz:
Protocol: FTP
Encryption: Require Explicit FTP over TLS
Host: your-server-ip
Port: 21
Anmeldedaten konfigurieren
Für authentifizierte Benutzer:
Logon Type: Normal
Username: ftpuser
Password: your-password
Für anonymen Zugriff:
Logon Type: Anonymous
Akzeptieren Sie das TLS-Zertifikat
Beim ersten Verbindungsversuch, FileZilla zeigt das TLS-Zertifikat an.
Überprüfen Sie die Zertifikatsinformationen und klicken Sie auf:
OK
dem Zertifikat zu vertrauen.
Nach erfolgreicher Authentifizierung, Sie werden sicher über TLS verbunden.
Testen der TLS-Konfiguration
Um zu überprüfen, ob die Verschlüsselung funktioniert:
Überprüfen Sie die FileZilla-Protokolle
Das Verbindungsprotokoll sollte darauf hinweisen:
TLS connection established
Überprüfen Sie das TLS-Protokoll
Rezension:
cat /var/log/proftpd/tls.log
Dieses Protokoll zeichnet TLS-bezogene Ereignisse auf und kann bei der Behebung von Verbindungsproblemen helfen.
Bestätigen Sie die sichere Authentifizierung
Stellen Sie sicher, dass Anmeldeinformationen über verschlüsselte Sitzungen und nicht über einfaches FTP übertragen werden.
Best Practices für die Sicherheit
Verwenden Sie sichere Passwörter
Alle FTP-Benutzer sollten eindeutige und komplexe Passwörter verwenden.
Beschränken Sie den anonymen Zugriff
Deaktivieren Sie anonymes FTP, es sei denn, es besteht eine bestimmte Geschäftsanforderung.
Benutzerverzeichnisse einschränken
Benutzer sollten nur Zugriff auf die Verzeichnisse haben, die sie benötigen.
Halten Sie die Software auf dem neuesten Stand
Regelmäßig aktualisieren:
- AlmaLinux
- ProFTPD
- OpenSSL
um Sicherheitspatches zu erhalten.
Verwenden Sie vertrauenswürdige Zertifikate
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.
