Enorme trou de sécurité en FTP ??

-anonyme-

Légende
26 Février 2001
66 286
2 670
C'est moi qui délire ou bien il n'y a pas moyen qu'un user NON ADMINISTRATEUR, qui se connecte en FTP sur un Mac ne puisse se ballader et TOUT faire comme un accès admin ??....

Je parle bien sur d'un Mac sous X standard, avec le serveur ftpd de base de OsX activé, sans y avoir mis proftpd ou autres. Ce qui est la config de Mr tout-le-monde.

C'est un gigantesque trou ? Ou il y a un manip ?
J'ai fait des heures de test dans NetInfo, avec des chroot, des chown etc.

J'ai essayé de reconfigurer le user dans netinfo en m'inspirant d'un user ftp anonyme, qui lui ne peut pas se ballader. J'ai joué avec les groupes (nobody, nogroup, un groupe de test etc.)...

Il n'y a rien là dessus dans les discussions sur le site d'Apple, et je n'ai rien trouvé sur le net !
 

Blob

Membre d’élite
Club MacG
11 Novembre 2001
1 513
2
38
D'apres ma mince expérience sur le sujet si on crée un user qui n'est pas administrateur il peut se balader partout mais ne peut pas suprimer les fichiers qui ne sont pas ds son dossier.

Sinon en faisant un ftp annonyme je n'ai aucun probleme de ce genre ca n'est donc pas une faille. Plutot une méconnaissance du sujet et je reconnais que c pas évident du tout!!! Alors que c'est si simple avec os X server!!
 

Bilbo

Vétéran
Club MacG
17 Octobre 2001
7 084
725
Strasbourg
C'est une question de paramétrage de ftpd. Si tu veux en savoir plus, fait un man ftpd, mais ce n'est pas évident.

Il existe une solution plus sûre, plus souple et plus performante dans les FAQs de mon site. Mais il faut comprendre l'anglais.


A+
 

JoyeuxBranleur

Membre émérite
19 Juillet 2001
667
4
39
Saint-Etienne
www.meetyou.fr.st
Pour eviter que ton user ce balade partout, tu crée un user pour lequel tu modifie son home (via netinfo manager) et tu vas ds le terminal et tu crée un fchier "ftpchroot" dans /etc, là tu rentre le nom de tes users a bloquer, ainsi la racine de ton user serat son home.
 

-anonyme-

Légende
26 Février 2001
66 286
2 670
Merci les gars, effectivement j'avoue ma méconnaissance, avant OsX, la dernière fois que j'ai touché un Unix remonte à 15 ans !

Bilbo, merci pour tes conseils sur proftpd, j'ai commencé à jouer avec sur ma machine. Et j'ai exploré en long en large en travers leur site et le tiens. Et avant de te reposer des questions, je continue d'approfondir !

Mais je parlais de machines standards "sortie d'usine", je ne me vois pas remplacer ftpd sur la moindre machine que j'administre... Le man ftpd je l'ai lu et relu. Mais je n'ai pas bien pigé la fin, notamment la syntaxe du contenu des fichiers indiqués, quid de leur droits/propriétaire/groupe, et s'ils n'éxistent pas peut-on les créer etc. :
1. The login name must be in the password data base, /etc/pwd.db ...

-> bon çà j'ai l'impression que cela ne me sera pas utile, puisque cela demande un pass à chaque opération FTP.

4. If the user name appears in the file /etc/ftpchroot....

-> merci JoyeuxB, je vais explorer cette piste, d'après ce que je comprends, il s'agit de faire à la main, ce que ftpd fait automatiquement pour le user "ftp"

En fin de ce paragraphe, il est dit :
The account should also be set up as for an anonymous account.

-> j'imagine donc que je peux en virer le contenu et contruire l'arbo comme pour un ftp anonyme ? Bon je vais essayé et vous tiendrai au courrant.

Et encore une énigme. Pour avoir un ftp anonyme avec password (une sorte de guest), il est dit :

5. If the user name is ``anonymous'' or ``ftp'', an anonymous ftp account must be present in the password file (user ``ftp'').In this case the user is allowed to log in by specifying any password.

--> dans quel fichier password ? /etc/pwd.db ?Avec quelle syntaxe ? Et si on veut un password particulier et pas "any password" ?

Je me remets à tester.
Encore merci.
Pascal.
 

-anonyme-

Légende
26 Février 2001
66 286
2 670
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Bilbo:
pascalnew, je n'ai pas fait gaffe que c'était toi qui posait la question.

Si tu veux utiliser ftpd et que tu veux donner un accès annonyme, il faut ....
<HR></BLOCKQUOTE>

Merci chef
Je n'ai aucun pb avec la création d'un ftp anonyme classique, seriot.ch est super clair, et j'ai trouvé un autre tutoriel en RTF qui racconte la même chose, et pour le faire via une interface, il y a le freeware anonFTP (il faut le lancer en root avec pseudo par exemple) qui fait tout seul le boulot.

En fait je cherchais un moyen de sécuriser l'accès en imaginant 2 solutions :

1- Un ftp anonyme mais protégé par mot de passe.
----&gt; Je ne sais toujours pas faire. Où indiquer un password ? J'ai bien essayé de créer un etc/pw.db, mais sans succès. Est-ce possible ?

2- Ou bien un ftp "normal" avec user/pass que je puisse utiliser selon les mêmes principes qu'un ftp anonyme, simplement avec protection user/pass.

En effet chaque fois que j'ai activé mon ftp anonyme, dans mes logs j'ai eu chaque jour des connexions (sans doutes sniffées par des PortScan) du monde entier. Alors que je veux garder ce FTP pour la boulot, ou pour les copains !

Bref J'AI TROUVÉ ! Grace à la piste de JoyeuxB. et toi Bibo sur le ftpchroot.

Je vais peut-être faire un tutorial en RTF que d'autres pourront compléter.

En résumé :
- créer un nouvel utilisateur non admin, ex : user toto pass : tutu
- créer un ficher texte générique unix : etc/ftpchroot qui contient juste : toto
- virer tout le contenu du dossier /Users/toto :
sudo rm -rf /Users/toto/*
- créer un dossier de type dropbox (par ex) dedans
sudo mkdir /Users/toto/dropbox
- avec getinfo (plus rapide que par le terminal) mettre les param suivants :
dossier toto :
possesseur : moi (l'administrateur)
groupe : admin
permissions : 775
dossier toto/dropbox :
possesseur : moi (l'administrateur)
groupe : admin
permissions : 773

Ainsi en local "moi" fait ce qu'il veut.
En ftp toto/tutu peut seulement lire sa racine, et seulement écrire dans la dropbox !

C'est EXACTEMENT CE QUE JE VOULAIS !!! It rocks !

MERCI de m'avoir fait m'intéresser à ftpchroot pour éviter que toto ne se balade !

Reste donc (pour enfin finir ce message trop long) 2 petites questions :

1) Si je chroot toto dans /Users/toto/dossierdetest et bien en ftp toto arrive quand même dans /Users/toto, est-ce normal ? Ou j'ai raté un truc ?

2) Et avec un compte ftp anonyme "classique", peut-on le protéger par mot de passe ?

Amicalement.
Pascal.
 

JoyeuxBranleur

Membre émérite
19 Juillet 2001
667
4
39
Saint-Etienne
www.meetyou.fr.st
Dans le dossier ftpchroot tu rentre juste des noms, tu ne mets pas la racine du user, pour modifier celle-ci tu dois passer par netinfo manager et rentrer le nouveau chemin au niveau du home.

Dans mon cas j'ai mon admin pierre pour sui j'ai créer un dossier siteftp:
/users/pierre/siteftp,
j'ai modifier tt les home de mes autres users pour que ce soit /users/pierre/siteftp et non plus: /users/nomduuser

J'ai rentré tt mes autres users ds ftpchroot, et j'ai modifier les droit de mes fichiers ds /users/pierre/siteftp afin de gérer les differentes autorisations (un peu de chmod, chown et chgrp ds le terminal)

Pour info ton user anonyme, il suffit de mettre ftp ds les cases nom long et nom court, (anonymous n'est pas necessaire), pour le bloquer (lui ou un autre user) tu rentre son nom ds le fichier /etc/ftpuser (ceux qui st ds ce fichier ne peuvent faire du ftp, on y retrouve root je crois)


Si tu as besoin d'aide, hésite pas, je suis en BTS IG par alternance et je presente un serveur ftp comme activité vendredi.
 

-anonyme-

Légende
26 Février 2001
66 286
2 670
Merci JB :
&gt;Dans le dossier ftpchroot tu rentre juste des noms

Oui oui, pas de pb, mais ftpchroot c'est un fichier, pas un dossier ? Je l'ai mis dans /etc et c'est impec.

Ce que je disais dans mon avant-dernière question, c'est que faire sudo chroot -u toto /Users/toto/Dosier ne suffit pas, avec le ftpchroot, toto arrivera dans /Users/toto au lieu de /Users/toto/Dossier. En revanche j'ai également modifié le root dans netinfo et là du coup toto arrive bien dans /Users/toto/dossier et ne peut pas remonter.
Bon faut juste savoir que contrairement à ce que laisse croire man chroot, il faut quand même passer netinfo.

Merci pour les infos sur le ftp anonyme. D'ailleurs ce qui est élégant, c'est de ne pas avoir le user ftp dans la fenètre de login, c'est ce qui ce passe quand on crée le user ftp via netinfo.

J'avais déja vu l'usage de /etc/ftpuser.

Le SEUL truc qui me manque maintenant, c'est de savoir si avec ftpd on peut mettre un mot de passe au ftp anonyme !

Ou bien est-ce que ftpd gère en standard un user générique Guest auquel on peut associer un password ?

En tout cas merci.

Et après moultes tests la procédure décrite plus haut pour mon ftp protégé qui fonctionne tout pareil qu'un ftp anonyme, pour l'instant c'est béton.

Amicalement.
pascal.

[17 juin 2002 : message édité par pascalnew]
 

JoyeuxBranleur

Membre émérite
19 Juillet 2001
667
4
39
Saint-Etienne
www.meetyou.fr.st
Je ne vois pas l'interet d'un user anonyme avec mot de passe, ton user pour qu'il est un mot de passe il est obliger de te contacter (il va pas le deviner) alors autant créer un user (tu peux l'appeler guest) à ce moment là tu lui donne le minimum de droit possible
 

-anonyme-

Légende
26 Février 2001
66 286
2 670
c'était pour éventuellement ne diffuser qu'un password.
Et puis pour ma formation perso, comme ftpd gère pr lui même le user ftp (je veux dire qu'il sait qu'il n'y a pas bebsoin de pass, il fait le ftchroot tout seul, et ce user peut être activé sans être présent dans la liste des user à l'ouverture de la session), je me demandais s'il n'y avait pas un système intégré, facile à paramettrer genre user : "guest" ou anonyme + password.

Mais effectivement un user bien "chrooté" et présent dans ftpchroot, et une structure de home telle que je l'ai décrite plus haut, c'est nickel.


en tout cas, merci à toi.

pascal.
 

Bilbo

Vétéran
Club MacG
17 Octobre 2001
7 084
725
Strasbourg
pascalnew, je n'ai pas fait gaffe que c'était toi qui posait la question.


Si tu veux utiliser ftpd et que tu veux donner un accès annonyme, il faut créer un utilisateur nommé anonymous (nom long) et ftp (nom court). Ainsi tu donnes un accès sans mot de passe via le ftp (ftpd ne tient pas compte du mot de passe de l'utilisateur anonymous). Pour qu'on ne se balade pas dans tout le disque, ça se passe dans /etc/ftpchroot (voir le man).

Bon courage.