"chroot" sous MAC OS X

programmeur

Membre confirmé
25 Avril 2005
10
0
Bonjour,

Je souhaiterai savoir s'il est possible d'isoler le processus d'apache dans un envirronement "chrooté" sur un MAC OS X 10.3 comme il est possible de le faire en UNIX. Ceci me permetterai de sécuriser mon serveur web. Si vous souhaité des infos sur le "chrootage", je serai ravis de vous en expliquer le fonctionnement.

Merci d'avance pour vos reponses, qui me permettrons surement d'avancer.....

Salut
 
Salut

J'ai deja regarder le man, mais il n'y a aucune indications concernant la procedure a suivre pour faire un "chrootage", donc ca ne m'avance pas trop.... Sinon, le "chroot" sert a créer une prison virtuel pour ceux qui arrivent a passer les securité deja mises en places (firewalls,....) en limitant un processus(dans mon cas apache) dans un seul repertoire possédant tous les modules necessaire a son fonctionnement. Ce repertoire a des droits limités sur le systeme, ce qui fait que le hacker qui arrive a entrer dedans ne pourra de tout paniere pas en sortir. Voila en gros a quoi ca sert.

Merci
 
Intéressant. Est-ce que tu sais le faire sur Unix ? Si oui, j'imagine que ça doit être semblable sur Mac OS X...
 
Salut molgow!

Oui je sais le faire sous Unix, mais des problemes importants se posent lorsque l'on passe sous MACOS (fichiers difficles a trouver, modules introuvables,....). Voici la procedure dont je dispose pour la réalisation sous UNIX: http://www.debianworld.org/index.php?page=doc_securing_apache
indication: pour pouvoir lister les librairy necessaires a un processus sous MACOS( commande ldd sous UNIX) il faut utiliser la commande otool -L (package du cd developper tool necessaires!).

Sinon, voici quelque lien que g trouver:

http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-apache-env.fr.html
http://www.zdnet.fr/builder/programmation/technologies_web/0,39021000,39138765,00.htm
http://www.securityfocus.com/infocus/1694

Voila ce que j'ai pour le moment!

Merci
 
Vu qu'on est sur un système unix BSD est-ce vraiment important ? Tous les ports sont fermés par défaut.. Pour hacker un site à moins qu'il ne soit très mal conçu (des includes depuis l'url par ex) c'est loin d'être facile..

Je pense pas que beaucoup de monde sache faire tomber apache. M'enfin je me trompe peut-être...
 
Un exemple bête.
Sous MacOS X si tu partages le FTP, la personne se connectant peut remonter dans l'arboressence en faisant des cd ..
Un chroot permet de bloquer au dossier de connexion par exemple.
 
Oui, les ports sont bloqués sur une BSD, mais fatalement, le port 80 lui sera forcément ouvert(sinon difficile de voir le site depuis le net) donc, beaucoup d'attaque sont possible par cette voie.... Apres reste a voir si c'est vraiment efficace....

merci de votre aide....
 
D'après ce que j'ai pu lire, n'oublie pas que ce chroot ne va pas t'aider à éviter les attaques mais à limiter les dégats d'une éventuelle attaque.
 
Oui, je ne l'oubli pas, les degats ne seront possible pour le hacker que dans le repertoire du chroot. Donc, peut ce remettre en place facilement avec une bonne sauvegarde pourvu que la premiere mise en place soit bonne
 
D'après ma compréhension, sudo est un binaire 'sitcky bit'. Donc il lance le binaire httpd avec les droits root.
Quand je lance apache : "sudo httpd -k start" par exemple.

Le binaire httpd crée X processus httpd avec le user apache définie httpd.conf.

Le binaire httpd de lancement (avec les droits root) se fini, et laisse ses processus fils orphelins (processus pere pid = 1).
Donc il ne doit rester aucun démon avec des droits root... ni de visibilité sur autre chose que l'arborescence /Library/Apache2 dans mon cas.

Le user Apache ne doit pas être un shell de connexion (uid < 500, et shell /dev/null ). Dernier contrôle mettre des alertes sur les logs au cas ou...