Existe uma janela equivalente ao chroot?

24

Em um sistema * nix, posso usar um chroot para isolar dois processos um do outro e do resto do sistema. Existe algum sistema de segurança semelhante no Windows? Ou existe alguma maneira de impedir que dois processos leiam / gravem nos arquivos uns dos outros?

Torre
fonte
1
Não sei se a etiqueta de segurança se justifica aqui. kerneltrap.org/Linux/Abusing_chroot
MDMarra
1
@The Rook - Em que a discussão kerneltrap, devs do kernel discutir o fato de que chroot nunca foi destinado a ser um dispositivo de segurança /
MDMarra
1
@ The Rook - Certo, eu estava simplesmente dizendo que você pode querer reformular a pergunta. Houve extensões para chroot ou giros no conceito (como cadeias) que foram projetadas com a segurança em mente. Na sua postagem, você se refere ao chroot como um dispositivo de segurança, que nunca deveria ser.
MDMarra 18/07
1
@ Nathan Adams Eu concordo, mas "segurança em camadas".
Rook
1
Parece que eu perguntei algo bastante semelhante aqui . Você já conseguiu configurar isso no Windows Server? A resposta que você aceite nem explica como fazer isso, nem diz que não é possível ...
RomanSt

Respostas:

5

Não tenho certeza de que você ganhará algo no Windows fazendo chrooting - você tem uma necessidade específica?

Caso algum dos principais resultados no google seja http://www.winquota.com/wj/ .

Talvez a virtualização de aplicativos possa ser uma opção? A Microsoft tem o seguinte a dizer sobre isso:

Em um ambiente físico, todo aplicativo depende de seu sistema operacional para uma gama de serviços, incluindo alocação de memória, drivers de dispositivo e muito mais. Incompatibilidades entre um aplicativo e seu sistema operacional podem ser tratadas pela virtualização de servidores ou virtualização de apresentações; mas para incompatibilidades entre dois aplicativos instalados na mesma instância de um sistema operacional, você precisa do Application Virtualization.

Jon Rhoades
fonte
5
Um dos meus processos foi mal escrito e muito inseguro, a gerência não deseja corrigi-lo porque seria "muito caro". Espero que esse processo seja controlado eventualmente e quero limitar o impacto no meu sistema. Se você realmente acredita que não há nada a ganhar, deve ler mais sobre chroots.
Rook
1
@Rook Porque no Windows você pode ter direitos de acesso separados do layout do sistema de arquivos. Deixando de lado sua seção na seção de comentários desta resposta , essa é a abordagem que muitas pessoas adotam para isolar partes do sistema de arquivos de um processo que não está autorizado a acessá-lo; simplesmente dê ao usuário que o processo é iniciado sob acesso ao subconjunto do sistema de arquivos e serviços de que ele precisa.
Asad Saeeduddin
@Asad Saeeduddin Falando em sistemas de arquivos, o Windows não executa apenas executáveis ​​não confiáveis ​​encontrados em um dispositivo USB ? Em que ano estamos?
Rook
Eu tenho uma necessidade específica, não relacionada à segurança - este programa que estou iniciando espera operar em seu próprio sistema de arquivos raiz, e seria um grande esforço portá-lo para usar os diretórios atuais corretamente. Felizmente, ele funciona independentemente do sistema de arquivos - no Windows, ele se espalha pela raiz de qualquer unidade em que é executada. Se eu pudesse "colocar o alias" do diretório raiz no Windows em algum subdiretório, seria muito mais limpo e fácil de acompanhar, portanto, desejando chroot.
Fund Monica's Processo
7

Sandboxie http://www.sandboxie.com/

Não é exatamente como o chroot. Ele configura uma caixa de proteção para cada programa que você especificar. Pode facilmente manter os processos isolados.

Jason Berg
fonte
2

Eu não usaria nada assim, você está executando o Windows mate.

O NTFS possui os direitos de acesso mais refinados que você pode encontrar. Não é difícil permitir que um processo inicie com um usuário com menos privilégios e apenas conceda a esse usuário acesso aos arquivos desse aplicativo único.

Não é necessário usar algo como chroot, que não é uma ferramenta de segurança, quando você já pode definir qual usuário pode fazer o que em que diretório.

Não é diferente de dar o próprio usuário do Apache no Linux, apenas trabalhando dentro de suas pastas.

Okay Dokey
fonte
2
Esta é a resposta correta a respeito de porque chroot não é necessário
Jim B
@rook, eles falharam em seguir os whitepapers BPSAD e PTH para eliminar ataques de bilhetes dourados. Tanto quanto sei, ainda funciona apenas no meio-fio baseado em * nix.
Jim B
A compartimentalização de @Jim B pode parecer estranha em uma plataforma que rotineiramente concede direitos administrativos ao navegador, banco de dados e servidor da web. no entanto, as caixas de areia são uma medida essencial de defesa em profundidade, independentemente da plataforma.
Rook
@rook, acho que você está confundindo direitos com isolamento, o Windows isola processos por padrão. Os processos só podem acessar / integrar ou afetar outro processo se ele tiver permissão.
Jim B
@ JimB, eu não acho (então, a menos que eu não entendi completamente o seu comentário). Iniciar um processo no Windows 7, por exemplo, não fornece nenhum prompt de segurança e, posteriormente, o processo pode ler 90% da sua unidade de armazenamento sem precisar perguntar a qualquer processo do sistema. Somente se ele tentar modificar, diga "C: \ Arquivos de Programas", o sistema operacional poderá dar um tapa nos pulsos, mas isso não é segurança, é essencial que os fundamentos fundamentais não sejam cobertos.
Dimitarvp