Installation ProFTPD · 5 min read · Dec 17, 2025

Comment installer ProFTPD sur CentOS 7.0

Ce document décrit comment installer et configurer ProFTPD sur le serveur CentOS 7.0. ProFTPD est un démon FTP pour les systèmes d’exploitation unix et similaires à unix. ProFTPD est développé, publié et distribué sous la GNU Public License (GPL), ce qui l’établit essentiellement comme un logiciel libre, ce qui signifie qu’il peut être vendu, licencié et manipulé de toute autre manière souhaitée tant que le code source complet et complet accompagne tous les paquets ProFTPD ou est mis à disposition par tous les sites qui distribuent des binaires précompilés. Le logiciel peut être modifié par quiconque à tout moment, tant que toutes les œuvres dérivées sont également sous licence sous la GNU Public License.

1 Remarque Préliminaire

Ce tutoriel est basé sur le serveur CentOS 7.0, donc vous devez configurer une installation de base du serveur CentOS 7.0 avant de continuer avec ce tutoriel. Le système doit avoir une adresse IP statique. J’utilise 192.168.0.100 comme mon adresse IP dans ce tutoriel et server1.example.com comme nom d’hôte.

2 Installer ProFTPD

2.1 Installation :

Pour cela, activez EPEL comme suit :

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

Nous allons d’abord installer ProFTPD et OpenSSL comme suit :

yum install -y proftpd openssl proftpd-utils

Nous devons démarrer les services

systemctl start proftpd.service  
systemctl enable proftpd.service

En plus, sur CentOS 7.0, nous devons configurer Firewall-cmd pour le service ftp comme suit :

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

Nous pouvons vérifier la version de ProFTPD comme suit :

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD Version 1.3.5

[root@server1 ~]#

2.2 Création d’Utilisateurs ProFTPD

Pour cela, je vais créer un groupe ftpgroup et un utilisateur srijan pour ProFTPD. Je vais restreindre l’utilisateur srijan avec un répertoire personnel comme /ftpshare

groupadd ftpgroup

Ensuite, j’ajouterai l’utilisateur srijan dans ftpgroup :

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare  
passwd srijan
[root@server1 ~]# passwd srijan  
Changing password for user srijan.  
New password: <--ftppassword  
Retype new password: <--ftppassword  
passwd: all authentication tokens updated successfully.  
[root@server1 ~]# 

Ensuite, nous devons protéger le répertoire contre la suppression et le renommage de son contenu par tout utilisateur, donc nous allons changer les permissions du répertoire comme suit :

chmod -R 1777 /ftpshare/

Maintenant, nous sommes prêts pour la connexion ProFTPD

Maintenant, nous pouvons nous connecter avec l’utilisateur srijan et le mot de passe à ftp://192.168.0.100

3 Activer TLS dans ProFTPD

Pour activer TLS dans ProFTPD, ouvrez /etc/proftpd/proftpd.conf avant de modifier le fichier, il est préférable de faire une sauvegarde du fichier original puis de modifier le fichier comme indiqué ci-dessous :

cp /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf   

Donnez les entrées comme indiqué

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  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
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

J’ai ajouté les ports 6000 et 6100 pour permettre le mode passif de ftp, de même, je vais permettre le mode passif via le service firewalld de CentOS comme suit :

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

Nous pouvons vérifier l’état des ports comme suit :

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

De plus, nous devons dire à SELINUX de permettre la lecture/écriture des fichiers.

setsebool -P allow_ftpd_full_access=1

Pour utiliser TLS, nous devons créer un certificat SSL. Je vais le créer dans /etc/pki/tls/certs, nous pouvons générer le certificat SSL comme suit :

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Génération d’une clé privée RSA de 1024 bits

……………………………..++++++

………++++++

écriture de la nouvelle clé privée dans ‘/etc/pki/tls/certs/proftpd.pem’


Vous allez être invité à entrer des informations qui seront incorporées

dans votre demande de certificat.

Ce que vous allez entrer est ce qu’on appelle un Nom Distingué ou DN.

Il y a pas mal de champs mais vous pouvez laisser certains vides

Pour certains champs, il y aura une valeur par défaut,

Si vous entrez ‘.’, le champ sera laissé vide.


Nom du pays (code à 2 lettres) [XX]:

<–DE

Nom de l’État ou de la province (nom complet) []:

<– Hambourg

Nom de la localité (par exemple, ville) [Ville par défaut]:

<– Luneberg

Nom de l’organisation (par exemple, entreprise) [Société par défaut Ltd]:

<– ISPConfig

Nom de l’unité organisationnelle (par exemple, section) []:

<– Développement

Nom commun (par exemple, votre nom ou le nom d’hôte de votre serveur) []:

<–

server1.example.com

Adresse e-mail []:

<– [email protected]

[root@server1 certs]#

Donnez les valeurs ci-dessus en rouge selon votre choix, j’ai juste donné un exemple.

Maintenant, pour des raisons de sécurité, je vais rendre les certificats uniquement lisibles comme suit :

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Enfin, redémarrez le service ProFTPD comme suit :

systemctl restart proftpd.service

Nous pouvons nous connecter au serveur ProFTPD avec le logiciel Filezilla, vous devez avoir Filezilla installé sur le client pour vous connecter au serveur. Ouvrez Filezilla et donnez les détails comme suit :

Les détails seront :

Hôte = 192.168.0.100
Protocole = FTP
Utilisateur = srijan
Port = peut être vide si vous ne l’avez pas personnalisé à un autre port que 21
Mot de passe = ftppassword (juste créé ci-dessus)

Remarque : Puisque nous avons crypté notre connexion à l’étape ci-dessus, nous utiliserons le chiffrement avec Exiger explicitement FTP sur TLS

Si vous n’avez pas configuré TLS, vous pouvez utiliser Utiliser FTP en clair

Il vous sera demandé de faire confiance aux certificats, appuyez sur OK

Il sera connecté au répertoire partagé FTP avec une connexion TLS.

4 Accès ftp anonyme dans ProFTPD

Nous pouvons créer un compte ftp anonyme dans ProFTPD, il suffit d’ajouter ces entrées dans le fichier de configuration ProFTPD :

nano /etc/proftpd.conf

Et ajoutez ces entrées à la fin du fichier,

[...]  
###Partage anonyme#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

Maintenant, nous devons redémarrer les services :

systemctl restart proftpd.service

Maintenant, connectez-vous via Filezilla comme suit :

Remarque : Puisque nous avons crypté notre connexion à l’étape ci-dessus, nous utiliserons le chiffrement avec Exiger explicitement FTP sur TLS

Si vous n’avez pas configuré TLS, vous pouvez utiliser Utiliser FTP en clair

Appuyez sur Connecter :

Il vous sera demandé de faire confiance aux certificats, appuyez sur OK

Nous nous sommes connectés avec succès au serveur avec l’utilisateur anonyme.

Félicitations ! Maintenant, nous avons configuré avec succès l’environnement du serveur ProFTPD sur CentOS 7.0 :)

5 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.