chrooter proftp [RESOLU] - postfix - Linux et OS Alternatifs
Marsh Posté le 29-08-2002 à 18:52:00
en lui chrootant aussi les librairies qu ila besoin !!
avec pour outil seul ldd
cp -a et rsync -a
j ai chrooté
postfix
courrier-imap
apache + tous c modules (rnfin normale koa)
mysql
bind
mais pas pureftpd !!!
pkoi !!!
parce j ai po pensé que je pouvais ne lancé 2 un en local sur un autre port, un pour l exterieur !!
mais vais le faire je viens dy penser !!
Marsh Posté le 29-08-2002 à 18:56:47
quelle est la commande pour connaitre les librairies dont il a besoin?
Tu arrives à chrooter mysql et apache et faire du php?
si tu as un lien également pour chrooter postfix je suis interessé!
Marsh Posté le 29-08-2002 à 19:08:23
bobor a écrit a écrit : quelle est la commande pour connaitre les librairies dont il a besoin? Tu arrives à chrooter mysql et apache et faire du php? si tu as un lien également pour chrooter postfix je suis interessé! |
ldd
Marsh Posté le 29-08-2002 à 19:10:08
bobor a écrit a écrit : quelle est la commande pour connaitre les librairies dont il a besoin? Tu arrives à chrooter mysql et apache et faire du php? si tu as un lien également pour chrooter postfix je suis interessé! |
avec ldd et connaissance où est installer koa !!
Marsh Posté le 29-08-2002 à 20:09:52
bobor a écrit a écrit : il vaut mieux utiliser rsync ou ln (pas symbolique)? |
moi j utilise rsync -a
car j vu faire comme ca dans un howto sur linuxfocus !!
Marsh Posté le 29-08-2002 à 20:18:09
bon bah pour l'instant ça ch... /usr/sbin/proftpd: no such file or directory
après un chroot /chroot/proftpd /usr/sbin/proftpd
Marsh Posté le 30-08-2002 à 19:54:19
bon j'ai essayé plein de trucs, rien à faire, toujours le même message: no such file or directory.
Est-ce que je dois refaire un ldd dans l'environnement chrooté? Comment?
Pour l'instant j'ai mis toutes les librairies liées à proftpd dans /chroot/proftpd/lib (elloes étaient dans /lib à l'origine), les programmes de proftpd dans leurs répertoires respectifs (/chroot/proftp/usr/sbin et bin), les fichiers de conf, /etcgroup et passwd ainsi que le répertoire pam.d
je ne vois pas quoi mettre d'autre. HELP please...
Marsh Posté le 30-08-2002 à 20:17:56
17 min chrono
est voila ca marche en base po encore essayer avec ldap mais avec /etc/password ca marche
listing qui se trouve dans /chroot/proftpd
|
Marsh Posté le 30-08-2002 à 20:59:40
j'ai à peu près la même chose en dehors des libs mysql et openldap.
j'ai essayé avec:
chroot /chroot/proftpd/ /usr/sbin/in.proftpd
il me dit (configuration en standalone):
chroot cannot execute /usr/sbin/in.proftpd:no such file or directory
et j'ai essayé la même commande dans xinetd.d (configuration type inetd) et là il me met connection refused avant que je fasse quoique ce soit.
j'utilise les utilisateurs locaux. Dois-je rajouter autre chose pour pam???
Marsh Posté le 30-08-2002 à 21:04:45
non c est que t as oublié des fichiers ou librairies !!
moi j avais oublié libber.*
il ma dis qu il ne pouvait pas la charger car elle n existé pas !!
stou !!!
Marsh Posté le 31-08-2002 à 16:04:21
bon ça y est j'ai troiuvé la couille qui merdait: j'avais bien mis ld-linus* mais pas /lib/ld*!
Je ne suis plus très loin du but. Maintenant j'ai un problème avec la résolution de nom. J'ai bien mis hosts et resolv.conf dans l'environnement chrooté mais il ne parviens pas à résoudre les noms. Le serveur DNS est chrooté sur la même machine.
une idée?
Marsh Posté le 31-08-2002 à 16:28:34
moi mon serveur dns est pas chrooté dans la meme racine et ca marche !!
a mon avis t as du oublié libresolv* ou libnss*
Marsh Posté le 31-08-2002 à 16:37:49
j'ai mis libresolv mais pas libnss. Je crois que libnss est pour nsswitch donc openldap. Moi j'utilise pam.
Ceci dity je vais quand même essayé
Sinon j'ai fait l'essai de chrooter ma partition mandrake l'accès au serveur dns se fait bien, donc c'est juste une histoire de réolsution et de librairie...
Marsh Posté le 31-08-2002 à 16:43:38
bobor a écrit a écrit : j'ai mis libresolv mais pas libnss. Je crois que libnss est pour nsswitch donc openldap. Moi j'utilise pam. Ceci dity je vais quand même essayé Sinon j'ai fait l'essai de chrooter ma partition mandrake l'accès au serveur dns se fait bien, donc c'est juste une histoire de réolsution et de librairie... |
non libnss n est pas que pour ca regarde bien y a libnss_dns*
libnss_files* etc ..
Marsh Posté le 31-08-2002 à 16:46:31
bon à priori c'était ça... merci!
ce n'est pas fini pour autant. Il est actuellement configuré en mode inetd, et donc lancé depuis xinetd. Mais là il me met connection refused d'office.
Que dois-je mettre dans host.allow sachant que la commande que je lance depuis xinetd est
'/usr/bin/chroot /chroot/proftpd /usr/sbin/proftpd'
car je pense que le roblème vient de là
Marsh Posté le 31-08-2002 à 20:05:48
bon ça y est tout marche!! (avec xinetd!)
merci de ta collaboration.
une petite question pour optimiser le tout. J'ai lu sur le net qu'il valait mieux mettre tous les fichiers qui ne changent pas en root. A priori je prèfèrerais les mettre sous un user comme ftp, même les librairies (sachant que le user ftp n'aura pas accès au ftp). Car si quelqu'un arrive à s'introduire dans l'environnement chrooté je préfère qu'il execute des commandes sous le nom ftp que root.
Qu'en penses-tu?
Je peux tout mettre sous ftp sauf etc que je laisserai en root. Et ne donner aucun droit à "tous" (quelque chose comme rwxr-x---)
Marsh Posté le 31-08-2002 à 20:14:32
bobor a écrit a écrit : bon ça y est tout marche!! (avec xinetd!) merci de ta collaboration. une petite question pour optimiser le tout. J'ai lu sur le net qu'il valait mieux mettre tous les fichiers qui ne changent pas en root. A priori je prèfèrerais les mettre sous un user comme ftp, même les librairies (sachant que le user ftp n'aura pas accès au ftp). Car si quelqu'un arrive à s'introduire dans l'environnement chrooté je préfère qu'il execute des commandes sous le nom ftp que root. Qu'en penses-tu? Je peux tout mettre sous ftp sauf etc que je laisserai en root. Et ne donner aucun droit à "tous" (quelque chose comme rwxr-x---) |
ben au tu laisse tout en root et ton daeomon en ftp
tant qu il peut lire les librairies !!!
et tout autre fichier de config etc ...
Marsh Posté le 01-09-2002 à 11:39:54
bon maintenat je m'attaque à postfix. Question pour démarrer: si postfix est chrooté, il va mettre les mails dans /chroot/postfix/var/spool/mail. Le serveur pop ne trouvera donc pas les mails. Dois-je chrooter le serveur pop avec postfix, ou y a-t-il une astuce?
Marsh Posté le 01-09-2002 à 12:24:58
ln -s /chroot/postfix/var/spool/ /var/spool
pour ma par j ai prefere chrooter courrier-imap avec postfix !!
Marsh Posté le 01-09-2002 à 12:42:12
je ne crois pas que les liens symbnoliques fonctionnent à travers un chroot. C'est bien le problème des liens symboliques sous proftpd avec defaultroot activé.
De plus, j'ai l'intention de mettre /var et /chroot sur des partitions différentes. Encore un obstacle au lien symbolique.
J'ai pensé au mount -o bind mais il faudrait que je crée une partition pour /var/spool/mail, ce qui est un peu lourd.
La seule solution semble effectivement de chrooter ensemble ces 2 services.
Marsh Posté le 01-09-2002 à 14:10:23
/var/spool/mail n'a pas besoin d'etre sur une partition separee. mount --bind et mount --move ca marche sur n'importe quel repertoire.
Marsh Posté le 01-09-2002 à 14:22:47
effectivement ça marche
bon je devrais pouvoir m'ensortir avec ça donc. Merci!
Marsh Posté le 01-09-2002 à 15:07:59
je comprend pas les option bind et move a mount ca fais koi exactement ?
Marsh Posté le 01-09-2002 à 15:30:18
ça permet de monter une partition (ou un répertoire) à plusieurs endroit.
ici il suffit de faire
mount --bind /var/spool/mail /chroot/postfix/var/spool/mail
et le répertoire ezst monté aux 2 endroits.
Donc en faisant de même avec le serveur pop, il est possible de les chrooter séparément.
Marsh Posté le 01-09-2002 à 15:31:10
Bein si tu fais par exemple :
mount --bind /var/spool/mail /home/toto
Tout le contenu de /var/spool/mail sera aussi visible dans /home/toto . Un meme repertoire peut etre monte en 300 endroits differents si necessaire.
--move ca deplace l'endroit ou un repertoire est visible.
mount --move /var/spool/mail /home/toto
Ca fait qu'on ne voit plus rien dans /var/spool/mail : tout son contenu devient visible dans /home/toto . C'est 100% atomique (contrairement a un 'mv' sur des partitions distinctes), et ca n'ecrit rien sur disque dur.
Sous BSD c'est mount_null .
Marsh Posté le 01-09-2002 à 15:33:29
axey a écrit a écrit : Bein si tu fais par exemple : mount --bind /var/spool/mail /home/toto Tout le contenu de /var/spool/mail sera aussi visible dans /home/toto . Un meme repertoire peut etre monte en 300 endroits differents si necessaire. --move ca deplace l'endroit ou un repertoire est visible. mount --move /var/spool/mail /home/toto Ca fait qu'on ne voit plus rien dans /var/spool/mail : tout son contenu devient visible dans /home/toto . C'est 100% atomique (contrairement a un 'mv' sur des partitions distinctes), et ca n'ecrit rien sur disque dur. Sous BSD c'est mount_null . |
ok ok merci pour l explication
je connaissais pas du tout !!!
Marsh Posté le 01-09-2002 à 15:35:43
âr contre je ne trouve dans le man fstab comment monter en bind au démarrage.
Qq'un sait?
Marsh Posté le 01-09-2002 à 16:44:03
je ne dois plus être très loin pour postfix. Mais lorsque je lance
chroot /chroot/postfix `/usr/sbin/postfix start`
il me lance un bash après avoir lancé postfix.
Si je ne mets pas bash dans l'environnement chrooté, il lance postfix et fais une erreur car bash ne peyt ^tre trouvé. Mais postfix semble bien lancé (je n'ai pas encore fais les tests)
Marsh Posté le 02-09-2002 à 12:37:26
je UP car je ne vois pas d'où viens ce problème de bash
postfix start lance postfix-script qui est un script sh, donc je comprends qu'il en ai besoin, mais je ne vois pas pourquoi après il reste en environnement chrooté. C'est assez gênant au démarrage
Marsh Posté le 02-09-2002 à 13:39:37
alors oui en effet il faut plein d outil comme grep, chmod etc ..
solution tu chroot bash, ldd !!! et les lib qui vont avec dans ton environnment ou est postfix !!
ensuite tu te chroot dans chroot/postfix et la tu auras plus d'info sur ce qui te manque !!!
c 'est ce que j ai fais perso !!
Marsh Posté le 02-09-2002 à 14:09:48
toutes les lib pour bash sont bien dispos dans l'environnement chrooté. Postfix se lance bien, mais une fois lancé par la commande chroot /chroot/postfix `/usr/sbin/postfix start` je me retrouve sous bash en environnement chrooté. Cela ne fait pas ça avec proftpd. Et surtout je ne sais pas comment le lancé au démarrage dans ces conditions.
Marsh Posté le 29-08-2002 à 18:33:12
je suis sous gentoo et je souhaiterais chrooter proftpd, pas seulement les répertoires disponibles mais le serveur lui-même.
seulement lorsque je fais emerge proftpd --emptytree --pretend, les dépendances sont énormes: perl, groof, gettext, pam...
Je me demande alors si c'est possible?
Message édité par bobor le 01-09-2002 à 11:40:18