Secure Configuration du serveur ProfTPD sur CentOS 7 avec TLS
- 1068
- 3
- Mohamed Brunet
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-portsConfiguration 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-portsConfigurer 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 correctChiffrement
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:
CommeType 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?
- « Comment installer le plugin Adobe Flash Player pour Firefox sur Centos 7 Linux
- Installation du logiciel de virtualisation VirtualBox sur Centos Linux »