Existe-t-il une fenêtre équivalente à chroot?

24

Sur un système * nix, je peux utiliser un chroot pour isoler deux processus l'un de l'autre et du reste du système. Existe-t-il un système de sécurité similaire sous Windows? Ou existe-t-il un moyen d'empêcher deux processus de lire / écrire les uns sur les autres?

Tour
la source
1
Je ne suis pas sûr que l'étiquette de sécurité soit garantie ici. kerneltrap.org/Linux/Abusing_chroot
MDMarra
1
@The Rook - Dans cette discussion kerneltrap, les développeurs du noyau discutent du fait que chroot n'a jamais été conçu pour être un dispositif de sécurité /
MDMarra
1
@ The Rook - C'est vrai, je disais simplement que vous voudrez peut-être reformuler la question. Il y a eu des extensions de chroot ou des tours sur le concept (comme des prisons) qui ont été conçues avec la sécurité à l'esprit. Dans votre message, vous faites référence à chroot comme un dispositif de sécurité, ce qu'il n'a jamais été conçu.
MDMarra
1
@Nathan Adams Je suis d'accord, mais "la sécurité en couches".
Tour
1
On dirait que j'ai demandé quelque chose d'assez similaire ici . Avez-vous déjà réussi à configurer cela sur Windows Server? La réponse que vous avez acceptée n'explique ni comment faire, ni dit que ce n'est pas possible ...
RomanSt

Réponses:

5

Je ne suis pas sûr que vous gagniez quoi que ce soit sur Windows en chrootant - avez-vous un besoin spécifique?

Dans le cas où l'un des meilleurs résultats sur Google est http://www.winquota.com/wj/ .

Peut-être que la virtualisation des applications pourrait être une option? Microsoft a à dire à ce sujet:

Dans un environnement physique, chaque application dépend de son système d'exploitation pour une gamme de services, y compris l'allocation de mémoire, les pilotes de périphérique et bien plus encore. Les incompatibilités entre une application et son système d'exploitation peuvent être résolues par la virtualisation de serveur ou la virtualisation de présentation; mais pour les incompatibilités entre deux applications installées sur la même instance d'un système d'exploitation, vous avez besoin de la virtualisation d'application.

Jon Rhoades
la source
5
Un de mes processus a été mal écrit et très peu sûr, la direction ne veut pas y remédier car ce serait "trop ​​cher". Je m'attends à ce que ce processus soit finalement possédé et je veux limiter l'impact sur mon système. Si vous croyez vraiment qu'il n'y a rien à gagner, alors vous devez en savoir plus sur les chroots.
Tour
1
@Rook Parce que sous Windows, vous pouvez avoir des droits d'accès séparés de la disposition du système de fichiers. Mis à part vos battements de poitrine dans la section des commentaires de cette réponse , c'est l'approche que la plupart des gens adoptent pour isoler des parties du système de fichiers d'un processus qui n'est pas autorisé à y accéder; donnez simplement à l'utilisateur que le processus est démarré sous accès au sous-ensemble du système de fichiers et des services dont il a besoin.
Asad Saeeduddin
@Asad Saeeduddin En parlant de systèmes de fichiers, Windows n'exécute-t-il pas uniquement les exécutables non approuvés trouvés sur une clé USB ? En quelle année sommes-nous?
Tour
J'ai un besoin spécifique, pas lié à la sécurité - ce programme que je porte s'attend à fonctionner sur son propre système de fichiers racine, et ce serait un effort énorme de le porter pour utiliser correctement les répertoires actuels. Heureusement, il fonctionne indépendamment du système de fichiers - sous Windows, il s'étendra simplement à la racine du lecteur sur lequel il est exécuté. Si je pouvais simplement "alias" le répertoire racine de Windows dans un sous-répertoire, ce serait beaucoup plus propre et plus facile à suivre, donc vouloir chroot.
Fund Monica's Lawsuit
7

Sandboxie http://www.sandboxie.com/

Pas exactement comme chroot. Il configure un bac à sable pour chaque programme que vous spécifiez. Il peut facilement isoler les processus.

Jason Berg
la source
2

Je n'utiliserais rien de tel, vous exécutez sous Windows mate.

NTFS possède les droits d'accès les plus fins que vous puissiez trouver. Il n'est pas difficile de laisser un processus démarrer avec un utilisateur privilégié inférieur et de ne donner à cet utilisateur qu'un accès aux fichiers de cette seule application.

Pas besoin d'utiliser quelque chose comme chroot, qui n'est pas un outil de sécurité, quand vous pouvez déjà définir quel utilisateur est autorisé à faire quoi dans quel répertoire.

Ce n'est pas différent que de donner à Apache sous Linux son propre utilisateur, uniquement autorisé à travailler dans ses dossiers.

D'accord Dokey
la source
2
C'est la bonne réponse pour expliquer pourquoi chroot n'est pas nécessaire
Jim B
@rook, puis ils n'ont pas suivi les livres blancs BPSAD et PTH pour éliminer les attaques de ticket d'or. Pour autant que je sache, cela ne fonctionne que sur le trottoir basé sur * nix.
Jim B
La compartimentation de @Jim B peut sembler étrangère dans une plate-forme qui accorde régulièrement des droits administratifs au navigateur, à la base de données et au serveur Web. cependant, les bacs à sable sont une mesure essentielle de défense en profondeur, quelle que soit la plate-forme.
Tour
@rook, je pense que vous confondez les droits avec l'isolement, Windows isole les processus par défaut. Les processus ne peuvent accéder à / intégrer avec ou affecter un autre processus que s'il y est autorisé.
Jim B
@ JimB, je ne pense pas (donc à moins d'avoir complètement mal compris votre commentaire). Le démarrage d'un processus dans Windows 7, par exemple, ne vous donne aucune invite de sécurité et par la suite, le processus peut lire 90% de votre lecteur de stockage sans avoir à demander à aucun processus système à ce sujet. Ce n'est que s'il essaie de modifier, par exemple "C: \ Program Files" que le système d'exploitation peut se gifler, mais ce n'est pas de la sécurité, ce sont des éléments fondamentaux à peine couverts.
dimitarvp