Esiste una finestra equivalente a chroot?


24

Su un sistema * nix posso usare un chroot per isolare due processi l'uno dall'altro e dal resto del sistema. Esiste un sistema di sicurezza simile sotto Windows? O c'è un modo per impedire a due processi di leggere / scrivere sui file degli altri?


1
Non sono sicuro che il tag di sicurezza sia garantito qui. kerneltrap.org/Linux/Abusing_chroot
MDMarra,

1
@The Rook - In quella discussione di kerneltrap, gli sviluppatori del kernel discutono del fatto che chroot non è mai stato progettato per essere un dispositivo di sicurezza /
MDMarra,

1
@ The Rook - Giusto, stavo semplicemente dicendo che potresti voler riformulare la domanda. Ci sono state estensioni di chroot o spin sul concetto (come le jail) che sono state progettate pensando alla sicurezza. Nel tuo post, ti riferisci a chroot come un dispositivo di sicurezza, che non è mai stato previsto.
MDMarra,

1
@Nathan Adams Sono d'accordo, ma "sicurezza nei livelli".
Rook,

1
Sembra che abbia chiesto qualcosa di abbastanza simile qui . Sei mai riuscito a configurarlo su Windows Server? La risposta che hai accettato non spiega come farlo, né dice che non è possibile ...
RomanSt

Risposte:


5

Non sono sicuro che guadagnerai qualcosa su Windows eseguendo il chrooting: hai un bisogno specifico?

Nel caso in cui uno dei migliori risultati su Google sia http://www.winquota.com/wj/ .

Forse la virtualizzazione dell'applicazione potrebbe essere un'opzione? Microsoft ha da dire in proposito:

In un ambiente fisico, ogni applicazione dipende dal proprio sistema operativo per una serie di servizi, tra cui allocazione della memoria, driver di dispositivo e molto altro. Le incompatibilità tra un'applicazione e il suo sistema operativo possono essere risolte mediante virtualizzazione del server o virtualizzazione della presentazione; ma per incompatibilità tra due applicazioni installate sulla stessa istanza di un sistema operativo, è necessaria la virtualizzazione dell'applicazione.


5
Uno dei miei processi è stato scritto male e molto insicuro, la direzione non vuole ripararlo perché sarebbe "troppo costoso". Mi aspetto che questo processo alla fine diverrà di proprietà e voglio limitare l'impatto sul mio sistema. Se credi davvero che non ci sia nulla da guadagnare, allora devi leggere di più sui chroot.
Rook,

1
@Rook Perché su Windows puoi avere diritti di accesso separati dal layout del filesystem. A parte il tuo torace nella sezione commenti di questa risposta , questo è l'approccio che la maggior parte delle persone adotta per isolare parti del file system da un processo che non è autorizzato ad accedervi; è sufficiente dare all'utente l'avvio del processo con l'accesso al sottoinsieme del filesystem e dei servizi di cui ha bisogno.
Asad Saeeduddin,

@Asad Saeeduddin Parlando di filesystem, Windows non esegue semplicemente l'esecuzione automatica di eseguibili non attendibili trovati su una chiavetta USB ? Che anno è?
Rook

Ho un bisogno specifico, non legato alla sicurezza: questo programma che sto effettuando il porting prevede di operare sul proprio filesystem di root, e sarebbe un grande sforzo portarlo per usare correttamente le attuali directory. Per fortuna, funziona in modo indipendente dal filesystem - su Windows, si espanderà sulla radice di qualsiasi unità su cui è in esecuzione. Se solo potessi "alias" la directory principale di Windows in qualche sottodirectory, sarebbe molto più pulito e più facile da tenere traccia, quindi volendo chroot.
Finanzia la causa di Monica il


2

Non userei nulla del genere, stai funzionando con Windows Mate.

NTFS ha i diritti di accesso più precisi che puoi trovare. Non è difficile consentire l'avvio di un processo con un utente con privilegi inferiori e concedere a tale utente l'accesso ai file di questa singola applicazione.

Non c'è bisogno di usare qualcosa come chroot, che non è uno strumento di sicurezza, quando puoi già definire a quale utente è permesso fare cosa in quale directory.

Non è diverso da come dare ad Apache sotto Linux un proprio utente, ha permesso solo di lavorare all'interno delle sue cartelle.


2
Questa è la risposta corretta sul perché non è necessario chroot
Jim B,

@rook, quindi non sono riusciti a seguire i white paper BPSAD e PTH per eliminare gli attacchi dei biglietti d'oro. Per quanto ne so, funziona ancora solo su un marciapiede basato su * nix.
Jim B,

La compartimentazione di @Jim B può sembrare estranea in una piattaforma che garantisce abitualmente diritti amministrativi al browser, al database e al server web. tuttavia, i sandbox sono una misura essenziale di difesa essenziale, indipendentemente dalla piattaforma.
Rook,

@rook, penso che tu stia confondendo i diritti con l'isolamento, Windows isola i processi di default. I processi possono accedere / integrare con o influenzare un altro processo solo se dispone dell'autorizzazione.
Jim B,

@JimB, non credo (quindi a meno che non abbia frainteso del tutto il tuo commento). L'avvio di un processo in Windows 7, ad esempio, non ti dà alcuna richiesta di sicurezza e in seguito il processo può leggere il 90% dell'unità di archiviazione senza dover mai chiedere alcun processo di sistema al riguardo. Solo se prova a modificare, dì "C: \ Programmi", allora il sistema operativo può schiaffeggiarlo ma non è sicurezza, sono elementi essenziali a malapena coperti.
dimitarvp,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.