VsFTPD

De Lea Linux
Aller à la navigation Aller à la recherche


vsFTPD, serveur FTP

par Acid
vsFTPd : un serveur ftp ultra-sécurisé et simple

Il existe de nombreux serveurs ftp, dont les plus connus sont wu-ftp, proftp, mais qui sont souvent soit de véritables trous de sécurité, comme l'on en voit quasiment tous les jours sous wu-ftp, soit très gourmands en mémoire comme c'est le cas pour ProFTP.

Mais une solution existe, elle est rapide, sécurisée et fait la joie d'Alan cox, d'IBM et de bien d'autres...

Et il se paye même le luxe d'être plus sécurisé qu'ftpd-BSD le serveur ftp d'OpenBSD !

C'est vsFTPd (Very Secure File Transfert Protocol deamon)

En effet l'auteur, Chris Evans, est parti de la constatation suivante : il n'y a pas de programmeur parfait, et faire un applicatif répondant à toutes les normes de sécurité est difficile, surtout quand cela n'a pas été pensé à la création du projet.

Donc, Chris a pris en compte tous ces problèmes avant même de commencer à coder son application. Et il en est ressorti ceci :

  • le respect de la gestion des droits et processus en respectant les règles d'Unix
  • La mise en cage des éléments (cf. chroot) indispensable
  • la lutte nécessaire contre les "buffer overflows"

Pour cette raison également, de nombreuses commandes utilisées par vsFTPd font partie de l'application et ne font pas appel au système (pour le "ls" par exemple). ceci a pour conséquence de sécuriser encore un peu plus le système et d'accélérer le traitement des informations. Pour cette raison, sa conception est modulaire, chaque partie étant traitée de manière indépendante, réduisant ainsi le nombre d'erreurs de programmation possible, et son optimisation importante. Pour cette raison aussi, il ne fonctionne pas en mode autonome comme c'est le cas de ProFTPd, mais doit être appelé à partir d'inetd ou de xinetd. Exemple de configuration xinetd :

service ftp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/vsftpd
       server_args             =
       log_on_success          += DURATION USERID
       log_on_failure          += USERID
        nice                    = 10
        disable                 = no
}

Ceci permet en outre de pouvoir réguler la bande passante utilisée. Par défaut vsFTPd la configurera en standard (interdit tout ou presque), c'est à vous et seulement avec quelques lignes de configuration à définir quelles seront les capacités et les accès autorisés ou interdits à l'utilisateur. pour vous en convaincre voici mon fichier "standard" de configuration de vsFTPd :

anonymous_enable=NO connexion en tant qu'anonyme interdite
local_enable=YES connexion pour les utilisateurs locaux auorisés
write_enable=NO écriture interdite
anon_upload_enable=NO Upoad pour anonyme interdit
anon_mkdir_write_enable=NO création de répertoire pour les anonymes interdit
anon_other_write_enable=NO écriture de fichier pour anonyme interdit
chroot_local_user=YES enferme l'utilisateur dans le répertoire ftp (chrooté)
per_source = 5 nombre de connexions maximales autorisées par une même adresse IP
no_access = 192.168.1.3 interdiction de se connecter au ftp à partir de cette adresse
guest_enable=YES Rend possible la connexion d'utilisateurs virtuels
guest_username=virtual souhaitable, vu que la connexion anonyme est refusée
pasv_min_port=30000 cette option permet de limiter l'accès des ports
pasv_max_port=30999 disponibles, utile derrière un firewall
xferlog_enable=YES enregistrement des logs...

simple et court, n'est-ce pas ? Mais les options sont bien plus nombreuses, à vous de les découvir. vsFTPd mérite vraiment d'être reconnu à sa juste valeur, alors essayez-le, vous n'en reviendrez pas. vsFTPd, le site...minimaliste Téléchargement




@ Retour à la rubrique Réseau et sécurité

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Acid le 09/09/2002.

Copyright

Copyright © 09/09/2002, Acid

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique, Contexte non commercial 2.0 :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/