GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer ProFTPD avec TLS sur CentOS 7.2

Ce tutoriel décrit l'installation et la configuration de ProFTPD sur un serveur CentOS 7.2. ProFTPD est un démon FTP pour les systèmes d'exploitation Unix et Linux et distribué sous la licence publique GNU (GPL).

1 Remarque préliminaire

Ce didacticiel est basé sur un serveur CentOS. Vous devez donc configurer une installation de base du serveur CentOS 7.2 avant de poursuivre ce didacticiel. Le système doit avoir une adresse IP statique. J'utilise 192.168.1.100 comme adresse IP dans ce tutoriel et server1.example.com comme nom d'hôte.

2 Installer et configurer ProFTPD

2.1 Installation :

Nous avons besoin du logiciel du référentiel EPEL, activez-le comme suit :

yum -y install epel-release

Importez ensuite la clé GPG EPEL :

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

et mettre à jour les packages :

yum -y update

Nous allons installer ProFTPD et OpenSSL comme suit :

yum install -y proftpd openssl proftpd-utils

Nous devons démarrer le service et lui permettre de démarrer automatiquement au démarrage.

systemctl start proftpd.service
systemctl enable proftpd.service

Si vous avez installé firewalld, configurez le pare-feu avec firewall-cmd pour ouvrir le port FTP :

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.5b
[[email protected] ~]#

2.2 Création d'utilisateurs ProFTPD

Je vais créer un groupe ftpgroup et un utilisateur tom pour ProFTPD. Je vais définir /ftpshare comme répertoire personnel pour l'utilisateur tom.

groupadd ftpgroup

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

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

Définissez les autorisations pour le répertoire ftpshare :

chmod -R 1750 /ftpshare/

Nous sommes maintenant prêts pour la connexion ProFTPD. Mais les connexions ne sont pas encore cryptées, nous allons résoudre ce problème dans le chapitre suivant.

3 Activation de TLS dans ProFTPD

Pour 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 de modifier le fichier avec nano.

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

Ajoutez et modifiez les lignes comme indiqué en rouge.

[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]

#
<IfDefine TLS> 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 # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]

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] :<-- Comment forger
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 restart proftpd.service

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

Les détails seront :

Hôte =192.168.1.100
Protocole =FTP
Utilisateur = tom
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 au certificat, 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 lignes dans le fichier de configuration de ProFTPD :

nano /etc/proftpd.conf

Et ajoutez ces lignes à la fin du fichier.

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>

Nous devons maintenant redémarrer le service FTP :

systemctl restart proftpd.service

Connectez-vous maintenant via Filezilla au compte anon 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 Connecter.

Nous sommes connectés avec succès 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.2 :)

  • CentOS :http://www.centos.org/
  • ProFTPD :http://www.proftpd.org/

Cent OS
  1. Comment installer CentOS 8 (avec captures d'écran)

  2. Comment installer Python 3 sur CentOS 7 avec SCL

  3. Comment installer ProFTPd avec TLS sur OpenSuse 13.2

  4. Comment installer ProFTPD sur CentOS 7

  5. Comment installer un serveur FTP sur CentOS 7

Comment installer ProFTPD avec TLS sur Ubuntu 18.04 LTS

Comment installer le serveur FTP vsftpd avec SSL/TLS sur CentOS 8

Comment installer ProFTPD sur CentOS 7.0

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7