Wat is ProFTPD?
ProFTPD (Professionele FTP-daemon) is een open-source FTP-server die is ontworpen om een veilige verbinding te bieden, flexibele, en zeer configureerbaar platform voor bestandsoverdracht voor Linux-omgevingen.
De configuratiesyntaxis is vergelijkbaar met die van de Apache HTTP-server, waardoor het voor veel systeembeheerders bekend is. ProFTPD ondersteunt een breed scala aan geavanceerde functies, inbegrepen:
- Virtuele FTP-servers
- Anonieme FTP-toegang
- Op gebruikers en groepen gebaseerde machtigingen
- TLS/SSL-codering
- LDAP-authenticatie
- IPv6-ondersteuning
- Flexibele toegangscontroles
In combinatie met TLS-encryptie, ProFTPD kan bestanden veilig overbrengen en gebruikersnamen beschermen, wachtwoorden, en gegevens van onderschepping.
Waarom TLS gebruiken met ProFTPD?
Traditionele FTP verzendt inloggegevens en gegevens in platte tekst.
Dit betekent dat aanvallers die het netwerkverkeer monitoren, deze mogelijk kunnen bekijken:
- Gebruikersnamen
- Wachtwoorden
- Bestandsinhoud
Beveiliging van transportlaag (TLS) versleutelt de communicatie tussen de FTP-client en de server, de veiligheid aanzienlijk verbeteren.
WordPress-webhosting
Vanaf $ 3,99/maandelijks
Voordelen zijn onder meer:
- Gecodeerde authenticatie
- Veilige bestandsoverdracht
- Bescherming tegen diefstal van inloggegevens
- Verbeterde naleving van beveiligingsnormen
Voor productieomgevingen, TLS moet altijd ingeschakeld zijn.
Vereisten
Voordat u met de installatie begint, zorg ervoor dat je dat hebt:
Besturingssysteem
- AlmaLinux 8
Toegangsvereisten
- Root-toegang of sudo-rechten
- Internetverbinding
Vereiste componenten
- Firewall (aanbevolen)
- SELinux ingeschakeld of op de juiste manier geconfigureerd
Stap 1: Installeer de EPEL-repository
ProFTPD-pakketten zijn niet opgenomen in de standaard AlmaLinux-repository's.
Installeer de Extra Pakketten voor Enterprise Linux (WARM) opslagplaats:
sudo yum install -y epel-release
Stap 2: Importeer de EPEL GPG-sleutel
Importeer de ondertekeningssleutel van de repository:
Goedkope VPS-server
Vanaf $ 2,99/maandelijks
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Hierdoor is pakketverificatie tijdens de installatie mogelijk.
Stap 3: Update het systeem
Voordat u nieuwe software installeert, bestaande pakketten bijwerken:
sudo yum update -y
Door het besturingssysteem up-to-date te houden, worden afhankelijkheids- en compatibiliteitsproblemen voorkomen.
Stap 4: Installeer ProFTPD en OpenSSL
Installeer ProFTPD samen met OpenSSL en ondersteunende hulpprogramma's:
sudo yum install -y proftpd openssl proftpd-utils
Nadat de installatie is voltooid, de dienst starten:
sudo systemctl start proftpd
Schakel automatisch opstarten in:
Windows VPS-hosting
Remote Access & Full Admin
sudo systemctl enable proftpd
Controleer de servicestatus:
sudo systemctl status proftpd
De service moet een actieve bedrijfsstatus rapporteren.
Stap 5: Open FTP-poort in de firewall
Sta inkomende FTP-verbindingen op de poort toe 21.
sudo firewall-cmd --add-port=21/tcp --permanent
Laad de firewallconfiguratie opnieuw:
sudo firewall-cmd --reload
Controleer de regel:
sudo firewall-cmd --list-ports
Voorbeelduitvoer:
21/tcp
Stap 6: Controleer de geïnstalleerde versie
Controleer of ProFTPD correct is geïnstalleerd.
proftpd -v
Voorbeelduitvoer:
ProFTPD Version 1.3.6e
De weergegeven versie kan verschillen, afhankelijk van de repositoryversie die beschikbaar was tijdens de installatie.
Stap 7: Maak FTP-gebruikers aan
Voor veiligheidsdoeleinden, creëer speciale gebruikers en groepen voor FTP-toegang.
Maak een groep
sudo groupadd proftpdgroup
Maak een gebruiker aan
sudo useradd -G proftpdgroup ftpuser -s /sbin/nologin -d /ftpshare
Stel een wachtwoord in:
sudo passwd ftpuser
Directory-machtigingen instellen
sudo chmod -R 1750 /ftpshare
Dit beperkt de toegang terwijl geautoriseerde gebruikers toegang hebben tot hun bestanden.
Voorbeeldconfiguratie:
Group: proftpdgroup
User: ftpuser
Home Directory: /ftpshare
Stap 8: Schakel TLS-codering in
Voordat u de configuratie wijzigt, maak een back-up:
sudo cp /etc/proftpd.conf /etc/proftpd.conf.backup
Bewerk het ProFTPD-configuratiebestand:
sudo nano /etc/proftpd.conf
Voeg de volgende TLS-configuratie toe:
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
Sla het bestand op nadat u de wijzigingen heeft aangebracht.
Stap 9: Configureer passieve moduspoorten
FTP-clients gebruiken vaak de passieve modus.
Open een passief poortbereik via de firewall:
sudo firewall-cmd --add-port=1024-65534/tcp
sudo firewall-cmd --add-port=1024-65534/tcp --permanent
Controleer de configuratie:
sudo firewall-cmd --list-ports
Laad de firewall opnieuw:
sudo firewall-cmd --reload
Stap 10: Configureer SELinux
Als SELinux is ingeschakeld, FTP-lees- en schrijftoegang toestaan:
sudo setsebool -P allow_ftpd_full_access=1
Dit geeft ProFTPD de mogelijkheid om op de juiste manier toegang te krijgen tot bestanden terwijl SELinux actief blijft.
Stap 11: Genereer een TLS-certificaat
Maak een zelfondertekend certificaat voor TLS.
sudo openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /etc/pki/tls/certs/proftpd.pem \
-out /etc/pki/tls/certs/proftpd.pem
Tijdens het genereren van certificaten, geef details zoals:
Country Name
State or Province
City
Organization
Organizational Unit
Common Name
Email Address
De algemene naam moet doorgaans overeenkomen met de hostnaam van uw server.
Beveilig het certificaat
Beperk de toegang tot het certificaat:
sudo chmod 0440 /etc/pki/tls/certs/proftpd.pem
Dit voorkomt dat onbevoegde gebruikers het certificaatbestand kunnen lezen.
Stap 12: Schakel de TLS-opstartoptie in
Bewerking:
sudo nano /etc/sysconfig/proftpd
Lokaliseren:
PROFTPD_OPTIONS=""
Vervang het door:
PROFTPD_OPTIONS="-DTLS"
Dit instrueert ProFTPD om te starten met TLS-ondersteuning ingeschakeld.
Stap 13: Start ProFTPD opnieuw
Pas alle wijzigingen toe:
sudo systemctl restart proftpd
Controleer of de service succesvol start:
sudo systemctl status proftpd
De TLS-compatibele FTP-server is nu operationeel.
Optioneel: Schakel anonieme FTP-toegang in
Anonieme FTP mag alleen worden ingeschakeld als dit absoluut noodzakelijk is.
Omdat gebruikers niet zijn geverifieerd, anonieme toegang introduceert aanvullende beveiligingsoverwegingen.
Voeg het volgende blok toe aan het einde van:
/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>
Start ProFTPD opnieuw:
sudo systemctl restart proftpd
Deze configuratie maakt anonieme alleen-lezen toegang mogelijk.
Verbinding maken met FileZilla
FileZilla is een van de populairste FTP-clients en ondersteunt FTP via TLS.
Maak een nieuwe site
Open:
File → Site Manager
Maak een nieuw verbindingsprofiel.
Configureer verbindingsinstellingen
Set:
Protocol: FTP
Encryption: Require Explicit FTP over TLS
Host: your-server-ip
Port: 21
Configureer inloggegevens
Voor geverifieerde gebruikers:
Logon Type: Normal
Username: ftpuser
Password: your-password
Voor anonieme toegang:
Logon Type: Anonymous
Accepteer het TLS-certificaat
Tijdens de eerste verbindingspoging, FileZilla geeft het TLS-certificaat weer.
Controleer de certificaatgegevens en klik:
OK
om het certificaat te vertrouwen.
Na succesvolle authenticatie, u wordt veilig verbonden via TLS.
De TLS-configuratie testen
Om te verifiëren dat de codering werkt:
Controleer FileZilla-logboeken
Het verbindingslogboek zou dit moeten aangeven:
TLS connection established
Controleer het TLS-logboek
Beoordeling:
cat /var/log/proftpd/tls.log
Dit logboek registreert TLS-gerelateerde gebeurtenissen en kan helpen bij het oplossen van verbindingsproblemen.
Bevestig beveiligde authenticatie
Zorg ervoor dat inloggegevens via gecodeerde sessies worden verzonden in plaats van via gewone FTP.
Beste praktijken op het gebied van beveiliging
Gebruik sterke wachtwoorden
Alle FTP-gebruikers moeten unieke en complexe wachtwoorden gebruiken.
Beperk anonieme toegang
Schakel anonieme FTP uit, tenzij er een specifieke zakelijke vereiste bestaat.
Beperk gebruikersmappen
Gebruikers mogen alleen toegang hebben tot de mappen die zij nodig hebben.
Houd software bijgewerkt
Regelmatig bijwerken:
- AlmaLinux
- ProFTPD
- OpenSSL
om beveiligingspatches te ontvangen.
Gebruik vertrouwde certificaten
Voor productie-implementaties, vervang zelfondertekende certificaten door certificaten uitgegeven door een vertrouwde certificeringsinstantie.
Logboeken bewaken
Regelmatig beoordelen:
- ProFTPD-logboeken
- TLS-logboeken
- Authenticatielogboeken
om verdachte activiteiten te identificeren.
Een veilige FTP-omgeving bouwen
ProFTPD biedt een krachtige en flexibele FTP-oplossing voor AlmaLinux-servers. In combinatie met TLS-encryptie, het biedt een veilige methode voor het overbrengen van bestanden en beschermt tegelijkertijd inloggegevens en gevoelige gegevens tegen onderschepping.
Door de juiste gebruikersrechten te implementeren, beveiligde certificaten, firewall-regels, en lopende onderhoudsprocedures, beheerders kunnen een betrouwbare FTP-service inzetten die geschikt is voor zowel interne als externe vereisten voor bestandsoverdracht.
