Conseils organisation et securisation serveur web et FTP

Conseils organisation et securisation serveur web et FTP - Débats - Linux et OS Alternatifs

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 :D ).
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 :D ).


Message édité par Gaellick le 23-07-2002 à 13:55:23

---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 23-07-2002 à 05:18:40   

Reply

Marsh Posté le 23-07-2002 à 12:45:06    

:??:


---------------
Qui cherche le soleil évite la pluie !
Reply

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 ?

Reply

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 ?


---------------
Qui cherche le soleil évite la pluie !
Reply

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 ;)

Reply

Marsh Posté le 23-07-2002 à 13:30:48    

Comment on fait :cry: !!!!


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 23-07-2002 à 13:31:40    

non c po vrai c parce que moi je suis parano ;)

Reply

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++


Message édité par lebibi le 23-07-2002 à 13:36:15
Reply

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 ? :D


---------------
Qui cherche le soleil évite la pluie !
Reply

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...

Reply

Marsh Posté le 23-07-2002 à 13:47:52   

Reply

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 :D comment je peux m'organiser au niveau des reps et surtout quelle "technique" employer, lien symbolique, en dur (comment-ca marche ?).


---------------
Qui cherche le soleil évite la pluie !
Reply

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.


---------------
...oups kernel error...
Reply

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.


---------------
Qui cherche le soleil évite la pluie !
Reply

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

Reply

Marsh Posté le 23-07-2002 à 15:37:07    

D'autres idees ?


---------------
Qui cherche le soleil évite la pluie !
Reply

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 :(


Message édité par Gaellick le 23-07-2002 à 16:30:54

---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 23-07-2002 à 17:07:21    

Houou !


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 23-07-2002 à 18:15:13    

Et ho !


---------------
Qui cherche le soleil évite la pluie !
Reply

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 ?


---------------
Qui cherche le soleil évite la pluie !
Reply

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  :jap:


---------------
...oups kernel error...
Reply

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

  • en notation normale :

proprio rwx = 7
grp rx = 5
autre rx = 5

  • en notation umask :

proprio rwx = 0 (=7-7)
grp rx = 2 (=7-5)
autre rx = 2 (=7-5)
 


---------------
...oups kernel error...
Reply

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  :jap:  




 
t as deja essayé ?

Reply

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

  • en notation normale :

proprio rwx = 7
grp rx = 5
autre rx = 5

  • en notation umask :

proprio rwx = 0 (=7-7)
grp rx = 2 (=7-5)
autre rx = 2 (=7-5)
 
 




 
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 ?


Message édité par Gaellick le 23-07-2002 à 23:19:59

---------------
Qui cherche le soleil évite la pluie !
Reply

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.


---------------
Qui cherche le soleil évite la pluie !
Reply

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 ;)


---------------
...oups kernel error...
Reply

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


Message édité par asphro le 24-07-2002 à 02:22:15
Reply

Marsh Posté le 24-07-2002 à 02:33:24    

¨Pendant que vous squatter mon topic vous pouvez pas m'expliquer le probleme avec umask ;) ?


---------------
Qui cherche le soleil évite la pluie !
Reply

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

Reply

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.


Message édité par Gaellick le 24-07-2002 à 07:12:42

---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le 24-07-2002 à 10:05:52    

à priori oui

Reply

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.


---------------
...oups kernel error...
Reply

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.


---------------
C'est en forgeant qu'on devient con comme un forgeron.
Reply

Marsh Posté le 24-07-2002 à 17:37:46    

superX a écrit a écrit :

à priori oui




 
:jap:


---------------
Qui cherche le soleil évite la pluie !
Reply

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 :jap:


---------------
Qui cherche le soleil évite la pluie !
Reply

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

Reply

Marsh Posté le 24-07-2002 à 18:03:17    

Oups toutes mes excuses :jap:, bravo en tout cas, tres sympa ce logiciel vraiment.


Message édité par Gaellick le 24-07-2002 à 18:03:25

---------------
Qui cherche le soleil évite la pluie !
Reply

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.


---------------
C'est en forgeant qu'on devient con comme un forgeron.
Reply

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  

Reply

Marsh Posté le 24-07-2002 à 18:24:13    

Reply

Marsh 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 :D. 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 ?


---------------
Qui cherche le soleil évite la pluie !
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed