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

Comment installer ProFTPD sur CentOS 7.0

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 :)

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

Cent OS
  1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

  2. Comment installer Java 11 et 12 sur CentOS 7

  3. Comment installer Wine 4.0 sur CentOS 7

  4. Comment installer ProFTPD sur CentOS 7

  5. Comment installer un serveur FTP sur CentOS 7

Comment installer Slack sur CentOS 8

Comment installer Java sur CentOS 7

Comment installer Ruby sur CentOS 7

Comment installer R sur CentOS 7

Comment installer R sur CentOS 8

Comment installer ProFTPD avec TLS sur CentOS 7.2