Serveur d'impression

Installer, configurer et sécuriser un serveur FTP sous Linux – Bien choisir son serveur d impression

Le 5 octobre 2019 - 11 minutes de lecture

FTP ou File Transfer Protocol est un protocole couramment utilisé pour transférer des fichiers entre ordinateurs, l'un agissant en tant que client, l'autre en tant que serveur. Dans cet article, nous allons parler du serveur FTP dans les systèmes Linux, en particulier du démon FTP très sécurisé (vsftpd).

Le programme vsftpd est un serveur FTP très populaire utilisé par de nombreux serveurs aujourd'hui.

Comment fonctionne le serveur FTP

Le serveur FTP fonctionne avec l'architecture du serveur client pour communiquer et transférer des fichiers.

FTP est un protocole avec état, ce qui signifie que les connexions entre les clients et les serveurs restent ouvertes pendant une session FTP.

Pour envoyer ou recevoir des fichiers d'un serveur FTP, vous pouvez utiliser des commandes FTP. Ces commandes sont exécutées de manière consécutive. C'est comme une file d'attente, une par une.

Il existe deux types de connexions FTP initiées:

  • Connexion de contrôle également appelée connexion de commande.
  • Connexion de données.

Lorsque vous établissez une connexion FTP, le port TCP 21 s'ouvre pour envoyer vos informations de connexion. Cette connexion est appelée connexion de contrôle.

Lorsque vous transférez un fichier, un Connexion de données a démarré.

Il existe deux types de connexion de données:

  • Mode passif.
  • Mode actif.

Les connexions actives sont initiées par le serveur distant et le client attend les demandes du serveur.

Connexions passives initiées par le client sur le serveur distant et le serveur attend les demandes.

Lorsque le client FTP commence un transfert, une option sur votre client FTP détermine si vous souhaitez utiliser une connexion FTP active ou passive.

Mode actif

Le client se connecte depuis un port source éphémère aléatoire au Port de contrôle FTP 21.

Vous pouvez vérifier votre plage de ports éphémères à l'aide de cette commande:

$ chat /proc/sys/net/ipv4/ip_local_port_range

Lorsque vous devez transférer un fichier, le serveur FTP distant ouvre le port 20 pour se connecter au client FTP.

Les connexions en mode actif ont généralement des problèmes de pare-feu, TCP ports 20 et 21 devrait être ouvert sur votre pare-feu.

En raison de ces problèmes avec les pare-feu du mode actif, le mode passif a été introduit.

Si vous utilisez le pare-feu iptables, je vous recommande de consulter le pare-feu Linux iptables pour savoir comment autoriser des ports spécifiques.

Mode passif

En mode passif, le client démarre la connexion de contrôle d'un port aléatoire au port de destination. 21 sur le serveur distant.

si le client FTP demande un fichier, il émettra la commande PASV FTP. Le serveur ouvrira un port aléatoire et donnera ce numéro de port au client.

C’est la raison pour laquelle le FTP est un protocole gourmand en connexion, car chaque fois que vous établissez une connexion de données (comme un transfert de fichier), le serveur effectue le processus ci-dessus, ce qui est fait avec tous les clients connectés au serveur.

En mode passif, les connexions de contrôle et de données démarrées par le client FTP.

Caractéristiques du serveur FTP Vsftpd

Il existe plusieurs serveurs FTP à votre disposition, commerciaux et open source.

Vsftpd a quelques fonctionnalités de sécurité qui le rendent sur le dessus comme:

  • Peut fonctionner en tant qu'utilisateur normal avec une séparation des privilèges.
  • Prend en charge les connexions SSL SSL / TLS.
  • Peut emprisonner les utilisateurs dans leurs répertoires personnels.

Configuration du serveur FTP

De toute façon, certaines distributions Linux livrées avec vsftpd, si vous souhaitez l’installer sur des systèmes Red Hat, vous pouvez utiliser la commande suivante:

$ sudo DNF y vsftpd

Sur les distributions basées sur Debian comme Ubuntu, vous pouvez l’installer comme ceci:

$ sudo apteobtenir installer vsftpd

Une fois le package installé, vous pouvez exécuter le service et l'activer au démarrage.

Le fichier de configuration du serveur FTP vsftpd est /etc/vsftpd/vsftpd.conf fichier ou dans les distributions basées sur Debian, vous pouvez le trouver à /etc/vsftpd.conf .

En fait, le serveur FTP sous Linux est l’un des serveurs les plus faciles à utiliser.

Il existe deux types d’accès au serveur FTP:

  • Accès FTP anonyme: n'importe qui peut se connecter avec le nom d'utilisateur anonyme sans mot de passe.
  • Connexion de l'utilisateur local: tous les utilisateurs valides sur / etc / passwd sont autorisés à accéder au serveur FTP.

Vous pouvez autoriser l’accès anonyme au serveur FTP à partir de la configuration, en /etc/vsftpd/vsftpd.conf en permettant anonymous_enable = OUI s'il n'est pas activé, rechargez votre service.

Maintenant, vous pouvez essayer de vous connecter au serveur FTP en utilisant n’importe quel client FTP, je vais utiliser la simple commande FTP.

Vous pouvez l’installer si ce n’est pas sur votre système:

$ DNF y installer ftp

Maintenant, vous pouvez accéder à votre serveur FTP comme ceci:

$ ftp localhost

Ensuite, tapez le nom d'utilisateur anonyme et sans mot de passe, appuyez simplement sur Entrée.

Vous verrez l'invite FTP.

ftp>

Et maintenant, vous pouvez taper n’importe quelle commande FTP pour interagir avec le serveur FTP.

Se connecter en tant qu'utilisateur local

Comme il existe une option dans les paramètres permettant aux utilisateurs locaux d’accéder au serveur FTP, local_enable = YES, essayons maintenant d’accéder au serveur FTP en utilisant un utilisateur local:

$ ftp localhost

Ensuite, tapez votre nom d'utilisateur local et le mot de passe de cet utilisateur et vous verrez le message de connexion réussie.

Configurer le serveur FTP comme anonyme uniquement

Ce type de serveur FTP est utile si vos fichiers doivent être disponibles pour les utilisateurs sans mot de passe ni connexion.

Vous devez configurer vsftpd pour autoriser uniquement les utilisateurs anonymes.

Ouvert /etc/vsftpd/vsftpd.conf fichier et modifiez les options suivantes avec les valeurs correspondantes.

Ensuite, nous devons créer un compte système non privilégié à utiliser pour un accès anonyme de type FTP.

$ useradd c "Utilisateur FTP" /var/ftp r s /sbin/nologin ftp

Cet utilisateur n'a aucun privilège sur le système, il est donc plus prudent de l'utiliser lors de l'accès à un serveur FTP.

N’oubliez pas de redémarrer votre serveur FTP après avoir modifié le fichier de configuration.

Vous pouvez accéder au serveur FTP à partir du navigateur. Tapez simplement ftp: // youdomain /

Sécurité du serveur FTP

Nous pouvons configurer vsftpd pour utiliser TLS, de sorte que les fichiers transférés sur le réseau sont un peu plus sécurisés.

Tout d'abord, nous générons une demande de certificat à l'aide de la commande openssl:

$ openssl Genrsa des3 en dehors FTP.clé

Ensuite, nous générons une demande de certificat:

$ openssl req Nouveau clé FTP.clé en dehors Certificat.rsr

Maintenant, nous supprimons le mot de passe du fichier de clé:

Enfin, nous générons notre certificat:

$ openssl x509 req journées 365 dans Certificat.rsr clé de signalisation ftp.clé en dehors mon diplôme.crt

Maintenant, nous copions le fichier de certificat et la clé et dans / etc / pki / tls / certs:

Maintenant, tout ce que nous avons à faire est de configurer vsftpd pour prendre en charge les connexions sécurisées.

Ouvert / etc / vsftpd / vsftpd.conf déposer et ajouter les lignes suivantes:

Redémarrez votre service pour refléter ces changements. Et c'est tout.

Essayez de vous connecter à votre serveur FTP à partir de n'importe quel client sur un système tel que Windows et choisissez la connexion sécurisée ou FTPS pour que vos dossiers soient correctement consultés.

SFTP vs FTPS

Dans le dernier exemple, nous avons vu la couche FTP sur SSL (FTPS) et nous avons réussi à nous connecter au serveur FTP. Cependant, avec le pare-feu hautement sécurisé, il est difficile de gérer ce type de connexion car FTPS utilise plusieurs numéros de port.

La meilleure solution, dans ce cas, consiste à utiliser SFTP (FTP over SSH).SFTP utilise le port 22 uniquement.

Ce port est utilisé pour toutes les connexions pendant les sessions FTP.

Si vous utilisez un pare-feu, il est recommandé de choisir SFTP, car il ne nécessite qu’un seul port.

Emprisonnement d'utilisateurs FTP

Vous pouvez sécuriser votre serveur FTP en inscrivant vos utilisateurs FTP dans leurs répertoires personnels et en autorisant uniquement des utilisateurs spécifiques à accéder au service.

Ouvrez /etc/vsftpd/vsftpd.conf et ne commentez pas les options suivantes:

Le fichier /etc/vsftpd.chroot_list contient la liste des utilisateurs emprisonnés un par ligne.

Enregistrez les fichiers et redémarrez votre service.

$ systemctl redémarrer vsftpd

Commandes du serveur FTP Linux

Vous pouvez utiliser n'importe quel client graphique pour télécharger vos fichiers, mais vous devez également connaître certaines commandes du serveur FTP.

Vous pouvez imprimer le répertoire de travail actuel en utilisant la commande pwd:

ftp> pwd

Vous pouvez lister les fichiers en utilisant la commande ls:

ftp> ls

De plus, vous pouvez utiliser la commande cd pour changer le répertoire de travail:

ftp> CD /

Si vous souhaitez quitter votre session FTP, utilisez la commande bye:

ftp> au revoir

La commande lcd est utilisée pour afficher le dossier local, pas le dossier FTP:

ftp> lcd

Vous pouvez changer le répertoire local en utilisant la commande lcd:

ftp> lcd /domicile

Vous pouvez télécharger un fichier en utilisant la commande get:

ftp> obtenir mon fichier

En outre, vous pouvez télécharger plusieurs fichiers à l’aide de la commande mget:

ftp> mget fichier1 fichier2

Utilisez la commande delete pour supprimer un fichier du serveur:

ftp> effacer nom de fichier

Utilisez la commande put pour télécharger un fichier sur le serveur:

signaler cette annonce ftp> mettre nom de fichier

Pour télécharger plusieurs fichiers, utilisez la commande mput:

ftp> mput fichier1 fichier2

Vous pouvez créer un répertoire à l'aide de la commande mkdir:

ftp> mkdir dirName

Ou vous pouvez supprimer un répertoire du serveur à l'aide de la commande rmdir.

ftp> rmdir dirName

Il existe deux modes de transfert de fichiers lorsque vous utilisez un serveur FTP: Mode ASCII, et mode binaire, vous pouvez changer le mode comme ceci:

Le serveur FTP est l’un des serveurs Linux les plus faciles à configurer et à utiliser.

J'espère que vous trouverez le message utile et intéressant. Continuer à revenir

Je vous remercie.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.