Oberst Server
Install ProFTPD with TLS on AlmaLinux

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 Hosting

WordPress-Webhosting

Ab 3,99 $/Monat

Jetzt kaufen

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:

Cheap VPS

Günstiger VPS-Server

Ab 2,99 $/Monat

Jetzt kaufen
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

Windows VPS-Hosting

Remote Access & Full Admin

Jetzt kaufen
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.

Teilen Sie diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert