VsFTPD
vsFTPD, serveur FTP
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é
Copyright
Copyright © 09/09/2002, Acid
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/ |