Qu'est-ce que ProFTPD?
ProFTPD (Démon FTP professionnel) est un serveur FTP open source conçu pour fournir un accès sécurisé, flexible, et plateforme de transfert de fichiers hautement configurable pour les environnements Linux.
Sa syntaxe de configuration est similaire à celle du serveur HTTP Apache, le rendant familier à de nombreux administrateurs système. ProFTPD prend en charge un large éventail de fonctionnalités avancées, y compris:
- Serveurs FTP virtuels
- Accès FTP anonyme
- Autorisations basées sur les utilisateurs et les groupes
- Cryptage TLS/SSL
- Authentification LDAP
- Prise en charge d'IPv6
- Contrôles d'accès flexibles
Lorsqu'il est combiné avec le cryptage TLS, ProFTPD peut transférer des fichiers en toute sécurité tout en protégeant les noms d'utilisateur, mots de passe, et les données d'interception.
Pourquoi utiliser TLS avec ProFTPD?
FTP traditionnel transmet les informations d'identification et les données en texte brut.
Cela signifie que les attaquants surveillant le trafic réseau peuvent être en mesure de visualiser:
- Noms d'utilisateur
- Mots de passe
- Contenu du fichier
Sécurité de la couche de transport (TLS) crypte la communication entre le client FTP et le serveur, améliorant considérablement la sécurité.
Hébergement Web WordPress
À partir de 3,99 $/mois
Les avantages incluent:
- Authentification cryptée
- Transferts de fichiers sécurisés
- Protection contre le vol d'identifiants
- Meilleure conformité aux normes de sécurité
Pour les environnements de production, TLS doit toujours être activé.
Conditions préalables
Avant de commencer l'installation, assurez-vous d'avoir:
Système opérateur
- AlmaLinux 8
Conditions d'accès
- Accès root ou privilèges sudo
- Connectivité Internet
Composants requis
- Pare-feu (recommandé)
- SELinux activé ou configuré de manière appropriée
Étape 1: Installer le référentiel EPEL
Les packages ProFTPD ne sont pas inclus dans les référentiels AlmaLinux par défaut.
Installez les packages supplémentaires pour Enterprise Linux (CHAUD) dépôt:
sudo yum install -y epel-release
Étape 2: Importer la clé EPEL GPG
Importer la clé de signature du référentiel:
Serveur VPS pas cher
À partir de 2,99 $/mois
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Cela permet la vérification du package lors de l'installation.
Étape 3: Mettre à jour le système
Avant d'installer un nouveau logiciel, mettre à jour les packages existants:
sudo yum update -y
Garder le système d'exploitation à jour permet d'éviter les problèmes de dépendance et de compatibilité.
Étape 4: Installez ProFTPD et OpenSSL
Installez ProFTPD avec OpenSSL et les utilitaires de support:
sudo yum install -y proftpd openssl proftpd-utils
Une fois l'installation terminée, démarrer le service:
sudo systemctl start proftpd
Activer le démarrage automatique:
Hébergement VPS Windows
Remote Access & Full Admin
sudo systemctl enable proftpd
Vérifier l'état du service:
sudo systemctl status proftpd
Le service doit signaler un état d'exécution actif.
Étape 5: Ouvrez le port FTP dans le pare-feu
Autoriser les connexions FTP entrantes sur le port 21.
sudo firewall-cmd --add-port=21/tcp --permanent
Recharger la configuration du pare-feu:
sudo firewall-cmd --reload
Vérifier la règle:
sudo firewall-cmd --list-ports
Exemple de sortie:
21/tcp
Étape 6: Vérifiez la version installée
Confirmez que ProFTPD est correctement installé.
proftpd -v
Exemple de sortie:
ProFTPD Version 1.3.6e
La version affichée peut différer selon la version du référentiel disponible au moment de l'installation.
Étape 7: Créer des utilisateurs FTP
Pour des raisons de sécurité, créer des utilisateurs et des groupes dédiés pour l'accès FTP.
Créer un groupe
sudo groupadd proftpdgroup
Créer un utilisateur
sudo useradd -G proftpdgroup ftpuser -s /sbin/nologin -d /ftpshare
Définir un mot de passe:
sudo passwd ftpuser
Définir les autorisations du répertoire
sudo chmod -R 1750 /ftpshare
Cela restreint l'accès tout en permettant aux utilisateurs autorisés d'accéder à leurs fichiers.
Exemple de configuration:
Group: proftpdgroup
User: ftpuser
Home Directory: /ftpshare
Étape 8: Activer le cryptage TLS
Avant de modifier la configuration, créer une sauvegarde:
sudo cp /etc/proftpd.conf /etc/proftpd.conf.backup
Modifier le fichier de configuration ProFTPD:
sudo nano /etc/proftpd.conf
Ajoutez la configuration TLS suivante:
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
Enregistrez le fichier après avoir apporté les modifications.
Étape 9: Configurer les ports en mode passif
Les clients FTP utilisent fréquemment le mode passif.
Ouvrir une plage de ports passifs via le pare-feu:
sudo firewall-cmd --add-port=1024-65534/tcp
sudo firewall-cmd --add-port=1024-65534/tcp --permanent
Vérifier la configuration:
sudo firewall-cmd --list-ports
Recharger le pare-feu:
sudo firewall-cmd --reload
Étape 10: Configurer SELinux
Si SELinux est activé, autoriser l'accès FTP en lecture et en écriture:
sudo setsebool -P allow_ftpd_full_access=1
Cela permet à ProFTPD d'accéder aux fichiers de manière appropriée pendant que SELinux reste actif.
Étape 11: Générer un certificat TLS
Créer un certificat auto-signé pour TLS.
sudo openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /etc/pki/tls/certs/proftpd.pem \
-out /etc/pki/tls/certs/proftpd.pem
Pendant la génération du certificat, fournir des détails tels que:
Country Name
State or Province
City
Organization
Organizational Unit
Common Name
Email Address
Le nom commun doit généralement correspondre au nom d'hôte de votre serveur.
Sécurisez le certificat
Restreindre l'accès aux certificats:
sudo chmod 0440 /etc/pki/tls/certs/proftpd.pem
Cela empêche les utilisateurs non autorisés de lire le fichier de certificat.
Étape 12: Activer l'option de démarrage TLS
Modifier:
sudo nano /etc/sysconfig/proftpd
Situer:
PROFTPD_OPTIONS=""
Remplacez-le par:
PROFTPD_OPTIONS="-DTLS"
Cela demande à ProFTPD de démarrer avec la prise en charge TLS activée.
Étape 13: Redémarrer ProFTPD
Appliquer toutes les modifications:
sudo systemctl restart proftpd
Vérifiez que le service démarre avec succès:
sudo systemctl status proftpd
Le serveur FTP compatible TLS est désormais opérationnel.
Facultatif: Activer l'accès FTP anonyme
Le FTP anonyme ne doit être activé qu'en cas d'absolue nécessité.
Parce que les utilisateurs ne sont pas authentifiés, l'accès anonyme introduit des considérations de sécurité supplémentaires.
Ajoutez le bloc suivant à la fin de:
/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>
Redémarrer ProFTPD:
sudo systemctl restart proftpd
Cette configuration permet un accès anonyme en lecture seule.
Connexion avec FileZilla
FileZilla est l'un des clients FTP les plus populaires et prend en charge FTP sur TLS..
Créer un nouveau site
Ouvrir:
File → Site Manager
Créer un nouveau profil de connexion.
Configurer les paramètres de connexion
Ensemble:
Protocol: FTP
Encryption: Require Explicit FTP over TLS
Host: your-server-ip
Port: 21
Configurer les informations de connexion
Pour les utilisateurs authentifiés:
Logon Type: Normal
Username: ftpuser
Password: your-password
Pour un accès anonyme:
Logon Type: Anonymous
Acceptez le certificat TLS
Lors de la première tentative de connexion, FileZilla affichera le certificat TLS.
Vérifiez les informations du certificat et cliquez sur:
OK
faire confiance au certificat.
Après une authentification réussie, vous serez connecté en toute sécurité via TLS.
Test de la configuration TLS
Pour vérifier que le cryptage fonctionne:
Vérifier les journaux FileZilla
Le journal de connexion doit indiquer:
TLS connection established
Vérifiez le journal TLS
Revoir:
cat /var/log/proftpd/tls.log
Ce journal enregistre les événements liés à TLS et peut aider à résoudre les problèmes de connexion.
Confirmer l'authentification sécurisée
Assurez-vous que les informations d'identification sont transmises via des sessions cryptées plutôt que par FTP simple.
Meilleures pratiques de sécurité
Utilisez des mots de passe forts
Tous les utilisateurs FTP doivent utiliser des mots de passe uniques et complexes.
Limiter l'accès anonyme
Désactivez le FTP anonyme sauf si une exigence commerciale spécifique existe.
Restreindre les répertoires d'utilisateurs
Les utilisateurs ne doivent avoir accès qu'aux répertoires dont ils ont besoin.
Gardez le logiciel à jour
Mettre à jour régulièrement:
- AlmaLinux
- ProFTPD
- OuvertSSL
pour recevoir les correctifs de sécurité.
Utiliser des certificats de confiance
Pour les déploiements de production, remplacer les certificats auto-signés par des certificats émis par une autorité de certification de confiance.
Surveiller les journaux
Réviser régulièrement:
- Journaux ProFTPD
- Journaux TLS
- Journaux d'authentification
pour identifier une activité suspecte.
Création d'un environnement FTP sécurisé
ProFTPD fournit une solution FTP puissante et flexible pour les serveurs AlmaLinux. Lorsqu'il est combiné avec le cryptage TLS, il offre une méthode sécurisée pour transférer des fichiers tout en protégeant les informations d'identification et les données sensibles contre l'interception.
En mettant en œuvre les autorisations utilisateur appropriées, certificats sécurisés, règles de pare-feu, et les procédures de maintenance continue, les administrateurs peuvent déployer un service FTP fiable adapté aux exigences de transfert de fichiers internes et externes.
