Quatre serveurs FTP hyper s\303\251curis\303\251s avec
Transcription
Quatre serveurs FTP hyper s\303\251curis\303\251s avec
Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Accu eil A propos Nu age de T ags Contribu er Who’s who Récoltez l’actu UNIX et cu ltivez vos connaissances de l’Open Sou rce Anno nce s Go o gle Shell U nix Serveur Gratuit Filez illa FTP Server Serveur Apache Serveurs Echanblard 28 aoû t 2008 Quatre serveurs FTP hyper sécurisés avec vsftpd Catégorie : Sécu rité T ags : lmhs Retrou vez cet article dans : Linu x Magazine Hors série 21 Vou s u tilisez u n serveu r FT P et craignez au tant les failles des démons classiqu es qu e les abu s des u tilisateu rs ? Décou vrez vsftpd, u n serveu r dont la devise « beat me, break me » vou s permettra enfin de dormir tranqu ille... Introduction vsftpd signifie Very Secu re File T ransfert Protocol Daemon. Il s’agit d’u n serveu r FT P, dont l’objectif est d’être à la fois simple et très sécu risé. Sans entrer dans les détails, sa stru ctu re même le rend très robu ste, et peu vu lnérable à la plu part des failles de configu ration standards qu i existent su r les serveu rs dont l’écritu re est plu s « classiqu e ». Pou rqu oi ? Parce qu e son code limite considérablement tou s les paramètres possibles, qu ’il vou s appartiendra d’ou vrir en fonction de vos besoins. Il dispose par ailleu rs d’u ne grande qu antité d’options permettant u n paramétrage très fin de ce qu e vou s vou lez au toriser et refu ser su r votre serveu r, ju squ ’à u n filtrage u tilisateu r par u tilisateu r si nécessaire. Dans cet article, nou s vou s proposons, après avoir passé en revu e les principes d’u tilisation de ce programme, d’examiner qu atre scénarii extrêmes qu i vou s permettront de comprendre ju squ ’à qu el point cet ou til est capable de pou sser la sécu risation des accès su r votre machine : ju squ ’au point où les droits sont tellement contrôlés qu e c’est à peine si les u tilisateu rs existent encore... Installation standalone ou xinetd L’installation du programme ne pose pas de problème, elle se fait via rpm, tar.gz ou au tre, en téléchargeant le programme depu is le site vsftpd lu i-même (http://vsftpd.beasts.org), avec votre commande favorite de décompression/installation, comme tar -zxvf, ./configu re, make & make install. À ce stade, le serveu r est installé et prêt à fonctionner. Vou s pou rriez vou s contenter de cette étape, mais u n fonctionnement optimal su ppose la compréhension de « ce » qu i est installé et la mise en place de vos propres paramètres, c’est pou rqu oi cet article comporte encore qu elqu es paragraphes ! Comme vou s le savez peu t-être, sou s Linu x, les services réseau standards peu vent soit être installés individu ellement, c’est le mode « standalone », soit être regrou pés sou s u n seu l démon, xinetd. T raditionnellement, l’administrateu r installe u n serveu r en mode standalone qu and il s’agit 1 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... d’u n service à part entière (c’est le cas si, par exemple pou r FT P, vou s sou haitez mettre en place u n serveu r qu i sera destiné à assu rer la fonction de partage de fichiers de façon permanente ou fréqu ente : c’est-à-dire dans la plu part des cas) et ne positionne sou s le contrôle de xinetd qu e les services dont l’u tilisation est très occasionnelle (c’est le cas si votre serveu r FT P n’est appelé à fonctionner qu e très occasionnellement et si vou s ne vou lez pas avoir à penser à le démarrer dans ces cas-là). Dans tou s les cas, le fichier de configu ration du serveu r est /etc/vsftpd/vsftpd.conf. Dans u n premier temps, positionnons-le en mode standalone. Pou r ce faire, vérifiez qu e dans vsftpd.conf la directive listen est su r : listen = YES Démarrez alors simplement le serveu r avec : /usr/sbin/vsftpd & ou , sou s Redhat/Fedora : service vsftpd start Pou r le tester, connectez-vou s en ligne de commande su r votre serveu r, selon u ne procédu re du type : [root@localhost]ftp localhost Connected to localhost.localdomain. 220 (vsFTPd 1.2.1) Name (localhost:root): Test (évidemment, vous utiliserez ici un nom d’utilisateur disposant réellement d’un compte sur votre serveur) 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 150 Here comes the directory listing. -rw-r--r-- 1 1001 1001 17421 Dec 19 14:02 fichier1.txt drwx------ 2 1001 1001 4096 Dec 24 15:54 repertoire 226 Directory send OK. ftp> quit 221 Goodbye. [root@localhost] Si le résu ltat est proche de celu i qu i est décrit ici, alors votre serveu r fonctionne ! Si ce n’est pas le cas, lisez la su ite de l’article pou r comprendre où votre configu ration pêche. Vou s pou vez au ssi recharger le programme avec u n fichier vsftpd.conf par défau t, et recommencer la manipu lation. Si vou s sou haitez u tiliser xinetd, il fau dra alors, dans le répertoire /etc/xinetd.d/, qu ’u n fichier vsftpd existe, qu i permettra à xinetd de gérer le lancement de vsftpd si des requ êtes FT P se présentent. Ce fichier devra contenir des lignes du type : default: off service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd nice = 10 } Les paramètres importants ici sont defau lt (su r off, le serveu r sera la plu part du temps arrêté, et ne sera lancé qu ’en cas de besoin, su r on il sera lancé systématiqu ement, mais dans ce cas pou rqu oi ne pas u tiliser le mode standalone ? Gardez defau lt su r off en général et lancez manu ellement le service) et disable (positionnez à no, signifiant qu e le serveu r peu t fonctionner ; en mettant yes, vou s désactiveriez la fonction ftpd de xinetd). Éditez ensu ite le fichier /etc/vsftpd/vsftpd.conf et passez la directive listen su r : listen = NO 2 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Redémarrez alors xinetd : service xinetd restart Le serveu r est normalement prêt à fonctionner. T estez ensu ite en ligne de commande votre connexion serveu r afin de vérifier son bon fonctionnement, comme décrit au paragraphe précédent. Les paramètres les plus fréquents Le fichier /etc/vsftpd/vsftpd.conf contient u ne liste de paramètres, qu i vont modifier le comportement par défau t du serveu r. T ou t est là. En activant ou modifiant u n paramètre de ce fichier, vou s configu rez vsftpd pou r u n comportement particu lier. Après chaqu e modification, pensez à redémarrer le serveu r, en tapant : service vsftpd restart ou /usr/sbin/vsftpd & Pu is testez le bon fonctionnement du paramètre qu e vou s avez modifié. Commençons par examiner les plu s fréqu ents d’entre eu x, c’est-à-dire ceu x qu e vou s au rez sans au cu n dou te envie d’adapter à la configu ration particu lière de votre réseau : anonymous_enable=NO/YES Comme son nom le laisse entendre, cette fonction permet d’activer ou de désactiver le mode anonyme. S’il est activé (YES), les connexions anonymes su r le serveu r sont au torisées. S’il est désactivé (NO), seu ls les u tilisateu rs connu s, c’est-à-dire disposant d’u n compte u tilisateu r su r la machine, seront au torisés à accéder au serveu r. local_enable=NO/YES Cette directive interdit ou au torise l’accès au serveu r au x u tilisateu rs connu s de la machine (c’està-dire disposant d’u n compte, login/password). Dans la plu part des configu rations, cette ligne sera su r YES, sau f si votre serveu r est pu blic et qu e vou s ne vou lez pas accepter les connexions d’u tilisateu rs dotés de compte. write_enable=NO/YES Permet d’écrire su r le serveu r (u pload). Il est là encore fréqu ent de mettre YES, mais en vérifiant bien sû r qu e les fichiers téléchargés vers votre serveu r ne soient pas à terme trop volu mineu x et qu ’ils correspondent à ce qu i est su pposé pou voir s’y trou ver. Vou s mettrez NO si vou s ne vou lez pas qu ’u n au tre qu e vou s-même dépose des fichiers su r le serveu r. local_umask=022 Il s’agit du masqu e par défau t lors du positionnement de fichiers su r le serveu r, dans le cas où vou s au riez mis la directive précédente su r YES. Rappelons qu e le masqu e est l’inverse des droits. Ainsi, u n masqu e 022 condu ira à écrire des fichiers avec u n droit 755. Si vou s ne précisez pas ce masqu e, celu i de vsftpd sera u tilisé par défau t, qu i est 077, laissant donc u n droit 700 au x fichiers écrits. xferlog_enable=NO/YES Cette option permet de logu er les u ploads et downloads. ftpd_banner=Bienvenue sur mon serveur Cette directive est loin d’être essentielle, mais elle est confortable. Elle permet de générer u n message d’accu eil pou r les clients qu i se connectent su r votre serveu r. chroot_list_enable=NO/YES chroot_list_file=/etc/vsftpd.chroot_list 3 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Ces deu x directives ne sont pas indispensables, mais elles sont très u tiles. La première permet de demander au serveu r de rechercher u n fichier vsftpd.chroot_list dont le chemin est indiqu é à la seconde ligne. Dans ce cas, tou s les u tilisateu rs présents dans la liste qu e représente le fichier vsftpd.chroot_list seront au tomatiqu ement chrootés, c’est-à-dire cantonnés dans leu r répertoire personnel. C’est u ne procédu re très u tile pou r empêcher vos u tilisateu rs fou ineu rs de sortir de leu r répertoire. Si la première ligne est su r NO, cherchez si le fichier contient chroot_local_u ser (voir ci-dessou s), au qu el cas le sens donné à la combinaison est différent. Si la première ligne est su r No et qu e vsftpd.conf ne contient pas de directive chroot_local_u ser (ou si elle est su r No), alors chroot_file_list ne sert à rien. chroot_local_user=NO/YES En activant cette directive, les u tilisateu rs qu i possèdent u n compte local seront cantonnés dans leu r répertoire personnel après connexion. En revanche, combinée au x deu x lignes chroot_list_enable et chroot_list_file, cette directive en modifie le sens. Avec chroot_list_enable=YES, chroot_list_file=/etc/vfstpd.chroot_list, chroot_local_u ser=NO, le fichier vsftpd.chroot_list contient la liste des u tilisateu rs qu i seront cantonnés dans leu r répertoire personnel. Mais avec chroot_list_enable=YES, chroot_list_file=/etc/vfstpd.chroot_list, chroot_local_u ser=YES, le fichier vsftpd.chroot_list contient alors la liste des u tilisateu rs qu i ne seront pas cantonnés à leu r répertoire personnel, c’est-à-dire qu i pou rront aller dans d’au tres répertoires, tandis qu e tou s les au tres u tilisateu rs (ceu x qu i ne sont pas cités dans la liste) seront à ce moment, eu x, cantonnés à leu r répertoire personnel. userlist_enable=NO/YES userlist_deny=NO/YES Là encore, les deu x directives ne sont pas indispensables, mais très u tiles. En positionnant la première su r YES, vsftpd cherchera u n fichier nommé vsftpd.ftpu sers ou vsftpd.u ser_list (vou s pou vez donner l’u n des deu x noms au choix),et trou vera dans ce fichier la liste des u tilisateu rs qu i sont au torisés su r le serveu r. En revanche, si à la première directive vou s ajou tez la seconde (u serlist_deny=YES), alors la liste citée ci-dessu s devient celle des u tilisateu rs qu i, au contraire, ne sont pas au torisés su r le serveu r. T ypiqu ement, ces deu x directives sont cou ramment u tilisées pou r interdire les tentatives de connexions avec les comptes u tilisateu rs système de votre machine (ainsi, personne ne pou rra se connecter en tant qu ’u tilisateu r root, Apache, etc., si vou s combinez les deu x directives). Il y a bien d’au tres directives, mais notre objectif n’est pas de les examiner tou tes. Nou s vou lons vou s donner les principales à titre d’ou til pou r vou s permettre de comprendre le fonctionnement de l’ensemble. Vou s trou verez en référence u n pointeu r vers la liste de tou tes les options possibles. Une configuration classique de vsftpd Voyons à présent ce qu i fait le sel de cet ou til, c’est-à-dire comment il est possible de combiner les directives et même les fichiers de configu ration, au travers de qu elqu es exemples de configu ration simples ou avancés. Su pposons dans u n premier temps qu e vou s sou haitiez simplement mettre en place u n serveu r de fichiers, accessible à tou s (par exemple à l’Internet). Vou s sou haiterez sans dou te privilégier l’efficacité des transactions et la sécu rité. Votre fichier vsftpd.conf pou rrait alors ressembler à celu i-ci : listen=YES max_clients=200 max_per_ip=4 anonymous_enable=YES local_enable=NO write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO anon_world_readable_only=YES connect_from_port_20=YES hide_ids=YES 4 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... pasv_min_port=50000 pasv_max_port=60000 xferlog_enable=YES ls_recurse_enable=NO ascii_download_enable=NO async_abor_enable=YES one_process_model=YES idle_session_timeout=120 data_connection_timeout=300 accept_timeout=60 connect_timeout=60anon_max_rate=50000 Examinons-le en détail : listen=YES Le serveu r est positionné en mode standalone, ce qu i est normal pu isqu ’il sera a priori sollicité fréqu emment. max_clients=200 200 clients simu ltanés sont acceptés. Les au tres recevront u n message d’erreu r ju squ ’à ce qu ’u ne place se libère. De la sorte, le serveu r ne sera pas satu ré par les requ êtes. max_per_ip=4 Chaqu e client ne pou rra ou vrir qu e 4 connexions simu ltanées (c’est le cas par exemple lors de l’u tilisation d’u n download accelerator). Il n’y au ra donc pas de client qu i satu rera la bande passante. anonymous_enable=YES Nou s au torisons les connexions anonymes, ce qu i est normal pu isqu e le serveu r est pu blic. local_enable=NO Nou s refu sons les connexions d’u tilisateu rs dotés de compte su r la machine. Seu les les connexions anonymes seront donc acceptées. Soyons clair : l’idée ici n’est pas d’empêcher vos u tilisateu rs locau x chéris de se connecter, mais de prévenir des hacks faciles u tilisant les comptes standards présents su r tou te machine digne de ce nom, comme Apache, gdm ou au tre lp. write_enable=NO Personne ne modifie de fichier ni n’écrit su r notre serveu r. anon_upload_enable=NO Les u tilisateu rs anonymes (donc les u tilisateu rs du serveu r) ne peu vent pas u ploader de fichier. anon_mkdir_write_enable=NO Les u tilisateu rs (anonymes) ne peu vent pas non plu s créer de répertoire. anon_other_write_enable=NO Les u tilisateu rs (anonymes) ne peu vent pas non plu s renommer ni su pprimer ni fichier ni répertoire. anon_world_readable_only=YES Les u tilisateu rs (anonymes) ne peu vent télécharger qu e les fichiers accessibles en lectu re à tou s. connect_from_port_20=YES Nou s acceptons les connexions depu is le port 20 (notre éventu el firewall laisse ce port passer). hide_ids=YES T ou s les fichiers et répertoires du serveu r sont montrés comme appartenant à FT P. pasv_min_port=50000, pasv_max_port=60000 En mode passif, les ports acceptés sont dans la tranche 50000 à 60000. Tou s les au tres sont refu sés 5 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... su r le serveu r et sans dou te au ssi su r le firewall. Qu ’est-ce qu e cette chose-là ? Le mode passif est celu i dans lequ el le client, au lieu d’envoyer au serveu r le nu méro du port à partir du qu el il sou haite qu e le serveu r envoie les données, envoie PASV, laissant passivement le serveu r décider qu el port u tiliser pou r l’envoi de données, habitu ellement le port 20. Cette directive est par défau t su r Yes, le mode passif est possible (ce qu i est sou vent nécessaire lorsqu ’u n firewall est présent avant le serveu r. Le mode actif permet en revanche au client d’avoir la certitu de, pu isqu e c’est lu i qu i décide du port, qu e les données qu ’il reçoit correspondent bien à sa demande initiale). xferlog_enable=YES Nou s logons les transferts. ls_recurse_enable=NO Nou s interdisons l’option -R de “ls -R”, qu i consomme trop de ressou rces machine. ascii_download_enable=NO Nou s n’envoyons pas les fichiers en mode ASCII. async_abor_enable=YES Nou s acceptons la commande async ABOR, pou r certains de nos clients qu i en ont besoin (qu i ? Nou s ne savons pas, mais le serveu r est pu blic donc nou s ne savons pas qu el client FT P u tilisera notre visiteu r). A qu oi sert cette directive étrange ? Elle permet d’activer la commande FT P async ABOR, qu i permet de stopper u n téléchargement asynchrone en cou rs. Elle est considérée comme complexe et inélégante, parce qu ’async ABOR produ it des effets différents en fonction des clients (fermetu re de session, déconnexion, etc.). C’est pou rqu oi cette directive est par défau t su r No, désactivant le su pport de cette commande. Certains clients FT P ont cependant besoin d’async ABOR pou r pou voir annu ler u n téléchargement dans de bonnes conditions. Vou s au rez donc peu t-être besoin de positionner cette directive su r Yes dans certains cas, et c’est ce qu e nou s choisissons de faire ici, pu isqu e nou s ne savons pas qu el type de client est su sceptible de se connecter chez nou s. one_process_model=YES Si vou s disposez d’u n noyau 2.4 sou s Linu x, vou s pou vez en activant cette fonction générer u n processu s par connexion. Il s’agit là d’u ne option moins « pu re » en termes de sécu rité, mais qu i permet u ne performance parfois meilleu re. N’activez cette fonction, par défau t su r No, qu e si vou s savez ce qu e vou s faites et ce qu e ce changement impliqu e et par ailleu rs seu lement si votre site reçoit u n grand nombre de connexions simu ltanées. C’est peu t-être le cas pou r ce serveu r, nou s l’activons et monitorerons natu rellement la charge qu ’elle provoqu era. idle_session_timeout=120 Nou s acceptons 120 secondes d’inactivité de la part du client, au -delà il est rejeté pou r laisser la place à u n au tre. data_connection_timeout=300 Si u n transfert est gelé pendant plu s de 300 secondes, nou s considérons qu e le client est déconnecté ou en échec et clôtu rons la session pou r laisser la place à u n au tre. accept_timeout=60 Nou s donnons 60 secondes à u n client en mode passif pou r établir sa connexion. Au delà, nou s clôtu rons pou r laisser la place à u n au tre (60 secondes est largement assez, sau f si le client rencontre u n problème important, qu i handicapera de tou tes les façons son transfert). connect_timeout=60 6 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Nou s donnons le même délai au client qu i se connecte en mode PORT . anon_max_rate=50000 Nou s au torisons u n débit maximal de 50000 octets par seconde (49 ko/s) pou r les clients. Sécurité affinée, quatre scenarii L’exemple qu i précède donne u ne configu ration fonctionnelle, même si bien d’au tres paramètres pou rraient être ajou tés afin d’accroître le confort qu e vou s pou vez vou loir donner à votre serveu r. Vsftpd est particu lièrement constru it pou r permettre u ne grande finesse dans le filtrage des au torisations d’accès. Donnons-lu i sa pleine mesu re au travers de trois scenarii imaginés par l’équ ipe de développement et de sécu risation de vsftpd, qu i, s’ils ne collent pas forcément précisément à votre besoin, vou s donneront assez d’éléments pou r vou s permettre de bâtir la configu ration qu i vou s correspondra le mieu x, et qu i donnera exactement les droits qu e vou s vou lez au x u tilisateu rs qu e vou s vou lez, avec u n raffinement dans la précision de la gestion qu i, nu l dou te, vou s ravira ! Première configuration : filtrage par adresses IP Dans ce scénario, votre serveu r héberge des docu ments qu e vou s vou lez mettre à la disposition d’u ne partie de votre réseau (par exemple le département comptabilité), mais vou s vou lez qu e d’au tres u tilisateu rs, pou rtant eu x au ssi su r le LAN, ne pu issent pas les lire (par exemple le département marketing). Sachant qu e vou s avez « ces facilités avec les serveu rs ». Votre patron vou s demande en plu s « qu elqu es petits aju stements », qu i consistent à lu i donner, à lu i tou t seu l, des possibilités de download spéciales et privilégiées et de rédu ire les possibilités des stagiaires, qu i ont tendance, c’est bien connu , à abu ser du système... Vsftpd sait s’appu yer su r tcp_wrappers pou r au toriser ou refu ser u ne ou plu sieu rs adresses IP et appliqu er u ne configu ration spécifiqu e. 1. Support de tcp_wrappers Cette opération su ppose qu e vsftpd ait été constru it avec le su pport de tcp_wrapper, ce qu i est le cas des versions rpm et des installations standards. Si la manipu lation qu e nou s indiqu ons ici ne fonctionne pas dans votre configu ration, alors c’est peu t être qu e tcp_wrapper n’est pas activé dans votre version de vsftpd. Il vou s su ffit alors d’éditer le fichier bu ilddefs.h et de remplacer #u ndef VSF_BUILD_T CPWRAPPERS par #define VSF_BUILD_T CPWRAPPERS. Recompilez alors vsftpd et le su pport sera activé. T cp_wrapper étant activé, il fau t indiqu er à vsftpd qu e nou s sou haitons nou s appu yer su r lu i pou r le filtrage. Ceci se fait en ajou tant dans /etc/vsftpd/vsftpd.conf la ligne : tcp_wrappers=YES 2. Définition d’une politique de filtrage Reste alors l’étape la plu s importante, la création de la politiqu e de filtrage dans tcp_wrapper. Elle se fait au travers de deu x fichiers /etc/hosts.allow et /etc/hosts.deny, mais u n seu l fichier est su ffisant la plu part du temps (pu isqu ’il est possible de préciser deny dans hosts.allow). Éditons donc /etc/hosts.allow et modifions-le pou r nos paramètres en profitant de l’occasion pou r 7 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... examiner les possibilités de ce filtre : cat /etc/hosts.allow vsftpd: 10.0.0.99: setenv VSFTPD_LOAD_CONF /etc/vsftpd/vsftpd_patron.conf vsftpd: 10.0.1.: DENY vsftpd: 10.0.72.0/255.255.255.0: setenv VSFTPD_LOAD8CONF /etc/vsftpd/vsftpd_marketing.conf vsftpd: .compta.maboite.com: setenv VSFTPD_LOAD8CONF /etc/vsftpd/vsftpd_compta.conf Vou s voyez d’u n cou p d’œil le principe. Chaqu e ligne définit u ne règle, qu i précise u ne cible (u ne adresse, u n domaine), pou r laqu elle on u tilisera u n fichier de configu ration spécifiqu e. Brillant de simplicité, non ? Ainsi, la première ligne décide qu e, pou r l’adresse IP 10.0.0.99 (celle du patron), nou s u tiliserons pou r vsftpd le fichier de configu ration /etc/vsftpd/vsftpd_patron.conf. Ce fichier de configu ration sera spécifiqu e, et pou rra contenir tou tes les fleu rs qu e vou s vou drez faire, comme : max_clients= 0 (le patron ou vre au tant de connexions simu ltanées qu ’il veu t) ; max_per_ip= 0 (dans ce cas, pu isqu ’il n’y a qu ’u ne IP, c’est la même chose) ; local_enable=Yes (le patron se connectera avec son compte local) ; chroot_local_u ser= No (le patron n’est pas chrooté, c’est le comportement par défau t de cette directive, mais pou rqu oi ne pas le rappeler) ; write_enable=Yes (le patron peu t écrire) ; local_max_rate=0 (débit illimité pou r le patron) ; ftpd_banner=Prenez tou t ce qu ’il vou s fau t et n’ou bliez pas mon au gmentation. D’au tres aménagements sont bien sû r possibles, relisez la liste des options étendu es qu e nou s citons en référence et l’inspiration viendra sû rement. La première ligne indiqu ait u ne adresse IP entière, le filtrage s’appliqu ait donc à elle et elle seu le. La seconde ligne indiqu e 10.0.1. (notez le point), les trois premiers octets. Dans ce cas, le filtrage s’appliqu era à l’ensemble du réseau 10.0.1.0 (donc de 10.0.1.1 à 10.0.1.255). T cp_wrappers su ppose qu e la partie manqu ante prenne tou tes les valeu rs possibles (ainsi, 10.5. comprendrait les adresses commençant par 10.5, soit de 10.5.0.0 à 10.5.255.255). Ce mode de filtrage est très pu issant. Dans cet exemple, nou s su pposons qu ’il s’agit des adresses des stagiaires. Ils sont tou t simplement refu sés su r le serveu r (DENY), bien qu e nou s soyons dans hosts.allow... La troisième ligne offre u ne logiqu e similaire, mais avec u n adressage classiqu e : 10.0.72.0/255.255.255.0 pou rrait être écrit 10.0.72. dans le paragraphe précédent. L’intérêt de cette façon de faire est de filtrer des adresses pou r lesqu elles le masqu e est non standard (par exemple 10.0.72.0/255.255.252.0 ou 192.168.0.0/255.255.255.192) : dans ces cas en effet, le filtrage précédent est inadapté. Nou s u tilisons alors u n au tre fichier de configu ration, vsftpd_marketing.conf, qu i pou rra être très restrictif, ju squ ’à : anonymous_enable=No local_enable=No Ni les u tilisateu rs dotés de compte ni les anonymes ne peu vent se connecter, bref, c’est l’équ ivalent d’u n deny... Ce serait peu t-être u n peu excessif dans la réalité... La qu atrième ligne fonctionne su r u ne logiqu e différente. Il est en effet possible, et même fréqu ent, qu e les machines de votre réseau soient en DHCP, au qu el cas le filtrage par IP n’est pas idéal. T cp_wrapper offre au ssi la possibilité de filtrer par le nom. Ainsi, .compta.maboite.com désigne tou s les noms finissant par .compta.maboite.com, c’est à dire ordi1.compta.maboite.com, serveu r2.compta.maboite.com, etc. Nou s pou rrions là au ssi indiqu er u ne machine précise (expert.compta.maboite.com), mais nou s choisissons de prendre en compte tou t le segment (notez le point en débu t de nom dans .compta.maboite.com). Pou r tou s les ordinateu rs du département comptabilité, nou s u tilisons u n fichier de configu ration nommé vsftpd_compta.conf, et qu i contiendra bien sû r les paramètres qu e vou s vou lez. Et les au tres ? Ceu x qu i ne sont pas cités dans hosts.allow se verront appliqu er le fichier de configu ration standard, /etc/vsftpd/vsftpd.conf, qu i pou rra à votre choix être très ou vert ou très restrictif. Il ne vou s reste plu s qu ’à redémarrer les services réseau et vsftpd et l’ensemble est fonctionnel. Bien sû r, les mau vaises langu es diront qu ’il serait possible de contou rner cette sécu rité en spoofant l’adresse ou le nom d’u n hôte au torisé : c’est vrai et cette évidence est valable pou r tou s les filtres 8 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... basés su r l’adresse ou le nom (u n filtrage su r l’adresse Mac pou rrait être contou rné de la même façon). Ce filtrage n’empêche pas l’existence d’u n mot de passe, qu i pou rra être très restrictif (comme nou s l’avons vu plu s hau t avec les directives secu re_email_list_enable et email_password_file=/etc/vsftpd.email_passwords). Là encore, il est possible de contou rner cette protection. Mais u n u tilisateu r non au torisé qu i possède à la fois la liste des adresses au torisées et des mots de passe vou s condu ira sans au cu n dou te à vou s interroger su r la fiabilité globale de votre politiqu e de sécu rité... Deuxième configuration : les utilisateurs virtuels Ju stement, les u tilisateu rs sont capables de tou t... u ne protection su pplémentaire de vsftpd consiste à faire en sorte qu e le client qu i accède ainsi à votre serveu r ait des pou voirs très limités... l’idée consiste à créer u n u tilisateu r très particu lier, u n u tilisateu r virtu el, qu i n’au ra donc de droits qu e dans le cadre de vsftpd. Pu isqu ’il n’existe pas vraiment su r le système (il n’a pas de mot de passe su r la machine elle-même), il ne pou rra faire au tre chose qu e... ce qu e vou s vou drez bien qu ’il fasse en tant qu ’u tilisateu r de votre serveu r FT P : lire, bien sû r, mais pou rqu oi pas au ssi écrire ou créer des fichiers... dès qu ’il sortira des répertoires qu e vou s au rez au torisés pou r lu i (en tentant par exemple d’écrire ailleu rs, d’installer u n programme ou de lire au tre chose), donc dès qu ’il tentera d’échapper au cadre du serveu r vsftpd, le système le rejettera en tant qu ’u tilisateu r inconnu ! Il s’agit là d’u ne protection encore plu s efficace... Elle s’opère en qu atre étapes : la création d’u ne micro base de données qu i contient les u tilisateu rs qu e vou s au toriserez, la liaison de PAM avec cette base, la création d’u n u tilisateu r virtu el, vers lequ el sera mappé tou t u tilisateu r au torisé et le paramétrage de vsftpd pou r lu i donner les droits qu e vou s vou drez. 1. Création de la base de données Il s’agit là d’u ne étape délicate si vou s ne maîtrisez pas PAM. Pou r faire simple, PAM est le modu le d’au thentification le plu s efficace et le plu s développé à ce jou r su r les systèmes Linu x. Il u tilise u ne base de données qu i contient la liste des u tilisateu rs. Bien sû r, nou s pou rrions créer u n u tilisateu r et PAM l’intégrerait directement dans sa base de données. Mais ju stement, nou s ne vou lons pas qu e l’u tilisateu r existe vraiment su r le système ! Nou s ne le créons donc qu e pou r PAM et en dehors de la machine elle-même et de ses commandes u seradd et au tres... Pou r ce faire, créons u n fichier, qu i contiendra la liste des u tilisateu rs virtu els qu e nou s vou lons ajou ter. La règle est : su r la première ligne u n login, su r la seconde le mot de passe correspondant, su r la troisième u n au tre login, su r la qu atrième son mot de passe, etc. au tant de fois qu e vou s vou drez ajou ter d’u tilisateu rs. Par exemple, créons le fichier virtu els.txt, qu i contiendra : Pierre Password Toto 1234 Le premier u tilisateu r est pierre, son mot de passe password. Le second toto, son mot de passe 1234 (je sais, c’est u ne idée exécrable d’u tiliser toto et 1234 : c’est ju stement pou r vou s décou rager d’u tiliser ce fichier tel qu el !). Créons à partir de ce fichier u n morceau de base de données u tilisable par PAM : db_load -T -t hash -f virtuels.txt /etc/vsftpd_virtuels.db 9 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Cette commande doit être lancée en tant qu e root, depu is le répertoire dans lequ el se trou ve votre fichier virtu els.txt. Elle su ppose qu e vou s ayez le programme Berkeley db installé. Su r certains systèmes, comme Debian, il arrive qu e cette commande échou e, parce qu e plu sieu rs versions de Berkeley db sont installées (ne me demandez pas pou rqu oi... peu t-être avez-vou s recompilé plu sieu rs fois et les différentes éditions de ce programme, sans lequ el au cu ne au thentification n’est raisonnablement possible, se sont ajou tées sans s’écraser). Il fau t lancer la version du programme qu ’u tilise le PAM installé, en remplaçant db_load par db3_load ou db4_load... Pou r plu s d’informations su r ce programme, allez su r : http://www.sleepycat.com/docs/u tility /index.html. Dans tou s les cas, cette commande crée le fichier /etc/vsftpd_virtu els.db, qu i contient la même chose qu e notre fichier virtu els.txt, mais formaté d’u ne façon u tilisable par PAM. Une bonne idée est de rendre ce fichier accessible par root et lu i seu l : chmod 600 /etc/vsftpd_virtuels.db Effacez parallèlement virtu els.txt. Si vou s vou lez le garder pou r conserver la mémoire de ce qu e vou s avez fait, donnez-lu i les mêmes droits restrictifs qu e pou r /etc/vsftpd_virtu els.db. 2.Création du fichier PAM à partir de cette base de données L’objectif de cette étape consiste à informer PAM qu ’il fau t u tiliser notre base de données avec vsftpd... Créez u n fichier vsftpd.pam, qu e vou s positionnerez dans le répertoire /etc/pam.d. Ce fichier contiendra deu x lignes, du type : auth required /lib/security/pam_userdb.so db=/etc/vsftpd_virtuels account required /lib/security/pam_userdb.so db=/etc/vsftpd_virtuels Elles précisent qu e tant le mot de passe qu e le nom d’u tilisateu r doivent être recherchés par PAM dans le fichier, de type base de données, /etc/vsftpd_virtu els (l’extension .db est donc sou s-entendu e). Pu isqu e ce fichier s’appelle vsftpd.pam et qu ’il est positionné dans /etc/pam.d, il sera pris en compte par PAM à chaqu e gestion des au torisations pou r le démon vsftpd. 3. Création d’un utilisateur virtuel Ju squ ’ici, pierre et toto sont deu x u tilisateu rs réels. Mais nou s ne vou lons pas qu ’ils aient de compte en dehors de vsftpd. Ils n’existeront donc pas su r le système et c’est pou rqu oi nou s avons contou rné le processu s de création normal pou r ces u tilisateu rs... mais ils ne peu vent pas faire grand-chose à ce stade ! PAM les reconnaît dans vsftp, mais ils n’ont au cu n droit su r au cu n fichier ni répertoire et ne peu vent même pas interagir avec le système ! Ils pou rront cependant se connecter et rien d’au tre. A qu oi servent-ils ? En fait, nou s allons faire en sorte qu ’ils pu issent faire qu elqu e chose, parce qu e nou s allons les mapper avec u n u tilisateu r du système créé spécialement pou r l’occasion. Nommons-le virtu elftp. Ce dernier n’au ra, lu i, au cu n mot de passe su r le système et dépendra donc complètement de vsftpd... Vou s voyez la bou cle ? pierre et toto ont u n mot de passe mais n’existent pas su r le système ; virtu elftp existe su r le système, mais, n’ayant pas de mot de passe, ne peu t pas se connecter... De la sorte, pierre et Toto peu vent se connecter, mais dès qu ’ils dépassent le cadre limité de ce qu e vou s au torisez pou r eu x en les sou dant à virtu elftp, ils se retrou vent soit pierre ou Toto, donc n’existant pas su r le système, soit virtu elftp, donc n’ayant pas de droit de connexion non plu s... Un peu compliqu é mais diablement sécu risé, n’est-ce pas ? Créons donc cet u tilisateu r virtu elftp et précisons qu e les fichiers du serveu r FT P seront dans son répertoire personnel, qu e nou s nommerons siteftp : useradd -d /home/siteftp virtuelftp ls -ld /home/siteftp drwx-----3 virtuelftp virtuelftp 4096 Feb 29 10:34 /home/siteftp Vou s pou vez à présent positionner des fichiers dans ce répertoire /home/siteftp, avec par exemple tou ch /home/siteftp/essai.txt... 10 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... 4. Paramétrage de vsftpd Il ne reste plu s qu ’à demander à vsftpd d’u tiliser tou s ces paramétrages, au travers de /etc/vsftpd /vsftpd.conf. Le fichier pou rrait être du type : anonymous_enable=NO local_enable=YES write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES guest_enable=YES guest_username=virtuelftp listen=YES listen_port=10021 pasv_min_port=30000 pasv_max_port=30999 Dans ce fichier, nou s interdisons natu rellement les u tilisateu rs anonymes et tou s les droits qu ’ils pou rraient avoir (nou s ne vou lons qu e pierre ou toto) et au torisons les u tilisateu rs locau x (parmi lesqu els virtu elftp). Nou s les enfermons dans u ne prison chroot (dans notre cas, /home/siteftp sera vu comme /) et au torisons les invités, ce qu i est fondamental, parce qu e cette option permet d’activer les u tilisateu rs virtu els ! Le nom de cet u tilisateu r, qu i figu re ligne su ivante, sera donc bien virtu elftp. Par ailleu rs, mais ce n’est pas obligatoire, nou s positionnons notre serveu r en mode standalone (Listen=Yes), en écou te su r u n port particu lier, 10021, au lieu de 21. Il fau dra en plu s qu e nos u tilisateu rs appellent le bon port pou r pou voir se connecter. Enfin, les ports ou verts seront dans la tranche 30000 à 30999, ce qu i est u tile si vou s paramétrez u n firewall. Notre configu ration est prête ! Redémarrez le serveu r vsftpd et essayez u ne connexion ! Vou s allez voir comment tou t ceci fonctionne : ftp localhost 10021 Connected to localhost (127.0.0.1). 220 ready, dude (vsFTPd 1.1.0: beat me, break me) Name (localhost:loulou): toto 331 Please specify the password. Password: 230 Login successful. Have fun. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 „/“ ftp> ls 227 Entering Passive Mode (127,0,0,1,117,135) 150 Here comes the directory listing. 226 Transfer done (but failed to open directory). ftp> size essai.txt 9 12 ftp> Dans cet exemple, nou s nou s connectons avec l’u tilisateu r toto et son mot de passe, le serveu r nou s dit bien qu e nou s sommes à la racine, alors qu e l’emplacement véritable est /home/siteftp. Observez les commandes et le retou r du serveu r. Le message d’erreu r lors du ls est bien normal (T ransfer done bu t failed to open directory), pu isqu e le répertoire n’est pas lisible par tou s, ce qu i est mieu x pou r la sécu rité (vou s pou rriez changer cet état de chose, par exemple en ajou tant anon_world_readable_only=NO, mais il n’est pas sû r qu e ce confort su pplémentaire soit vraiment indispensable. Si vos u tilisateu rs savent ce qu ’ils cherchent, pas besoin de leu r en donner plu s...). En revanche, la commande size nou s montre qu e nou s avons bien accès à essai.txt. Par la su ite, chaqu e fois qu e vou s vou drez rajou ter u n u tilisateu r comme pierre ou toto, il vou s su ffira de refaire les étapes 1 et 2. Si vou s vou lez assou plir les règles du répertoire d’accu eil, vou s pou vez modifier le fichier vsftpd.conf en relisant le débu t de cet article ou directement accroître ses droits locau x (par exemple drwx—x--x pou r en au toriser le listing). 11 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Troisième configuration, utilisateurs virtuels, suite et encore plus de sécurité La configu ration qu i précède est très sécu risée, mais elle présente évidemment u ne limitation : pierre et toto ont exactement les mêmes droits, ils sont rigou reu sement identiqu es du point de vu e du serveu r. Il est possible d’améliorer les choses pou r rendre notre configu ration u ltime, en créant plu sieu rs niveau x de droits, avec par exemple u n u tilisateu r pierre qu i pou rra lire le contenu d’u n répertoire et en télécharger qu elqu es fichiers, et u n au tre, toto, qu i lu i au ra plu s de pou voir, avec par exemple le droit d’u pload en plu s... Ces configu rations différentes sont possibles parce qu e vsftpd dispose d’u ne option nommée « configu rabilité u tilisateu r par u tilisateu r » (hou ! l’affreu x barbarisme). Cette troisième configu ration consiste donc simplement dans u n premier temps à activer cette option, pu is, dans u n deu xième et troisième temps, à définir les droits de pierre et de toto. 1. Activation de la configurabilité utilisateur par utilisateur Pou r ce faire, dans le fichier /etc/vsftpd/vsftpd.conf de la configu ration précédente, ajou tez la ligne : user_config_dir=/etc/vsftpd_user_conf De la sorte, vou s indiqu ez à vsftpd qu ’il existe u n répertoire (u n répertoire, hein, pas u n fichier) /etc/vsftpd_u ser_conf (vou s pou vez le nommer différemment si vou s le sou haitez), qu i contiendra les fichiers de configu ration pou r vsftpd de chaqu e u tilisateu r. Chaqu e fichier portera le nom de l’u tilisateu r, et contiendra ses paramètres particu liers, qu i seront prioritaires su r les paramètres du fichier de configu ration général /etc/vsftpd/vsftpd.conf. S’il n’existe pas de fichier spécifiqu e à l’u tilisateu r, seu l le fichier général sera u tilisé. Créez le répertoire en qu estion : mkdir /etc/vsftpd_user_conf Nou s u tilisons ici la configu ration précédente pou r l’enrichir, mais il va de soi qu e vou s pou rriez u tiliser cette configu rabilité u tilisateu r par u tilisateu r avec des u tilisateu rs « normau x », connu s su r le système, comme dans nos exemples du débu t de l’article. 2. Paramétrages pour pierre Nou s vou lons qu e pierre ait des droits en lectu re su r tou s les répertoires. Dans la configu ration précédente, ls produ isait u n échec. Corrigeons ce problème pou r pierre. Créons donc u n fichier /etc/vsftpd_u ser_conf/pierre, qu i contiendra : anon_world_readable_only=NO 12 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... De la sorte, nou s au torisons le ls même si le répertoire n’est pas ‘r’ pou r les au tres (il ne contient pas r dans la position ------r--). Redémarrez le serveu r et connectez-vou s en tant qu e pierre, vou s verrez qu e ls fonctionne, tandis qu ’il produ it u n échec à ce stade si vou s êtes toto ! 3. Affinage des droits de toto Nou s vou lons qu e toto pu isse lu i au ssi avoir ls, mais au ssi créer ou u ploader, sans bien sû r tou cher au x fichiers déjà existants. Créez pou r ce faire u n fichier /etc/vsftpd_u ser_conf/toto qu i contiendra : anon_world_readable_only=NO anon_upload_enable=YES write_enable=YES La première directive lu i permet le ls, la deu xième et le troisième l’u pload vers le serveu r. toto ne peu t en revanche pas su pprimer de fichier ni créer de répertoire. T estez ces configu rations, vou s verrez combien elles sont efficaces ! Vou s voyez qu ’au fond, passer à ce stade u ltime n’est pas beau cou p plu s compliqu é, pu isqu ’il s’agit au fond simplement, u ne fois la directive de configu rabilité u tilisateu r par u tilisateu r activée, de créer u n fichier de configu ration cou su main pou r chaqu e u tilisateu r particu lier du système. Quatrième configuration : les IP virtuelles Mais bon, vou s n’êtes peu t-être pas paranoïaqu e à ce point et votre sou ci est peu t-être plu s de disposer d’u n serveu r à tou t faire à peu près bien rangé, qu i sépare bien le LAN de l’Internet par exemple, qu e de faire du tu ning u tilisateu r par u tilisateu r. Imaginons donc u n dernier cas. Dans ce scénario, il ne s’agit donc plu s de répondre à u n besoin de filtrage serré, mais d’u ne configu ration qu i pose des problèmes différents. Votre serveu r FT P doit répondre à des demandes mu ltiples : il sert de sou rce pou r les drivers qu e vou s mettez à disposition du grand pu blic, mais au ssi de serveu r pou r qu e les employés pu issent récu pérer les formu laires commu ns à l’entreprise (demandes de congés et au tres docu ments préformatés). Il sert enfin à abriter les fichiers d’u n projet de développement pou r la cellu le de veille... Vou s n’avez bien sû r pas envie qu e tou t ce petit monde se mélange, qu e le grand pu blic récu père vos formu laires ou qu e qu iconqu e ait accès au x fichiers stratégiqu es de votre cellu le de veille. Votre consu ltant en sécu rité vou s dit qu e vou s feriez mieu x d’installer des serveu rs différents et IL A RAISON. Mais vou s n’avez pas le bu dget, pas l’organisation qu ’il fau t, etc., bref, vou s êtes cantonné à u ne seu le machine. Ce n’est pas grave (en fait si, mais disons plu tôt qu e, dans cette situ ation désagréable, voyons comment faire en sorte de limiter les cau chemars de vos nu its trop cou rtes) ! Vsftpd offre u ne solu tion pou r vou s : les IP virtu elles. L’idée de ce mécanisme consiste à attribu er 13 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... plu sieu rs adresses IP à votre carte réseau (des alias) et de consacrer chaqu e IP à l’u n des trois sites FT P qu e vou s vou lez maintenir. 1. Création d’alias réseau Pou r qu oi faire ? Vou s allez voir. Su pposons qu e votre carte physiqu e ait pou r adresse 10.0.0.10 et qu ’il s’agisse de la carte eth0. La façon la plu s simple de créer u ne adresse IP virtu elle consiste à copier le fichier /etc/sysconfig /network-scripts/ifcfg-eth0, qu i est votre fichier de configu ration de la carte eth0, vers /etc/sysconfig /network-scripts/ifcfg-eth0:1 (cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/networkscripts/ifcfg-eth0:1). Éditez ensu ite ifcfg-eth0:1. Il devrait contenir des lignes du type : DEVICE=eth0 BOOTPROTO=none BROADCAST=10.255.255.255 IPADDR=10.0.0.10 NETMASK=255.0.0.0 NETWORK=10.0.0.0 ONBOOT=yes TYPE=Ethernet USERCTL=yes PEERDNS=yes GATEWAY=10.199.0.254 IPV6INIT=no Les adresses ne seront sans dou te pas les mêmes, laissez-les telles qu ’elles se présentent dans votre fichier. L’opération ne consiste qu ’à modifier les lignes DEVICE et IPADDR, qu i deviendront : DEVICE=eth0:1 et IPADDR=10.0.0.11 Enregistrez vos modifications et redémarrez le réseau (service network restart). Votre carte réseau dispose désormais de deu x adresses, 10.0.0.10 et 10.0.0.11, ce qu e vou s pou vez vérifier avec la commande ifconfig (si les deu x cartes réseau n’apparaissent pas, vérifiez vos fichiers, u ne erreu r s’est sû rement glissée lors de votre modification). De la même façon, nou s créons u n deu xième alias eth0:2, qu i au ra l’adresse 10.0.0.12. Notre carte réseau a désormais trois adresses. 2. Écoute d’une adresse particulière Occu pons-nou s à présent du serveu r vsftpd et voyons ce qu e ce merveilleu x ou til permet de faire avec cette manipu lation. Il s’agit pou r lu i de créer trois fichiers de configu ration différents, u n pou r chaqu e u tilisation, et de lancer trois instances de vsftpd ! Lou rd ? Mais non... certes trois démons écou tent, mais la charge totale des u tilisateu rs reste la même qu ’il y ait u n processu s ou trois et le su rplu s est faible en termes d’u tilisation de la RAM et du processeu r... essayez u n top et vou s verrez les démons alterner et u n ps -au x vou s montrera combien la différence est faible avec u n seu l démon gérant tou s les u tilisateu rs. En ce qu i concerne les trois configu rations, nou s vou s laissons décider, en fonction des paramètres qu i précèdent, qu els paramètres vou s vou drez positionner dans chacu n des fichiers. Nou s nommerons le fichier de configu ration tou t venant, à destination des u tilisateu rs qu i téléchargent des drivers, /etc/vsftpd/vsftpd.conf. De la sorte, en l’absence de directive précise, l’u tilisateu r lambda u tilisera ce fichier. Il devra contenir en revanche obligatoirement les lignes su ivantes : listen_address = 10.0.0.10 De cette façon, les connexions su r cette IP (l’IP vers laqu elle vou s renvoyez les u tilisateu rs du grand 14 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... pu blic) u tiliseront ce fichier. Les employés, eu x, connaissent l’IP 10.0.0.11 et vou s pou vez même prendre la précau tion de leu r dire qu e le port n’est pas 21, mais par exemple 10021... Créez alors u n second fichier, par exemple /etc/vsftpd/employes.conf, qu i contiendra les paramètres qu e vou s sou haitez pou r eu x, mais au ssi les lignes : listen_address = 10.0.0.11 listen_port = 10021 Enfin, le grou pe d’étu de qu i partage des fichiers accèdera à la machine par l’adresse 10.0.0.12, su r le port qu e vou s vou lez, par exemple 10021 également (mais tou t au tre port est possible). Créez alors u n fichier /etc/vsftpd/grou pe.conf, qu i contiendra les paramètres qu e vou s sou haitez, mais également : listen_address = 10.0.0.12 listen_port = 10021 Il ne reste plu s qu ’à lancer trois instances de vsftpd, qu i chacu ne écou tera u ne des adresses ! Encore u ne fois, ce processu s alou rdit u n peu le serveu r, mais pas d’u ne façon énorme, pu isqu e chaqu e instance occu pera su rtou t les ressou rces requ ises par chaqu e u tilisateu r connecté... vsftpd /etc/vsftpd/vsftpd.conf & vsftpd /etc/vsftpd/employes.conf & vsftpd /etc/vsftpd/groupe.conf & Bien sû r, vou s au rez intérêt à positionner ces différents u tilisateu rs dans des répertoires différents, avec les directives local_root et anon_root qu e nou s avons évoqu ées au débu t de l’article. Par ailleu rs, cette répartition par adresse IP virtu elle peu t se combiner avec les au tres configu rations vu es dans ces exemples. Ce dernier scénario est loin des exemples extrêmes qu i précèdent, pu isqu ’il donne l’impression d’être facile à contou rner. Un u tilisateu r disposant de la bonne adresse (10.0.0.12 par exemple) pou rra tenter u ne connexion vers le répertoire du grou pe... encore fau t-il qu ’il ait le bon login et mot de passe... comme plu s hau t, s’il a tou tes les informations et qu ’il n’est pas su pposé les avoir, il fau drait sans dou te remettre à plat la politiqu e globale de sécu rité. Conclusion Nou s avons essayé dans cet article de vou s proposer plu sieu rs configu rations qu i vou s permettront, en les combinant, de créer votre propre serveu r. Un bon moyen de les combiner consiste à les essayer su r u n serveu r de test. Pendant qu elqu es temps, chaqu e fois qu ’u n droit particu lier doit être donné, cependant qu e vou s agirez su r le vrai serveu r au niveau u tilisateu r et répertoire, demandez-vou s comment il serait possible, su r le serveu r de test, d’abou tir au même résu ltat en modifiant le fichier de configu ration ou en créant u ne configu ration spécifiqu e. Vou s constaterez rapidement qu e la forêt d’options disponibles pou r vsftpd et sa capacité à accepter plu sieu rs fichiers de configu ration différents lu i donnent u ne pu issance et u ne sou plesse qu i lu i font mériter sa place en tête du hit parade des serveu rs dou ble S (simple mais sû r)... Références Le site de référence : http://vsftpd.beasts.org/ Un site d’astu ces : http://www.vsftpdrocks.org/faq/ T ou tes les directives tradu ites en français : http://www.walkonthegrass.net/tu toriels/Linu x/vsftpd Les mêmes dans la langu e de Shakespeare : http://vsftpd.beasts.org/vsftpd_conf.html Retrou vez cet article dans : Linu x Magazine Hors série 21 Posté par (La rédaction) | Signatu re : Jérôme Henry | Article paru dans Laissez une réponse 15 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Vou s devez avoir ou vert u ne session pou r écrire u n commentaire. « Précédent Aller au contenu » Identifiez-vou s Inscription S'abonner à UNIX Garden Exp ert en Virtualisatio n VMware, Hyper-V, Citrix XenServer Audit, Déploiement et Support www.a rumte c.ne t/virtua lis a tion Virtualisez vo s serveurs Virtualis ez Linux, Windows et Netware s ur une plate forme commune Nove ll.com/s e rve urvirtua lis a tion Serveur SIP g ratuit 3CX Ins tallation/configuration faciles Obtenez un 3CX VOIP PABX Windows www.3CX.f r Rép arer le Reg istre d u PC Réparer la Bas e de Regis tre. Téléchargement & Scan Gratuit ! Qua d-Cle a ne r.com/Cle a nRe gis tryErr Maig rir : 16 kg / mo is Mincir rapide s ans effet yoyo ! Brûlez la grais s e. 100% rembours é. ma igrir.e la n-s il.f r Articles de 1ère page Introdu ction à Ru by on Rails Linu x Pratiqu e HS N°17 - Mars/Avril 2009 - Chez votre marchand de jou rnau x 88 miles à l’heu re ! Développement et mise en place d’u n démon Unix Calcu ler ses rendu s Blender en clu ster ou comment faire sa propre « render farm » avec DrQu eu e T echnologie rootkit sou s Linu x/Unix CMake : la relève dans la constru ction de projets Des petits sondages pou r améliorer nos magazines Linu x Embarqu é pou r tou s ! Problématiqu e de consolidation et atteinte des objectifs de niveau de service (SLO) avec Xen 16 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Op T eams.co m Intégrateur VMware Cons olidation - PRA Haute Dis po www.opte a ms .com Sécurité d es Pme/Pmi Protégez le coeur de votre s ociété Serveurs back-up Blindés , ignifugés www.db6.f r Pro tég er serveur virtuel Haute Dis ponibilité et PRA pour les environnements virtuels f r.double ta ke .com Serveur Virtuel 19,90€ HT Trafic illimité, CPU burs table Equipé des logiciels n° 1 au monde ! www.nuxit.com Serveurs Lo ad b alancing s olutions mutualis és ou dédiés s upport 24/7 haute dis ponibilité www.e la s s a r.com Actu ellement en kiosqu e : 17 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Catégories Administration réseau Administration système Agenda-Interview Au dio-vidéo Bu reau tiqu e Comprendre Distribu tion Embarqu é Environnement de bu reau Graphisme Jeu x Matériel News Programmation Réfléchir Sécu rité Utilitaires Web Articles secondaires 30/10/2008 Google Gears : les services de Google offline Lancé à l’occasion du Google Developer Day 2007 (le 31 mai dernier), Google Gears est u ne extension open sou rce pou r Firefox et Internet Explorer permettant de continu er à accéder à des services et applications Google, même si l’on est déconnecté.... Voir l'article... 7/8/2008 T rois qu estions à... Alexis Nikichine, développeu r chez IDM, la société qu i a conçu l’interface et le moteu r de recherche de l’EHM.... Voir l'article... 11/7/2008 Protéger u ne page avec u n mot de passe En général, le problème n’est pas de protéger u ne page, mais de protéger le répertoire qu i la contient. Avec Apache, vou s pou vez mettre u n fichier .htaccess dans le répertoire à protéger.... Voir l'article... 6/7/2008 hypermail : Conversion mbox vers HT ML Comment conserver tou s vos échanges de mails, ou du moins, tou s vos mails reçu s depu is des années ? mbox, maildir, texte… les formats ne manqu ent pas. ... Voir l'article... 6/7/2008 iozone3 : Benchmark de disqu e En fonction de l’u tilisation de votre système, et dans bien des cas, les performances des disqu es et des systèmes de fichiers sont très importantes.... Voir l'article... 1/7/2008 18 sur 19 13.02.2009 20:25 Quatre serveurs FT P hyper sécurisés avec vsftpd... http://www.unixgarden.com/index.php/securite/qu... Au gmentez le trafic su r votre blog ! Google Blog Search (http://blogsearch.google.fr/) est u n moteu r de recherche consacré au x blogs, l’u n des nombreu x services proposés par la célèbre firme californienne.... Voir l'article... GNU/Linux Magazine GNU/Linu x Magazine N°113 - Février 2009 - Chez votre marchand de jou rnau x Édito : GNU/Linu x Magazine 113 Un petit sondage pou r améliorer nos magazines GNU/Linu x Magazine HS N°40 - Janvier/Février 2009 - Chez votre marchand de jou rnau x Edito : GNU/Linu x Magazine HS 40 GNU/Linux Pratique Linu x Pratiqu e HS N°17 - Mars/Avril 2009 - Chez votre marchand de jou rnau x Édito : Linu x Pratiqu e HS N°17 Linu x Pratiqu e HS 17 - Commu niqu é de presse Linu x Pratiqu e Essentiel N°6 - Février/Mars 2009 - Chez votre marchand de jou rnau x Édito : Linu x Pratiqu e Essentiel N°6 MISC Magazine Un petit sondage pou r améliorer nos magazines MISC N°41 : La cybercriminalité …ou qu and le net se met au crime organisé - Janvier/Février 2009 - Chez votre marchand de jou rnau x Édito : Misc 41 MISC 41 - Commu niqu é de presse Les Éditions Diamond adhèrent à l’APRIL ! © 2007 - 2009 UNIX Garden. T ou s droits réservés . 19 sur 19 13.02.2009 20:25