Installer Proftpd
Parametrer Proftpd
Commentaires
Annexes
Installation
urpmi proftpd
urpmi proftpd-anonymous
Parametrer Proftpd
Editer le fichier /etc/proftpd.conf et remplacer son contenu par les lignes suivantes.
Pour ma part j'utilise Midnight Commander, ouvrez un terminal, mettez vous en super utilisateur via la commande: "su", entrez votre mot de passe root, puis entrez la commande "mc".
Utilisez les fleches pour vous deplacer dans l'arborescence et la touche espace pour ouvrir les repertoires, utilisez la touche F4 pour editez le fichier, F2 pour enregister et F10 pour quitter.
Effacer le fichier proftpd-anonymous avec la touche F8.
# le nom du serveur
ServerName "Serveur FTP Abdias"# le daemon reste en mémoire et écoute les connections
ServerType standalone# Utile surtout pour les "virtuals hosts" mais laissez ainsi
DefaultServer on# Pour ne pas donner d'info sur le serveur
DeferWelcome off# le daemon écoute sur le port 21
Port 21# Seul le propriétaire d'un fichier peut le modifier.
Umask 022# Nombre de processus fils maximum que va utiliser proftpd, laissez ainsi
MaxInstances 30# Proftp sera lancé avec les privilèges (c'est à dire aucun) de nobody
User nobody
Group nogroup# Oblige proftpd a toujours fournir l'ip (voir commentaire)
MasqueradeAddress xxx.xxx.xxx.xxx# Définit les ports que ProFTPd va utiliser pour son allocation dynamique
PassivePorts 50000 50010# Proftp crée les logs systeme
SystemLog /var/log/proftpd/log-system# Proftp crée les logs de transfert
TransferLog /var/log/proftpd/log-transfer# Nombre maximum de clients simultanés
MaxClients 100# Nombre maximum de clients ayant le même login
MaxClientsPerHost 5# Interdit la connexion avec le login Root
RootLogin off# Un utilisateur peut écraser ses propres fichiers
AllowOverwrite on# Un utilisateur peut reprendre sont téléchargement
AllowStoreRestart on# C'est le genre de réglage que je laisse en me disant qu'un jour je vais
# travailler sur NIS. Je ne sais pas à quoi ça sert mais comme je n'ai lu aucun
# avis de sécurité qui mette ce réglage en cause, je le laisse.
PersistentPasswd off#Le Timeout est le temps laissé à l'utilisateur pour envoyer des commandes,
#passé ce délai le serveur fermera la connection automatiquement.
TimeoutStalled 300# (voir commentaire)
IdentLookups off <Limit LOGIN> AllowAll </Limit><Global># Message d'accueil après une connexion réussie
AccessGrantMsg "Bienvenue %u :)"ServerIdent on "FTP Abdias"</Global><Anonymous ~ftp> <Limit LOGIN> AllowAll </Limit> User ftp Group ftp UserAlias anonymous ftp MaxClients 10 "Désolé maximum %m connecté" RequireValidShell off AnonRequirePassword off <Directory /uploads/*> <Limit READ> DenyAll </Limit> <Limit STOR> AllowAll </Limit> </Directory></Anonymous># Pour bloquer TOUS les users dans leur home
DefaultRoot ~
Commentaires
Modifiez les lignes: ServerName, Port, MasqueradeAddress, PassivePorts, AccessGrantMsg et MaxClients selon vos attentes
DefaultRoot ~ bloque les utilisateurs non anonyme dans leur repertoire /home
DefaultRoot user /home/user permet de bloquer uniquement l'utilisateur user (tres utile pour bloquer des utilisateurs specifiques et pour ne pas bloquer notre compte)
Nous créons un repertoire /var/ftp/uploads sur lequels nous faisons un chmod 722 ce qui evitera de servir temporairement a notre insu de serveur warez
Configuration pour le NAT:
C'est bien entendu l'éternel problème du mode passif. On peut en venir à bout de plusieurs manières mais proftpd propose quelques paramètres plutôt sympathiques. Ca tient en deux lignes:
MasqueradeAddress et PassivePorts (sur la ligne MasqueradeAddress, "xxx.xxx.xxx.xxx" correponds a votre ip publique il faut pour cela une ipfixe, si vous n'en avez pas d'ip fixe, supprimez cette ligne)
La ligne MasqueradeAdress oblige proftpd a toujours fournir l'ip: en effet il arrive sinon qu'il renvoie sa propre ip LAN qui n'est bien entendu pas routable. Il faut donc placer dans cette directive l'ip WAN de votre réseau.
La ligne PassivePorts quant à elle définit les ports que ProFTPd va utiliser pour son allocation dynamique. Ce sont en général eux qui empêchent d'aller au dela de l'authentification lors des connexions FTP entre deux réseaux natés. Une fois la plage définie, il vous suffit de router les ports en question vers la machine sur laquelle tourne le ProFTPd. Vous définirez ces règles sur votre routeur ou sur la box faisant office de gateway (via iptables/ipchains par exemple)
Attention: Après cette installation (en tout cas chez moi c'est comme cela) il est probable que le mode passif aura des problèmes sur le LAN donc plus de passif en interne.
Un temps d'attente de 8 a 10 secondes existe apres:"en attente du message d'accueil" .La ligne IdentLookups règle ce probleme.
On peut également gérer le même type d'accès pour les groupes d'utilisateurs, au moyen de la directive AuthGroupFile de ProFTPd. On peut de même passer par MySQL pour stocker en base les accès et les administrer encore plus simplement via phpMyAdmin par exemple, ou mieux, MyFTP Admin .(voir tuto dans l'annexe)
Annexes
Le tutoriel tres complet de Léa
Toutes les options de Proftpd
Le site officiel de Proftpd
Tutoriel pour gerer Proftp avec MyFtp Admin
|