Écrit par VieuxProf
|
01-01-1999 |
Wuftpd est le serveur FTP traditionnel sous Linux. Il est délicat à mettre en oeuvre et on découvre souvent de nouveaux bugs. A moins d'une absolue nécessité, on préfèrera des démons FTP alternatifs.
- Vérifier si ftpd est activé (# ftp localhost)
- Si une version 2.5.x/2.6.0 est installée, la désinstaller car il y a un bug de sécurité
- Installer wu-ftpd 2.6.1 ou ultérieur (# ./configure; ./make; ./make install)
- S'assurer que /etc/ftponly figure dans /etc/shells
- Créer les utilisateurs et les arborescences
- Paramétrer les fichiers de configuration
- Par défaut, chaque utilisateur du système peut se connecter en FTP sur son 'home'. Il est préférable, pour des raisons de sécurité, de créer une arborescence et des utilisateurs FTP distincts des comptes locaux, généralement chrootés en /home/ftp ou /var/ftp.
- La procédure en mode guest est alors la suivante :
- Vérifier que l'utilisateur ftp existe (# cat /etc/passwd | grep ftp)
- Créer un compte d'administrateur du contenu du serveur FTP, l'administrateur du serveur lui-même étant généralement root
# useradd -c "commentaire" -d /home/ftp -s /etc/ftponly ftpadmin; passwd ftpadmin
- Créer des comptes d'utilisateurs FTP
# useradd -c "commentaire" -d /home/ftp/ftpuser1 -s /etc/ftponly ftpuser1; passwd ftpuser1;
# useradd -c "commentaire" -d /home/ftp/ftpuser2 -s /etc/ftponly ftpuser2; passwd ftpuser2, etc.
- Nettoyer les homes selon /etc/skeleton
# rm -Rf /home/ftp; rm -Rf /home/ftp/ftpuser1; rm -Rf /home/ftp/ftpuser2 ; etc.
- Editer les fichiers /etc/passwd et /etc/group pour chrooter les comptes avec le symbole /./
# fichier '/etc/passwd'
ftp:x:503:503:ftp-daemon:/home/ftp/./:/etc/ftponly
ftpadmin:x:525:525::/home/ftp/./:/etc/ftponly
ftpuser1:x:526:526::/home/ftp/ftpuser1/./:/etc/ftponly
ftpuser2:x:527:527::/home/ftp/ftpuser2/./:/etc/ftponly
# fichier '/etc/group'
ftp:x:503:
ftpadmin:x:525:
ftpuser1:x:526:ftpadm
ftpuser2:x:527:ftpadm
- Pour chaque utilisateur, créer sous /home/ftp/monUtilisateur une arborescence incluant les binaires indispensables
bin, root.root, 111 (-R)
cddir, root.root, 111 (-R)
etc, root.root, 111 avec fichiers 'group', root.root, 444 et 'passwd', root.root, 444
lib, root.root, 111 (-R)
msgs, ftpadmin.ftpadmin, 711 avec fichiers en 744
repertoireUtilisateur, monUtilisateur.monUtilisateur, 755 (pour ftpadmin : ftpadmin, ftpadmin.ftpadmin, 700)
- Créer le contenu des fichiers du répertoire /home/ftp/monUtilisateur/etc
# fichier passwd
root:x:0:0:root:/root:/bin/bash
ftp:x:503:503:ftp-daemon:/home/ftp/./:/etc/ftponly
ftpadmin:x:525:525::/home/ftp/./:/etc/ftponly
ftpuser1:x:526:526::/home/ftp/ftpuser1/./:/etc/ftponly
ftpuser2:x:527:527::/home/ftp/ftpuser2/./:/etc/ftponly
# fichier group
root:x:0:root
nobody:x:99:
ftp:x:503:
ftpadmin:x:525:
ftpuser1:x:526:ftpuser1
ftpuser2:x:527:ftpuser2
- Créer des fichiers .notar dans chacun des répertoires pour éviter le DoS - Deny of Services -
# cd monRepertoire; touch .notar; chown root.root .notar; chmod 0 .notar)
/etc/ftpaccess |
configuration générale du démon ftpd |
/etc/ftpusers |
restrictions d'accès aux utilisateurs |
/etc/ftphosts |
accès personnalisé des utilisateurs autorisés |
/etc/ftpgroups |
contrôle des groupes FTP (peu utilisé) |
/etc/ftpconversions |
conversion vers d'autres Unix |
/etc/inetd.conf, /etc/xinetd.conf |
paramétrage du contrôle de ftpd via tcpd |
/etc/xinetd.d |
répertoire de paramétrage des services inetd (RedHat 7.0 et ultérieur) |
/etc/shells |
définition d'un pseudo-shell /etc/ftponly |
/var/log/xferlog |
fichier des logs de wu-ftpd |
/var/log/messages |
autres logs importants, défini par défaut dans /etc/syslog.conf |
/var/log/wtmp, /var/run/utmp |
enregistrement des connexions au service FTP |
killall -HUP inetd, killall -HUP xinetd |
redémarrage de ftpd par tcpd |
ftp monserveur |
ftp client interactif |
ftpcount, ftpwho |
état courant des connexions |
ftpshut |
programmation de l'heure d'extinction du serveur FTP |
|
Dernière mise à jour : ( 03-02-2008 )
|