Colonel Serveur
Install ProFTPD with TLS on AlmaLinux

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é.

Wordpress Hosting

Hébergement Web WordPress

À partir de 3,99 $/mois

Acheter maintenant

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:

Cheap VPS

Serveur VPS pas cher

À partir de 2,99 $/mois

Acheter maintenant
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:

Windows VPS

Hébergement VPS Windows

Remote Access & Full Admin

Acheter maintenant
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.

Partager cette publication

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *