Serveur ftp sous linux et blocage des comptes - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 05-12-2003 à 17:34:23
google est ton copain
sinon voici la réponse : http://archives.neohapsis.com/arch [...] /0367.html
edit : mots clés : chroot vsftp
Marsh Posté le 05-12-2003 à 20:38:26
yes ca m'interesse trop mais ca ne fonctionne toujours pas :
je me suis aussi aidé de cette page :
http://www.tjw.org/chroot-login-HOWTO/
mais rien à faire , lorsque j'essai de me logger sur le ftp avec un user crée avec cette methode : il me dit password incorrect.
(je ne peux meme pas me logger sous linux avec cette methode)
Marsh Posté le 05-12-2003 à 23:00:39
tu as un problème là... tu as bien donné les bons droits aux fichiers nécessaires au chroot (bash/sh, ...) ? parce que tu dois pouvoir le faire en local sur le système (après pour le ftp ça coulera tout seul)
Marsh Posté le 05-12-2003 à 23:10:22
j'ai suivi la methode de l'adresse que j'ai file , c a d que je fous les bash et autres su dans le /home/usr/bin ;
si je regarde les droits sur ces fichiers , c'est le root qui est tj proprietaire.
une idée??
Marsh Posté le 05-12-2003 à 23:26:06
passe les bons droits à l'utilisateur en question, par exemple :
chown root:ton_user les_éxécutables
chmod 550 les_éxécutables
enfin bref, avec chown tu attribues le propriétaire et le groupe de l'utilisateur (chown propriétaire:groupe_utilisateur), ensuite avec chmod, tu restreints les droits, chmod 550 veut dire ici :
propriétaire : lecture/éxécution (5)
groupe : idem (5)
autres utilisateurs : aucun droit (0)
pour les droits, ça se compte en binaire : rwx = 7 et --- = 0
je te conseille de lire les man de chmod et chown, ça devrait te servir
Marsh Posté le 05-12-2003 à 23:32:51
en fait je connais dejà un peu ces histoires de droits pour le chmod ou le chown seulement là , meme en faisant la manip , ca ne fonctionne pas ;
lorsque j'essaie de me loguer sous linux avec mon user , il me renvoie no such file or directory et je reviens a l ecran de login
Marsh Posté le 05-12-2003 à 23:35:30
et quand j essaie de me connecter par ftp , il me renvoie un login incorrect
(mon client c gftp)
Marsh Posté le 05-12-2003 à 23:40:46
donc à mon avis il doit rechercher un fichier de conf
regarde dans /var/log/secure et /var/log/messages au cas où
Marsh Posté le 05-12-2003 à 23:43:06
je vais regarder ca mais si je me logge sous linux avec le compte , voila ce que j'ai :
no shell , permission denied
je sais pas si ca peut aider....
Marsh Posté le 05-12-2003 à 23:46:28
j'ai ca dans les logs :
Dec 5 23:48:17 Nemo proftpd[2900]: Nemo (Nemo[192.168.0.3]) - FTP session opened.
Dec 5 23:48:17 Nemo PAM_pwdb[2900]: (ftp) session opened for user toto by (uid=0)
Dec 5 23:48:17 Nemo proftpd[2900]: Nemo (Nemo[192.168.0.3]) - FTP session closed.
Dec 5 23:48:17 Nemo PAM_pwdb[2900]: (ftp) session closed for user toto
Marsh Posté le 05-12-2003 à 23:47:35
j'ai vu qu'il ne fallait pas de pam d'apres ce que j'ai lu ici
ttp://www.tjw.org/chroot-login-HOWTO/
Marsh Posté le 05-12-2003 à 23:48:49
cyberfred a écrit : je vais regarder ca mais si je me logge sous linux avec le compte , voila ce que j'ai : |
ça c'est un problème de shell mal configuré dans passwd, si tu as spécifié un certain shell dedans, il faut utiliser celui-ci et pas un autre, donc indiquer le bon chemin aussi
edited
Marsh Posté le 05-12-2003 à 23:50:35
cyberfred a écrit : j'ai ca dans les logs : |
et ca dans secure :
Dec 5 23:47:17 Nemo proftpd[2893]: Nemo (Nemo[192.168.0.3]) - USER toto (Login failed): Invalid shell: /bin/chroot_shell
Dec 5 23:47:47 Nemo proftpd[2895]: Nemo (Nemo[192.168.0.3]) - USER toto (Login failed): Invalid shell: /bin/chroot_shell
Dec 5 23:48:17 Nemo proftpd[2900]: Nemo (Nemo[192.168.0.3]) - USER toto (Login failed): Invalid shell: /bin/chroot_shell
Marsh Posté le 05-12-2003 à 23:53:09
BMOTheKiller a écrit : |
j ai ca pour le user toto ds /etc/passwd :
toto:x:504:504:home/totobin/chroot_shell (mince , a la place du smiley y a ca attaché bien sur : /)
Marsh Posté le 05-12-2003 à 23:58:29
fais un : ls -al /bin/chroot_shell
sinon pour quel script as-tu opté ? la 1ère ou la 2ème solution ?
car justement, comme c'est mis il y a des chances que tu ais un problème de libs, il ne trouve pas une lib, donc ne peut éxécuter le chroot
Marsh Posté le 06-12-2003 à 00:02:54
si je fais un ls -al /bin/chroot_shell , il me renvoie ca :
-rw-r--r-- 1 root root 379 dec 5 22:09 /bin/chroot_shell
et voici le script chroot_shell , que j'ai crée avec kedit tout simplement :
#!/bin/bash
if [ "$1" = "-c" ]; then
i=0;
PARAMS="";
for param in $*; do
if [ $i -gt 0 ]; then
PARAMS="$PARAMS $param";
fi
let i++;
done;
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER -c "$PARAMS"
else
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER
fi;
Marsh Posté le 06-12-2003 à 00:11:34
oki, donc /bin/chroot_shell n'est pas éxécutable
chmod +x /bin/chroot_shell
CQFD
Marsh Posté le 06-12-2003 à 00:26:29
ca marche presque :
this user is not alloawed to execute :
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER
pourtant j'ai fait un visudo et j'ai ca dedans :
root ALL=(ALL) ALL
toto ALL= NOPASSWD: /usr/sbin/chroot /home/toto /bin/su - toto*
Marsh Posté le 06-12-2003 à 00:37:16
cré plutôt un Cmnd_Alias :
|
ça devrait pas poser de problème comme ça, ton utilisateur pourra éxécuter chroot, par contre il y a peut-être un p'tit hic niveau sécu là, enfin c'est pas trop méchant
Marsh Posté le 06-12-2003 à 00:43:14
bon y a du mieux mais bon maintenant j'ai ca :
/usr/sbin/chroot /bin/su no such file or directory
Marsh Posté le 06-12-2003 à 00:45:08
cyberfred a écrit : bon y a du mieux mais bon maintenant j'ai ca : |
mais je crois savoir :
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER -c "$PARAMS"
else
sudo /usr/sbin/chroot /home/$USER /bin/su - $USER
il ne faut peut etre pas d espace entre $USER et/bin
Marsh Posté le 06-12-2003 à 00:49:12
si si, l'espace est important, en fait la commande "sudo /usr/sbin/chroot /home/$USER /bin/su - $USER" veut dire :
on se cage dans /home/$USER, une fois que c'est on éxécute /bin/su dans la cage du user
Marsh Posté le 06-12-2003 à 00:56:03
ls -al /home/toto/bin/sh :
no such file or directory
par contre j'ai fait ca:
ls -al /home/toto/bin/bash:
-rwxr-xr-x 1 toto toto 625516 dec 6 00:14 /home/toto/bin/bash*
ls -al /home/toto/bin/su:
-rwxr-xr-x 1 toto toto 625516 dec 6 00:14 /home/toto/bin/su*
Marsh Posté le 06-12-2003 à 01:06:40
ca marche (au login linux ps encore le ftp) mais uniquement si je remplace la variable $user par toto , ca veut dire qu'il ne recupere pas la variable???
Marsh Posté le 06-12-2003 à 01:15:58
oui pardon, je voulais dire su, pas sh....
bon, c'est un problème de lib ça :
ldd /bin/bash
ldd/bin/su
tu copies toutes les libs indiquées comme ça :
cd /home/toto/lib
cp /lib/ld-linux.so.2 .
cp /lib/libc.so.6 .
cp /lib/libpam_misc.so.0 .
cp /lib/libtermcap.so.2 .
cp /lib/libcrypt.so.1 .
cp /lib/libdl.so.2 .
cp /lib/libpam.so.0 .
ensuite tu rééxécutes, si ton user est bien configuré ça doit passer
Marsh Posté le 06-12-2003 à 01:36:54
aie aie , le souci c 'est que ca je l'ai dejà fait , par contre si je remplace le $USER par toto ca marche , ca veut dire quoi ca?????
Marsh Posté le 06-12-2003 à 01:39:03
si tu fais en root : USER=toto;/bin/chroot_shell
ça passe bien ?
Marsh Posté le 06-12-2003 à 01:49:37
la ca passe
j ai directement le bash , je comprends plus là?????
Marsh Posté le 06-12-2003 à 01:51:24
je precise que je suis sous mandrake 9.1 et que je demarre avec un inittab sur 3 donc en ecran texte.
Marsh Posté le 06-12-2003 à 01:58:30
bizarre ça, bon on va essayer l'export
donc dans /bin/chroot_shell, juste en dessous de #!/bin/bash, tu mets cette ligne "export USER"
ça ira peut-être mieux, quoique
Marsh Posté le 06-12-2003 à 02:03:55
c'est pareil , me fait no such file or directory alors qu'avec USER=toto;/bin/chroot_shell ca passe
Marsh Posté le 06-12-2003 à 02:08:28
la solution de facilité est a mon avis d'utiliser pure-ftpd
avec l'option -A au lancement de celui ci qui va chrooter tous les utilisateurs
Marsh Posté le 06-12-2003 à 02:11:58
pour du ftp, c'est sur que ce serait plus simple, surtout que j'ai l'impression qu'il y a qq chose qui ne passe pas sous mdk là
Marsh Posté le 06-12-2003 à 02:18:45
j essaye a distance sur une red hat 9 pour faire du ftp
on va bien voir
Marsh Posté le 06-12-2003 à 02:21:10
j ai fait les memes manip^a distance sur une red hat et sur vstp , il me renvoie un login incorrect
qu'entends tu par plus simple en ftp ,parce que c ca qui m interesse en fait!!
Marsh Posté le 06-12-2003 à 02:25:38
si je me connecte en ssh sur ma red hat 9 , j'ai ca et pourtant je viens de faire les memes manips que sur la mdk 9.1.
/bin/su: user marc does not exist
Connection to www.societe.com closed
Marsh Posté le 05-12-2003 à 17:27:40
Salut
Voici mon souci :
j'aimerai configurer un server ftp sous linux tel que gftpro ou vsftp mais le souci c'est que lorsque je me connecte avec mes users sur le ftp , ceux ci ont accés à leur /home bien sur mais ils peuvent aussi naviguer dans toute l'arborescence linux (sauf ceux des autres users et quelques repertoires particuliers).
Bien qu'ils ne peuvent pas ecrire dans ces repertoires , c'est un sacré pb de sécurité.
J'aimerai donc savoir comment faire pour que mes comptes n'ait accés à /home/nom_user et à rien d'autre.
(Par exemple si le mec tape /var/www , le serveur lui envoie un directory failed ou un truc dans le genre)
Merci d'avance si vous avez une réponse.