Secure Configuration du serveur ProfTPD sur CentOS 7 avec TLS

Secure Configuration 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 la sécurité de la couche de transport (TLS).

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

Système d'exploitation et versions logicielles

  • Système opérateur: - Centos Linux version 7.5.1804
  • Logiciel: - ProfTPD Version 1.3.5e

Exigences

Accès privilégié à votre système Ubuntu comme root ou via Sudo La commande est requise.

Difficulté

MOYEN

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Étant donné les commandes Linux à exécuter en tant qu'utilisateur non privilégié régulier

Instructions

Configuration FTP de base

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

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 installer ePEL-Release # yum install ProfTPD 

Ensuite, démarrez le serveur ProfTPD et confirmez son démarrage correct en vérifiant un port ouvert 21

# Service proftpd start # ss -nlt 

Ensuite, nous devons ériger un tout dans le pare-feu du serveur pour permettre 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:

# pare-feu-CMD - List-ports 
Configuration du serveur Basig FTP à l'aide de ProfTPD sur CentOS 7

À ce stade. Éventuellement, nous pouvons créer un nouvel utilisateur E.g. 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 du client

À ce stade, nous devrions pouvoir effectuer une connexion FTP à partir d'un ordinateur client distant. Le test le plus simple consiste à 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 Exécute l'exécution:

$ ftp ftp.linuxconfig.org connecté à FTP.linuxconfig.org. Serveur 220 FTP prêt. Nom (FTP.linuxconfig.org: Lubos): Lubos 331 Mot de passe requis pour Lubos Mot de passe: 230 User Lubos enregistré dans le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. ftp> 
NOTE: Veuillez noter qu'à ce stade, nous ne pouvons établir que des «connexions FTP actives» uniquement! 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 la connexion FTP passive, exécutez les commandes suivantes pour activer les connexions passives sur la plage de port éphémère enregistrée IANA:

Echo "Passiveports 49152 65534" >> / etc / proftpd.confli 

Redémarrez le serveur ProfTPD:

# Service ProfTPD Redémarrer 

Ouvrez le pare-feu pour les ports à portée 49152-65534:

# Firewall-CMD --Add-Port = 49152-65534 / TCP --permanent # Firewall-CMD - Reload 

Confirmez que les ports ont été ouverts correctement:

# pare-feu-CMD - List-ports 
Configurer le serveur ProfTPD pour recevoir des connexions FTP passives.

Connexion client FTP

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

$ ftp -p FTP.linuxconfig.org connecté à FTP.linuxconfig.org. Serveur 220 FTP prêt. Nom (FTP.linuxconfig.org: Lubos): Lubos 331 Mot de passe requis pour Lubos Mot de passe: 230 User Lubos enregistré dans le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. FTP> LS 227 entrant Mode passif (192,168,1,111,209,252). 150 OUVERTISSEMENT CONNEXION DE DONNÉES DE MODE ASCII POUR LISTE FILE 226 Transfert complet FTP> 

Tout fonctionne comme attendre!

Sécuriser le serveur FTP avec TLS

Configuration du serveur

Dans le cas où vous prévoyez d'utiliser votre serveur FTP en dehors de votre réseau local, il est recommandé d'utiliser une sorte de chiffrement. Heureusement, la configuration de ProfTPD avec TLS est extrêmement facile. Tout d'abord, s'il n'est pas disponible, installez le OpenSSL emballer:

# Yum Install OpenSSL 

Ensuite, créez un certificat en utilisant la commande suivante. La seule valeur requise est Nom commun 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 Génération d'une clé privée RSA 1024 bits… ++++++… ++++++ écrivant une nouvelle clé privée pour '/ etc / pki / tls / certs / proftpd.pem '----- Vous êtes sur le point d'être invité à saisir des informations qui seront intégrées à votre demande de certificat. Ce que vous êtes sur le point d'entrer, c'est ce qu'on appelle un nom distingué ou un DN. Il y a pas mal de champs mais vous pouvez laisser un peu de blanc pour certains champs, il y aura une valeur par défaut, si vous entrez '.', Le champ sera laissé vide. ----- Nom du pays (code de 2 lettres) [xx]: nom de l'État ou de la province (nom complet) []: nom de localité (par exemple, ville) [Ville par défaut]: Nom de l'organisation (par exemple, société) [Default Company Ltd]: Nom de l'unité organisationnelle (par exemple, section) []: nom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) []:FTP.linuxconfig.org Adresse e-mail []: 

Ensuite, en tant qu'utilisateur racine, ouvrez / etc / sysconfig / proftpd Utilisation de votre éditeur de texte préféré et modifiez:

De: à: proftpd_options = "- dtls" 

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

# Service ProfTPD Redémarrer 


Connexion du client

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

Créer une nouvelle connexion FTP. Pour tester TLS, assurez-vous de sélectionner un correct Chiffrement et Type de connexion. Le client FTP vous avertira du Certificat inconnu. Cocher Toujours faire confiance et frapper D'ACCORD.

Connexion cryptée TLS réussie.

Configurer l'utilisateur FTP anonyme

Configuration du serveur

Pour permettre à l'utilisateur anonyme de se connecter au serveur FTP ouvert / etc / sysconfig / proftpd Utilisation de votre éditeur de texte préféré et modifiez:

De: proftpd_options = "- dtls" à: proftpd_options = "- dtls -danonymous_ftp" 

Ci-dessus, nous supposons que vous avez déjà compatible TLS. Lorsqu'il redémarre le serveur FTP:

# Service ProfTPD Redémarrer 

Connexion du client

Utilisation de Filezilla comme client de test FTP:

Comme Type de connexion sélectionner Anonyme

Connexion FTP anonyme réussie.

annexe

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

Dans le cas où vous devez bloquer / refuser l'accès au serveur FTP de tout utilisateur système, ajoutez son nom d'utilisateur dans / etc / ftpusers. Un nom d'utilisateur par ligne. Le faire toute tentative d'utilisateur de connexion échouera avec 530 erreur d'identification:

$ ftp ftp.linuxconfig.org connecté à FTP.linuxconfig.org. Serveur 220 FTP prêt. Nom (FTP.linuxconfig.org: Lubos): Lubos 331 Mot de passe requis pour Lubos Mot de passe: 530 Connexion incorrecte. échec de la connexion. Le type de système distant est Unix. Utiliser le mode binaire pour transférer des fichiers. ftp> 

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Configuration du serveur FTP sur Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment configurer vsftpd sur Debian
  • Fichiers de configuration Linux: 30 premiers
  • Comment configurer le serveur et le client FTP / SFTP sur Almalinux
  • Liste des clients FTP et installation sur Ubuntu 22.04 Linux…
  • Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?