5.6. Sécurisation de FTP

FTP (File Transport Protocol) est un protocole TCP relativement ancien conçu pour transférer des fichiers sur un réseau. Parce que toutes les transactions avec le serveur, y compris l'authentification des utilisateurs, sont effectuées de manière non-cryptée, il est considéré comme un protocole vulnérable au niveau de la sécurité et devrait donc être utilisé avec beaucoup de précautions.

Red Hat Enterprise Linux fournit trois serveurs FTP.

Les instructions de sécurité suivantes sont relatives à la configuration du service FTP vsftpd.

5.6.1. Bannière de bienvenue FTP

Avant de soumettre un nom d'utilisateur et mot de passe, tout utilisateur est accueilli par une bannière de bienvenue. Par défaut, cette dernière inclut des informations sur la version utilisée qui peuvent être utiles à des craqueurs essayant d'identifier les faiblesses d'un système.

Pour changer la bannière de bienvenue pour vsftpd, ajoutez la directive suivante au fichier /etc/vsftpd/vsftpd.conf :

ftpd_banner=<insert_greeting_here>

Dans la directive ci-dessus, remplacez <insert_greeting_here> par le texte de votre message de bienvenue.

Dans le cas de bannières composées de plusieurs lignes, il est préférable d'utiliser un fichier bannière. Afin de simplifier la gestion de bannières multiples, placez toutes les bannières dans un nouveau répertoire nommé /etc/banners/. Dans notre exemple, le fichier bannière pour les connexions FTP sera /etc/banners/ftp.msg. Ci-après figure un exemple de ce à quoi un tel fichier pourrait ressembler :

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

NoteNote
 

Il n'est pas nécessaire de commencer chaque ligne du fichier par 220 comme l'explique la Section 5.1.1.1.

Pour appeler ce fichier bannière de bienvenue pour vsftpd, ajoutez la directive suivante au fichier /etc/vsftpd/vsftpd.conf :

banner_file=/etc/banners/ftp.msg

Il est également possible d'envoyer des bannières supplémentaires aux connexions entrantes en utilisant des enveloppeurs TCP, comme l'explique la Section 5.1.1.1.

5.6.2. Accès anonyme

La présence du répertoire /var/ftp/ entraîne l'activation du compte anonyme.

La manière la plus simple de créer ce répertoire consiste à installer le paquetage vsftpd. Ce dernier met en place une arborescence de répertoires pour des utilisateurs anonymes et configure les permissions de répertoires en lecture-seule pour les utilisateurs anonymes.

Par défaut, l'utilisateur anonyme n'est pas en mesure d'écrire dans quelque répertoire que ce soit.

AttentionAttention
 

Si vous décidez d'activer l'accès anonyme pour un serveur FTP, soyez particulièrement prudent quant à l'emplacement où vous stockez vos données confidentielles.

5.6.2.1. Téléchargement anonyme

Si vous souhaitez autoriser le téléchargement par des utilisateurs anonymes, il est recommandé de créer un répertoire en écriture-seule au sein de /var/ftp/pub/.

Pour ce faire, saisissez :

mkdir /var/ftp/pub/upload

Changez ensuite les permissions afin d'empêcher les utilisateurs anonymes de voir le contenu du répertoire en saisissant :

chmod 730 /var/ftp/pub/upload

Un listage détaillé (ou long) du répertoire devrait ressembler à l'exemple suivant :

drwx-wx---    2 root     ftp          4096 Feb 13 20:05 upload

AvertissementAvertissement
 

Les administrateurs permettant aux utilisateurs anonymes de lire et écrire dans des répertoires se rendent souvent compte que leur serveur devient un dépôt de logiciels volés.

De plus, sous vsftpd, ajoutez la ligne suivante au fichier /etc/vsftpd/vsftpd.conf :

anon_upload_enable=YES

5.6.3. Comptes utilisateurs

Parce que FTP, lors de l'authentification, transmet les noms d'utilisateur et mots de passe sur des réseaux non-sécurisés, il est conseillé de refuser l'accès des utilisateurs du système au serveur à partir de leurs comptes.

Afin de désactiver les comptes utilisateurs dans vsftpd, ajoutez la directive suivante dans /etc/vsftpd/vsftpd.conf :

local_enable=NO

5.6.3.1. Restriction des comptes utilisateurs

La manière la plus simple de désactiver un groupe spécifique de comptes, tels que le super-utilisateur et ceux disposant des privilèges sudo, afin qu'ils n'aient pas accès au serveur FTP, consiste à utiliser un fichier contenant une liste à l'intention de PAM comme l'explique la Section 4.4.2.4. Le fichier de configuration PAM de vsftpd est /etc/pam.d/vsftpd.

Il est également possible de désactiver des comptes utilisateurs directement dans chaque service.

Afin de désactiver des comptes utilisateurs spécifiques dans vsftpd, ajoutez le nom d'utilisateur au fichier /etc/vsftpd.ftpusers.

5.6.4. Utilisation des enveloppeurs TCP pour contrôler l'accès

Utilisez les enveloppeurs TCP afin de contrôler l'accès à l'un ou l'autre des démons FTP, comme le souligne la Section 5.1.1.