Conseils organisation et securisation serveur web et FTP - Débats - Linux et OS Alternatifs
Marsh Posté le 23-07-2002 à 13:08:33
pour le chroot, disons que le rep ftp est /data/nomlogin
defaultroot /data/~
ca devrait marcher nan ?
Marsh Posté le 23-07-2002 à 13:21:03
J sais pas. Maius quand je vais creer mes utilisateurs, je vais avoir un repertoire dans home/user, je vais pas recreer un autre rep dans /data. J'ai vu dans la doc de pure-ftpd qu'on pouvait utiliser les liens symbolique vers des repertoires exterieurs au chroot. Est-ce que c'est securise et que ca ne permet pas de s'"evader" de la prison du chrot justement ?
J'ai entendu parler de lien en dur au lieu de lien symbolique. Comment ca marche ? C'est plus secu ?
Marsh Posté le 23-07-2002 à 13:27:00
chroot tout t service qui sont accessible de l exterieur
c est ce que j ai fais moi
Marsh Posté le 23-07-2002 à 13:30:48
Comment on fait !!!!
Marsh Posté le 23-07-2002 à 13:34:53
Ma config chez moi
pour le ftp (proftpd) :
- compte user qui pointe sur son home
- compte ftp general pour tout le monde pour acces aux ressources communes
- serveur web (apache/mysql/php) : tu actives l'option public_html
L'utilisateur devra donc créer dans son home (par l'accés ftp) un rep Public_html dans lequel il mettra son site
http://tonsite.fr/~le_user/
Pour l'autre je ne sais pas
chez moi ils ont accès ssh pour modifier leur pass, mais bon tout le monde ne connait pas les commandes..
Si tu trouves un script php (comme les free ou autres) qui gere ca m'interresse
A++
Marsh Posté le 23-07-2002 à 13:39:48
Ok merci. Juste une petite precision. Il se loggue a ton FTP avec le meme login 'ftp' ? C'est pas un peu dangereux ca ?
T'as pas "chrooter" toi ?
Marsh Posté le 23-07-2002 à 13:47:52
non
pour acceder a son home il a son propre login + pass (le meme pour SSH)
et l'accés ftp commun se passe avec un autre compte
et puis apres sur ce dernier je joue avec les droits en lecture/ecriture/proprietaire...
Marsh Posté le 23-07-2002 à 13:54:34
Ok merci. J'aimerai bien les chrooter en fait ca a l'air plus securise et j'aimerai bien qu'ils puissent acceder par FTP a leur repertoire pour leurs pages HTML, ainsi qu'a leur rep perso et aux repertoires partages.
SVP comment je peux m'organiser au niveau des reps et surtout quelle "technique" employer, lien symbolique, en dur (comment-ca marche ?).
Marsh Posté le 23-07-2002 à 14:13:20
chrooter le service n'est pas la même chose que chrooter le répertoire du user avec pure-ftpd (enfin je pense, je connais pas trop ce prog).
si tu veux chrooter apache, voici un très bon tuto :
http://penguin.epfl.ch/chroot.html
en chrootant les services, les liens en dehors du répertoire de base ne fct pas.
ex:
/chroot/www/ = base de apache ==> / (en chrooté)
/chroot/www/bin/ => /bin
/chroot/www/lib/ => /lib
....
tout ce qui est en dehors ne sait pas être accéder puisque pour lui c'est la racine. (impossible d'accéder par ex à /home/user/public_html/)
le tout est donc de s'arranger pour avoir les répertoires des utilisateurs dans la même arboresence de base pour apache et pure-ftp.
ex:
/chroot/www/ et /chroot/ftp/ avec /chroot/ = / en chrooté.
ou même
/chroot/www/ qui contient les exécutables apache et pure-ftp et les pages des users.
Marsh Posté le 23-07-2002 à 14:53:39
Ok merci, mais je ne vais pas chrooter tous les services je pense, je vais utiliser le rep "Public_html" ca me parait pas mal, et chrooter les rep perso avec Pure-FTPD, de plus il permet d'acceder a des rep en dehors du chroot par des liens symboliques. Ca va etre plus simple parceque j'ai un peu de mal a comprendre ce que le lien que tu m'as donne essaie de faire, y'a des tas de manips.
Marsh Posté le 23-07-2002 à 14:54:13
ethernal a écrit a écrit : chrooter le service n'est pas la même chose que chrooter le répertoire du user avec pure-ftpd (enfin je pense, je connais pas trop ce prog). si tu veux chrooter apache, voici un très bon tuto : http://penguin.epfl.ch/chroot.html en chrootant les services, les liens en dehors du répertoire de base ne fct pas. ex: /chroot/www/ = base de apache ==> / (en chrooté) /chroot/www/bin/ => /bin /chroot/www/lib/ => /lib .... tout ce qui est en dehors ne sait pas être accéder puisque pour lui c'est la racine. (impossible d'accéder par ex à /home/user/public_html/) le tout est donc de s'arranger pour avoir les répertoires des utilisateurs dans la même arboresence de base pour apache et pure-ftp. ex: /chroot/www/ et /chroot/ftp/ avec /chroot/ = / en chrooté. ou même /chroot/www/ qui contient les exécutables apache et pure-ftp et les pages des users. |
ptain dire que cherche partout apres un truc pareille jamais trouvé sur google un aussi bon howto pour le chroot
m enfin j ai quand meme eu le benefice de me demerder tout seule et en plus que ca fontionne
perso j ai de grosse difficulter a chrooter exim
il veut jamais envoyer les messages !!!!!!
je vais donc essayer avec postfix
Marsh Posté le 23-07-2002 à 15:37:07
D'autres idees ?
Marsh Posté le 23-07-2002 à 16:30:27
Est-ce que qqun peut m'expliquer comment fonctionnent les droits sur les ficheirs ( -U ) avec Pure-FTPD, j'ai l'impression que les masks ne fonctionnent pas comme les masks standards Unix.
Exemple : (la definition est -U <umask for files>:<umask for dirs> ) If you want a new file uploaded by a user to only be
readable by that user, use '-U 177:077'. If you want uploaded files to be executable, use 022:022 (files will be readable -but not writable- by other users) or 077:077 (files will only be executable and readable by their owner)
Je comprends rien
Marsh Posté le 23-07-2002 à 17:07:21
Houou !
Marsh Posté le 23-07-2002 à 18:15:13
Et ho !
Marsh Posté le 23-07-2002 à 21:40:05
Gaellick a écrit a écrit : Est-ce que qqun peut m'expliquer comment fonctionnent les droits sur les ficheirs ( -U ) avec Pure-FTPD, j'ai l'impression que les masks ne fonctionnent pas comme les masks standards Unix. Exemple : (la definition est -U <umask for files>:<umask for dirs> ) If you want a new file uploaded by a user to only be readable by that user, use '-U 177:077'. If you want uploaded files to be executable, use 022:022 (files will be readable -but not writable- by other users) or 077:077 (files will only be executable and readable by their owner) Je comprends rien |
Je repose la question : comment fonctionne les mask de creation de repertoires et de fichiers avec Pure-FTPD ?
Marsh Posté le 23-07-2002 à 22:35:55
asphro a écrit a écrit : ptain dire que cherche partout apres un truc pareille jamais trouvé sur google un aussi bon howto pour le chroot m enfin j ai quand meme eu le benefice de me demerder tout seule et en plus que ca fontionne perso j ai de grosse difficulter a chrooter exim il veut jamais envoyer les messages !!!!!! je vais donc essayer avec postfix |
pourtant je l'ai déjà mis qq fois sur le forum celui là
en tout cas il m'a bien aidé
j'ai pas encore essayé avec postfix, tiens moi au courant
Marsh Posté le 23-07-2002 à 22:40:34
Gaellick a écrit a écrit : Est-ce que qqun peut m'expliquer comment fonctionnent les droits sur les ficheirs ( -U ) avec Pure-FTPD, j'ai l'impression que les masks ne fonctionnent pas comme les masks standards Unix. Exemple : (la definition est -U <umask for files>:<umask for dirs> ) If you want a new file uploaded by a user to only be readable by that user, use '-U 177:077'. If you want uploaded files to be executable, use 022:022 (files will be readable -but not writable- by other users) or 077:077 (files will only be executable and readable by their owner) Je comprends rien |
si c'est le même principe que pour proftpd, les droits sont inversés :
tu prends 777 et tu soustrais chaque valeur.
ex
proprio rwx = 7
grp rx = 5
autre rx = 5
proprio rwx = 0 (=7-7)
grp rx = 2 (=7-5)
autre rx = 2 (=7-5)
Marsh Posté le 23-07-2002 à 22:45:45
ethernal a écrit a écrit : pourtant je l'ai déjà mis qq fois sur le forum celui là en tout cas il m'a bien aidé j'ai pas encore essayé avec postfix, tiens moi au courant |
t as deja essayé ?
Marsh Posté le 23-07-2002 à 23:14:55
ethernal a écrit a écrit : si c'est le même principe que pour proftpd, les droits sont inversés : tu prends 777 et tu soustrais chaque valeur. ex
proprio rwx = 7
proprio rwx = 0 (=7-7) |
Ok je comprends mieux la mais y'a encore un probleme, dans l'exemple ils disent que si l'on veut qu'un fichier uploade soit uniquement lisible par le proprio alors il faut mettre 177.
Pour les deux 7 ok puisque c'est l'inverse de 0 mais le 1 ca devrait etre 3 avec ce que tu me dit (r-- = 4 donc 7 - 4 = 3 ???)
Mais quel est l'interet d'inverser les droits comme ca ?
Marsh Posté le 24-07-2002 à 00:05:49
A mon avis ils ont du se gourer et ca doit etre readable et writable pour faire 1.
Marsh Posté le 24-07-2002 à 00:42:44
asphro a écrit a écrit : t as deja essayé ? |
non
c'est déjà assez prise de tête avec le avp chrooté pour scanner les mails, alors si je chroot postfix j'ose pas imaginer..
mais si tu trouves une bonne doc la dessus, je suis preneur
Marsh Posté le 24-07-2002 à 02:20:32
ben ty va en mode test !!! comme je le vais le faire
AVP ca fontionne bien ?
remark je comprends pourkoi tu la chrooté lui etant donné c un service interne et que personne peut avoir acces a se service de l exterieur
heu je reedit dans 10min
Marsh Posté le 24-07-2002 à 02:33:24
¨Pendant que vous squatter mon topic vous pouvez pas m'expliquer le probleme avec umask ?
Marsh Posté le 24-07-2002 à 02:52:18
remark 1
essaye po d install postfix avec openldap 2.1.3
ca marche po car y a plus les fontion ldap_url_search d incluse...
remark2
hum va voir dans le rep examples des source de postfix
y a un script pour le chrooter
t as po du chercher bien loin
#############################################################
gaellick desolé du squatt
l interet d inversé les droit c que sur ftp t as po les meme droit qu en local d ou umask
cherche de la doc type unix sur google
unix umask en francophone ou force toi a comprendre l anglais comme moi
Marsh Posté le 24-07-2002 à 03:53:46
J'ai cherche mais ma conclusion est que pour juste autoriser les droits en lecture c'est 377 et pas 177 pour umask. Je voulais une confirmation c'est tout.
Marsh Posté le 24-07-2002 à 11:20:44
asphro a écrit a écrit : ben ty va en mode test !!! comme je le vais le faire AVP ca fontionne bien ? remark je comprends pourkoi tu la chrooté lui etant donné c un service interne et que personne peut avoir acces a se service de l exterieur |
AVP fct nickel
utilise avcheck comme liaison : http://www.stahl.bau.tu-bs.de/~hildeb/postfix/
comme je l'ai dit, je n'ai pas essayé de chrooté postfix.
Pcq le prob c'est que pour finir tu te retrouves avec tout les services dans le même rep racine pour qu'ils puissent communiquer entre eux, ce qui n'est pas spécialement avantageux.
--
désolé pour le squatage
pour le umask, idem.
Marsh Posté le 24-07-2002 à 14:57:34
Pour chrooter tes utilisateurs sous pure-ftpd, il suffit de le lancer avec l'option -A :
/usr/local/sbin/pure-ftpd -A &
Ils ne pourront pas acceder aux repertoires en dehors de leur repertoire personnel, *sauf* si tu l'as compile avec le virtual chroot. Dans cas, s'il y a des liens symboliques en dehors du chroot, les utilisateurs pourront y aller. C'est tres pratique pour avoir du contenu partage. Ca ne pose pas de probleme de probleme de securite car si le FTP permet de suivre des liens symboliques il ne permet en revanche pas d'en creer.
Marsh Posté le 24-07-2002 à 17:37:46
superX a écrit a écrit : à priori oui |
Marsh Posté le 24-07-2002 à 17:39:59
axey a écrit a écrit : Pour chrooter tes utilisateurs sous pure-ftpd, il suffit de le lancer avec l'option -A : /usr/local/sbin/pure-ftpd -A & Ils ne pourront pas acceder aux repertoires en dehors de leur repertoire personnel, *sauf* si tu l'as compile avec le virtual chroot. Dans cas, s'il y a des liens symboliques en dehors du chroot, les utilisateurs pourront y aller. C'est tres pratique pour avoir du contenu partage. Ca ne pose pas de probleme de probleme de securite car si le FTP permet de suivre des liens symboliques il ne permet en revanche pas d'en creer. |
Merci pour l'info, il me semble que c'est -a et pas -A ? Tu as repondu exactement a ce que je voulais savoir (pas tres francais ca ) a propos des liens symboliques, merci
Marsh Posté le 24-07-2002 à 17:58:28
nono c -A
c un des developeur de pureftpd
donc je crois qu il se sait ce qu il dis
Marsh Posté le 24-07-2002 à 18:03:17
Oups toutes mes excuses , bravo en tout cas, tres sympa ce logiciel vraiment.
Marsh Posté le 24-07-2002 à 18:17:50
-a ca marche aussi mais c'est un peu different. Ca permet de chrooter tout le monde *SAUF* des utilisateurs privilegies qui font partie d'un certain groupe. Par exemple si tu as un groupe 'staff' dont le numero est 100 et que tu lances le serveur avec -a 100, tout le monde sera chroote sauf les membres de 'staff'.
-A ca chroote tout le monde sans exception.
Marsh Posté le 24-07-2002 à 18:20:09
ha ben axey tu tombes bien , ya un autre topic ou on s'emmerde pour solver un probleme d'authentification avec pureftpd via mysql
Marsh Posté le 24-07-2002 à 18:24:13
ReplyMarsh Posté le 24-07-2002 à 21:15:41
axey a écrit a écrit : -a ca marche aussi mais c'est un peu different. Ca permet de chrooter tout le monde *SAUF* des utilisateurs privilegies qui font partie d'un certain groupe. Par exemple si tu as un groupe 'staff' dont le numero est 100 et que tu lances le serveur avec -a 100, tout le monde sera chroote sauf les membres de 'staff'. -A ca chroote tout le monde sans exception. |
OK, c'est pour ca que j'avais mis -a car je comptais creer un groupe ftpadim ans lequel j'aurai mis root et mon user par defaut a moi . Mais pour commencer et faire les premiers tests je vais chrooter tout le monde.
Merci en tout cas.
PS : et pour l'histoire du umask, tu peux confirmer que pour restreindre les droits en ecriture seulement sur les fichiers crees ou uploade a l'uploader c'est 377 et non pas 177 ?
Marsh Posté le 23-07-2002 à 05:18:40
Salut,
Je suis en train de mettre en place un serveur Apache, MySQL et Pure-ftp. Le probleme est que je n'y connais rien et j'aurai besoin de vos lumieres et conseils sur l'organisation des donnees et de la securite. Tout d'abord un petit bilan de ce qui existe deja :
Apache est installer et le repertoire principal des donnees est /data/http.
MySQL est installer et le repertoire principal des donnees est /data/mysql
Php 4.2.1 est installer
Pure-FTP pas encore installer.
Ce que je voudrai :
- Que les utilisateurs puissent acceder par FTP a leur repertoire personnel
- Que les utilisateurs puissent acceder par FTP a des repertoires bien definies en dehors de leur repertoire personnel
- Que les utilisateurs possedent une base de donnees (avec pour nom leur login comme sur Free) a utiliser avec Apache/PHP/MySQL
- Que chaque utilisateurs aient un repertoire dans lequel ils pourront stocker les pages de leur site perso ( a l'adresse : http://adresse_du_serveur/nom_du_user ) accessible via FTP.
Voili voila.
J'ai vu qu'avec Pure-FTP ont pouvait "chrooter" les users dans leur repertoire perso. J'ai recherche ce que "chrooter" voulait dire mais j'ai pas trouve comment ont fait ( je sais j'suis debile ).
Le probleme du chrootage" est qu'apparemment il ne pourront pas acceder a des repertoires en dehors du repertoire "chrooter".
J'ai vu que l'on pouvait utiliser une base de donnee MySQL pour authentifier les utilisateurs ou bien utiliser les users Unix. Qu'est-ce qui vous parait le mieux dans mon cas ?
J'aimerai si possible laisser les repertoires pour MySQL et Apache comme ils sont actuellement, etant donne qu'il est prevu l'ajout d'un disque dur uniquement pour le repertoire /data.
Voili voila.
Merci d'avance pour vos conseils et liens utiles ( en francais si possible ).
Message édité par Gaellick le 23-07-2002 à 13:55:23
---------------
Qui cherche le soleil évite la pluie !