Ce document décrit comment installer et configurer ProFTPD dans CentOS 7.0 Server. ProFTPD est un démon FTP pour les systèmes d'exploitation Unix et de type Unix. ProFTPD est développé, publié et distribué sous la licence publique GNU (GPL), qui l'établit essentiellement comme un logiciel libre, ce qui signifie qu'il peut être vendu, concédé sous licence et autrement manipulé de la manière souhaitée tant que le code source complet et complet accompagne tout ProFTPD regroupe ou est mis à disposition par tous les sites qui distribuent des binaires précompilés. Le logiciel peut être modifié par n'importe qui à tout moment, tant que toutes les œuvres dérivées sont également sous licence publique GNU.
1 Remarque préliminaire
Ce didacticiel est basé sur le serveur CentOS 7.0, vous devez donc configurer une installation de base du serveur CentOS 7.0 avant de poursuivre ce didacticiel. Le système doit avoir une adresse IP statique. J'utilise 192.168.0.100 comme 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
Ajout dans 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[[email protected] ~]# proftpd -v
ProFTPD Version 1.3.5
[[email protected] ~]#
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 le 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
[[email protected] ~]# passwd srijan
Modification du mot de passe pour l'utilisateur srijan.
Nouveau mot de passe :<-- mot de passe ftp
Retapez le nouveau mot de passe :<--ftppassword
passwd :tous les jetons d'authentification ont été mis à jour avec succès.
[[email protected] ~]#
Ensuite, nous devons protéger le répertoire contre la suppression et le renommage de son contenu par n'importe quel utilisateur, nous allons donc modifier les autorisations du répertoire comme suit :
chmod -R 1777 /ftpshare/
Nous sommes maintenant 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 Activation de TLS dans ProFTPD
Afin d'activer TLS dans ProFTPD, ouvrez /etc/proftpd/proftpd.conf avant de modifier le fichier, il est préférable de sauvegarder le fichier d'origine, puis modifiez 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 ~ !admPassivePorts 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 délai d'expiration requis 300 TLSLog /var/log/proftpd/tls.log# # TLSSessionCache shm:/file=/var/run/proftpd/sesscache# #
[...]
J'ai ajouté les ports 6000 et 6100 pour autoriser le mode passif de ftp, de même j'autoriserai le mode passif via le service de pare-feu 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
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#
De plus, nous devons dire à SELINUX d'autoriser 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
[[email protected] certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Générer une clé privée RSA 1024 bits
.........++++++
écriture d'une nouvelle clé privée dans '/etc/pki/tls/certs/proftpd.pem'
- ----
Vous êtes sur le point d'être invité à entrer des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom distinctif ou un DN .
Il y a pas mal de champs mais vous pouvez laisser des champs vides
Pour certains champs il y aura une valeur par défaut,
Si vous saisissez '.', le champ restera 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, société) [Default Company 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 [] :<-- [e-mail protégé]
[[email protected] certificats]#
Donnez les valeurs ci-dessus en rouge selon votre choix, je viens de donner un exemple.
Maintenant, pour des raisons de sécurité, je vais rendre les certificats lisibles uniquement comme suit :
chmod 0440 /etc/pki/tls/certs/proftpd.pem
Redémarrez enfin le service ProFTPD comme suit :
systemctl redémarre proftpd.service
Nous pouvons nous connecter au serveur ProFTPD avec le logiciel Filezilla, vous devez avoir installé Filezilla 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 :Étant donné que nous avons crypté notre connexion à l'étape ci-dessus, nous utiliserons le cryptage avec Exiger un FTP explicite sur TLS
Si vous n'avez pas configuré TLS, vous pouvez utiliser Utiliser le FTP standard
Il demandera de faire confiance aux certificats appuyez sur OK
Il sera connecté au répertoire partagé FTP avec TLS connexion.
4 Accès ftp anonyme dans ProFTPD
Nous pouvons créer un compte ftp anonyme dans ProFTPD, ajoutez simplement ces entrées dans le fichier de configuration ProFTPD :
nano /etc/proftpd.conf
Et ajoutez ces entrées à la fin du fichier,
[...]
###Partage anonyme#####Utilisateur ftp Groupe ftpUserAlias anonyme ftpDirFakeUser sur ftp DirFakeGroup sur ftpMaxClients 10 DenyAll
Nous devons maintenant redémarrer les services :
systemctl redémarre proftpd.service
Connectez-le maintenant via Filezilla comme suit :
Remarque :Étant donné que nous avons crypté notre connexion à l'étape ci-dessus, nous utiliserons le cryptage avec Exiger un FTP explicite sur TLS
Si vous n'avez pas configuré TLS, vous pouvez utiliser Utiliser le FTP standard
Appuyez sur Connect :
Il vous demandera de faire confiance aux certificats, appuyez sur OK
Nous avons réussi à nous connecter au serveur avec un utilisateur anonyme.
Toutes nos félicitations! Nous avons maintenant configuré avec succès l'environnement de serveur ProFTPD dans CentOS 7.0 :)
5 liens
- CentOS :http://www.centos.org/
- ProFTPD :http://www.proftpd.org/