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

Configuration sécurisée du serveur ProFTPD sur CentOS 7 avec TLS

Objectif

L'objectif est de configurer d'abord un serveur ProFTPD de base sur CentOS 7. Une fois que nous aurons une configuration de serveur FTP de base, nous ajouterons ensuite le mode passif FTP et augmenterons la sécurité en ajoutant Transport Layer Security (TLS).

Enfin, nous ajoutons une configuration anonyme facultative pour permettre à l'utilisateur anonyme de se connecter au serveur FTP sans nom d'utilisateur ni mot de passe.

Versions du système d'exploitation et du logiciel

  • Système d'exploitation : – CentOS Linux version 7.5.1804
  • Logiciel : – ProFTPD Version 1.3.5e

Exigences

Accès privilégié à votre système Ubuntu en tant que root ou via sudo commande est requise.

Difficulté

MOYEN

Congrès

  • # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
  • $ – commandes linux données à exécuter en tant qu'utilisateur normal non privilégié

Instructions

Configuration FTP de base

Commençons par l'installation et la configuration de base du serveur ProFTP. Cela inclut l'installation, la définition des règles de pare-feu et les tests du client.

Configuration du serveur

Le serveur FTP ProFTPD fait partie d'un référentiel EPEL. Par conséquent, la première étape consiste à activer le référentiel EPEL, puis à installer le serveur ProFTPD :

# yum install epel-release
# yum install proftpd

Ensuite, démarrez le serveur ProFTPD et confirmez son démarrage correct en recherchant un port ouvert 21

# service proftpd start
# ss -nlt

Ensuite, nous devons mettre un tout dans le pare-feu du serveur pour autoriser le trafic entrant sur le port 21

# firewall-cmd --add-port=21/tcp --permanent
# firewall-cmd --reload 

Pour confirmer un port entrant ouvert 21 exécuter :

# firewall-cmd --list-ports

Configuration du serveur FTP Basig à l'aide de ProFTPD sur CentOS 7

À ce stade, tout utilisateur système existant peut se connecter via FTP au serveur ProFTPD nouvellement configuré. En option, nous pouvons créer un nouvel utilisateur, par ex. lubos avec un accès au répertoire /var/ftp-share :

# useradd lubos -s /sbin/nologin -d /var/ftp-share
# passwd lubos
# chmod -R 750 /var/ftp-share
# setsebool -P allow_ftpd_full_access=1

Connexion client

À ce stade, nous devrions être en mesure d'établir une connexion FTP à partir d'un ordinateur client distant. Le test le plus simple est d'utiliser le ftp commande.

Étant donné que notre serveur ProFTPD peut être résolu via ftp.linuxconfig.org nom d'hôte et utilisateur lubos existe déjà exécuter :

$ ftp ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
230 User lubos logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
REMARQUE :Veuillez noter qu'à ce stade, nous ne pouvons établir que des "connexions FTP actives" ! Toute tentative de création d'une "connexion FTP passive" échouera.

Configuration FTP en mode passif

Configuration du serveur

Pour permettre à notre serveur FTP d'accepter également les connexions FTP passives, exécutez les commandes suivantes pour activer les connexions passives sur la plage de ports éphémères enregistrée par l'IANA :

echo "PassivePorts 49152 65534" >> /etc/proftpd.conf

Redémarrez le serveur ProFTPD :

# service proftpd restart

Ouvrez le pare-feu pour les ports dans la plage 49152-65534 :

# firewall-cmd --add-port=49152-65534/tcp --permanent
# firewall-cmd --reload

Confirmez que les ports ont été ouverts correctement :

# firewall-cmd --list-ports

Configurez le serveur ProFTPD pour recevoir des connexions FTP passives.

Connexion client FTP

Comme auparavant, nous pouvons maintenant tester la connexion passive FTP en utilisant le ftp commande. Assurez-vous que cette fois vous utilisez le -p comme indiqué ci-dessous :

$ ftp -p ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
230 User lubos logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,111,209,252).
150 Opening ASCII mode data connection for file list
226 Transfer complete
ftp> 

Tout fonctionne comme prévu !

Serveur FTP sécurisé avec TLS

Configuration du serveur

Si vous envisagez d'utiliser votre serveur FTP en dehors de votre réseau local, il est recommandé d'utiliser une sorte de cryptage. Heureusement, la configuration de ProFTPD avec TLS est extrêmement simple. Tout d'abord, s'il n'est pas déjà disponible, installez le openssl paquet :

# yum install openssl

Ensuite, créez un certificat à l'aide de la commande suivante. La seule valeur requise est Common Name qui est le nom d'hôte de votre serveur FTP :

# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generating a 1024 bit RSA private key
...++++++
.......++++++
writing new private key to '/etc/pki/tls/certs/proftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:ftp.linuxconfig.org
Email Address []:

Ensuite, en tant qu'utilisateur root, ouvrez /etc/sysconfig/proftpd à l'aide de votre éditeur de texte préféré et modifiez :

FROM:
PROFTPD_OPTIONS=""
TO:
PROFTPD_OPTIONS="-DTLS"

Une fois prêt, redémarrez le serveur ProFTPD :

# service proftpd restart

Connexion client

Cette fois, nous utilisons FileZilla comme client de test FTP :

Créez une nouvelle connexion FTP. Pour tester TLS, assurez-vous de sélectionner un Encryption correct et Logon Type .

Le client FTP vous avertira du Unknown Certificate . Cochez Always Trust et appuyez sur OK .

Connexion chiffrée TLS réussie.

Configurer un utilisateur FTP anonyme

Configuration du serveur

Pour autoriser l'utilisateur anonyme à se connecter au serveur FTP, ouvrez /etc/sysconfig/proftpd à l'aide de votre éditeur de texte préféré et modifiez :

FROM:
PROFTPD_OPTIONS="-DTLS"
TO:
PROFTPD_OPTIONS="-DTLS -DANONYMOUS_FTP"

Ci-dessus, nous supposons que vous avez déjà activé TLS auparavant. Lorsque vous êtes prêt, redémarrez le serveur FTP :

# service proftpd restart

Connexion client

Utilisation de FileZilla comme client de test FTP :

Comme Logon Type sélectionnez Anonymous

Connexion FTP anonyme réussie.

Annexe

Bloquer/Refuser l'accès FTP de l'utilisateur

Au cas où vous auriez besoin de bloquer/refuser l'accès au serveur FTP d'un utilisateur du système, ajoutez son nom d'utilisateur dans /etc/ftpusers . Un nom d'utilisateur par ligne. Ainsi, toute tentative de connexion de l'utilisateur échouera avec 530 erreur de connexion :

$ ftp ftp.linuxconfig.org
Connected to ftp.linuxconfig.org.
220 FTP Server ready.
Name (ftp.linuxconfig.org:lubos): lubos
331 Password required for lubos
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Cent OS
  1. Comment installer un serveur FTP sur CentOS 7 avec VSFTPD

  2. Comment configurer un serveur FTP avec VSFTPD sur Ubuntu 20.04

  3. Serveur ProFTPD

  4. Configurer le serveur VPN IPSec avec Libreswan sur CentOS 8

  5. Comment installer un serveur FTP sur CentOS 7

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

Comment installer ProFTPD avec TLS sur CentOS 7.2

Comment sécuriser le serveur CentOS 7 avec ModSecurity

Comment configurer un serveur de sauvegarde centralisé avec Amanda sur CentOS 7

Comment installer et configurer le serveur FTP sur CentOS

Comment configurer un serveur FTP avec ProFTPD dans Ubuntu 18.04