Rechercher

8.4. Sécuriser le service FTP

download PDF

Vous pouvez utiliser le protocole de transfert de fichiers (FTP) pour transférer des fichiers sur un réseau. Étant donné que toutes les transactions FTP avec le serveur, y compris l'authentification de l'utilisateur, ne sont pas cryptées, vous devez vous assurer que la configuration est sécurisée.

RHEL 9 fournit deux serveurs FTP :

  • Red Hat Content Accelerator (tux) - un serveur web en espace noyau avec des capacités FTP.
  • Very Secure FTP Daemon (vsftpd) - une implémentation autonome du service FTP, axée sur la sécurité.

Les consignes de sécurité suivantes concernent la mise en place du service FTP vsftpd.

8.4.1. Sécurisation de la bannière d'accueil FTP

Lorsqu'un utilisateur se connecte au service FTP, ce dernier affiche une bannière d'accueil qui, par défaut, contient des informations sur la version qui pourraient être utiles aux pirates pour identifier les faiblesses d'un système. Vous pouvez empêcher les pirates d'accéder à ces informations en modifiant la bannière par défaut.

Vous pouvez définir une bannière personnalisée en modifiant le fichier /etc/banners/ftp.msg pour inclure directement un message d'une seule ligne ou pour faire référence à un fichier séparé, qui peut contenir un message de plusieurs lignes.

Procédure

  • Pour définir un message d'une seule ligne, ajoutez l'option suivante au fichier /etc/vsftpd/vsftpd.conf:

    ftpd_banner=Hello, all activity on ftp.example.com is logged.
  • Pour définir un message dans un fichier séparé :

    • Créez un fichier .msg qui contient le message de la bannière, par exemple /etc/banners/ftp.msg:

      ######### Hello, all activity on ftp.example.com is logged. #########

      Pour simplifier la gestion de plusieurs bannières, placez toutes les bannières dans le répertoire /etc/banners/.

    • Ajoutez le chemin d'accès au fichier de la bannière à l'option banner_file du fichier /etc/vsftpd/vsftpd.conf:

      banner_file=/etc/banners/ftp.msg

Vérification

  • Afficher la bannière modifiée :

    $ ftp localhost
    Trying ::1…
    Connected to localhost (::1).
    Hello, all activity on ftp.example.com is logged.

8.4.2. Empêcher les accès et les téléchargements anonymes dans FTP

Par défaut, l'installation du paquet vsftpd crée le répertoire /var/ftp/ et une arborescence de répertoires pour les utilisateurs anonymes avec des autorisations de lecture seule sur les répertoires. Comme les utilisateurs anonymes peuvent accéder aux données, ne stockez pas de données sensibles dans ces répertoires.

Pour renforcer la sécurité du système, vous pouvez configurer le serveur FTP de manière à permettre aux utilisateurs anonymes de télécharger des fichiers dans un répertoire spécifique et à empêcher les utilisateurs anonymes de lire les données. Dans la procédure suivante, l'utilisateur anonyme doit pouvoir télécharger des fichiers dans le répertoire appartenant à l'utilisateur root, mais ne doit pas pouvoir le modifier.

Procédure

  • Créez un répertoire en écriture seule dans le répertoire /var/ftp/pub/:

    # mkdir /var/ftp/pub/upload
    # chmod 730 /var/ftp/pub/upload
    # ls -ld /var/ftp/pub/upload
    drwx-wx---. 2 root ftp 4096 Nov 14 22:57 /var/ftp/pub/upload
  • Ajoutez les lignes suivantes au fichier /etc/vsftpd/vsftpd.conf:

    anon_upload_enable=YES
    anonymous_enable=YES
  • Facultatif : si SELinux est activé et appliqué sur votre système, activez les attributs booléens SELinux allow_ftpd_anon_write et allow_ftpd_full_access.
Avertissement

En permettant à des utilisateurs anonymes de lire et d'écrire dans des répertoires, le serveur peut devenir un dépôt de logiciels volés.

8.4.3. Sécurisation des comptes d'utilisateurs pour FTP

Le protocole FTP transmet les noms d'utilisateur et les mots de passe en clair sur des réseaux non sécurisés à des fins d'authentification. Vous pouvez améliorer la sécurité du protocole FTP en refusant aux utilisateurs du système l'accès au serveur à partir de leurs comptes d'utilisateur.

Effectuez autant d'étapes que nécessaire en fonction de votre configuration.

Procédure

  • Désactivez tous les comptes d'utilisateurs du serveur vsftpd en ajoutant la ligne suivante au fichier /etc/vsftpd/vsftpd.conf:

    local_enable=NO
  • Désactivez l'accès FTP pour des comptes ou des groupes de comptes spécifiques, tels que l'utilisateur root et les utilisateurs disposant de privilèges sudo, en ajoutant les noms d'utilisateur au fichier de configuration PAM /etc/pam.d/vsftpd.
  • Désactiver les comptes d'utilisateurs en ajoutant les noms d'utilisateurs au fichier /etc/vsftpd/ftpusers.

8.4.4. Ressources supplémentaires

  • ftpd_selinux(8) page de manuel
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.