Czy istnieje okno równoważne chrootowi?

24

W systemie * nix mogę użyć chroota, aby odizolować dwa procesy od siebie i od reszty systemu. Czy pod systemem Windows jest podobny system bezpieczeństwa? Czy jest jakiś sposób, aby uniemożliwić dwóm procesom odczyt / zapis do plików innych użytkowników?

Wieża
źródło
1
Nie jestem pewien, czy etykieta zabezpieczająca jest tutaj uzasadniona. kerneltrap.org/Linux/Abusing_chroot
MDMarra
1
@ The Rook - W dyskusji na temat jądra jądra deweloperzy dyskutują o tym, że chroot nigdy nie miał być urządzeniem zabezpieczającym /
MDMarra
1
@ The Rook - Racja, mówiłem po prostu, że możesz przeformułować pytanie. Pojawiły się rozszerzenia do chroot lub spinów w koncepcji (np. Więzienia), które zostały zaprojektowane z myślą o bezpieczeństwie. W swoim poście określasz chroota jako urządzenie zabezpieczające, tak jak nigdy nie miało być.
MDMarra
1
@Nathan Adams Zgadzam się, ale „bezpieczeństwo w warstwach”.
Rook
1
Wygląda na to, że poprosiłem tutaj o coś podobnego . Czy zdarzyło Ci się kiedykolwiek skonfigurować to w systemie Windows Server? Odpowiedź, którą zaakceptowałeś, nie wyjaśnia, jak to zrobić, ani nie mówi, że nie jest to możliwe ...
RomanSt

Odpowiedzi:

5

Nie jestem pewien, czy zyskasz cokolwiek na Windowsie przez chrootowanie - czy masz szczególną potrzebę?

W przypadku jakiegokolwiek najlepszego wyniku w google jest http://www.winquota.com/wj/ .

Może wirtualizacja aplikacji może być opcją? Microsoft ma do powiedzenia na ten temat:

W środowisku fizycznym każda aplikacja zależy od systemu operacyjnego w zakresie usług, w tym alokacji pamięci, sterowników urządzeń i wielu innych. Niezgodności między aplikacją a jej systemem operacyjnym można rozwiązać za pomocą wirtualizacji serwera lub wirtualizacji prezentacji; ale w przypadku niezgodności między dwiema aplikacjami zainstalowanymi w tej samej instancji systemu operacyjnego wymagana jest wirtualizacja aplikacji.

Jon Rhoades
źródło
5
Jeden z moich procesów był źle napisany i bardzo niepewny, zarząd nie chce go naprawić, ponieważ byłoby to „zbyt drogie”. Oczekuję, że ten proces w końcu stanie się własnością i chcę ograniczyć wpływ na mój system. Jeśli naprawdę wierzysz, że nie ma nic do zyskania, musisz przeczytać więcej o chrootach.
Rook
1
@Rook Ponieważ w systemie Windows możesz mieć prawa dostępu oddzielone od układu systemu plików. Pomijając bicie w klatce piersiowej w sekcji komentarzy tej odpowiedzi , takie podejście większość ludzi stosuje do izolowania części systemu plików przed procesem, który nie jest upoważniony do uzyskania do niego dostępu; po prostu daj użytkownikowi, że proces jest uruchamiany z dostępem do podzbioru systemu plików i potrzebnych mu usług.
Asad Saeeduddin
@Asad Saeeduddin Mówiąc o systemach plików, czy Windows nie tylko automatycznie uruchamia niezaufane pliki wykonywalne znalezione na pamięci USB ? Jaki jest rok
Rook
Mam konkretną potrzebę, niezwiązaną z bezpieczeństwem - ten program, który przesyłam, oczekuje działania na własnym głównym systemie plików, a przeniesienie go do prawidłowego korzystania z bieżących katalogów byłoby ogromnym wysiłkiem. Na szczęście działa niezależnie od systemu plików - w systemie Windows rozłoży się po całym katalogu głównym dysku, na którym jest uruchomiony. Gdybym mógł po prostu „aliasować” katalog główny w systemie Windows do jakiegoś podkatalogu, byłoby o wiele czystsze i łatwiejsze do śledzenia, stąd chroot.
Pozew Fund Moniki
7

Sandboxie http://www.sandboxie.com/

Niezupełnie jak chroot. Konfiguruje piaskownicę dla każdego określonego programu. Może łatwo utrzymać procesy w izolacji.

Jason Berg
źródło
2

Nie użyłbym czegoś takiego, działasz pod oknem Windows.

NTFS ma najbardziej szczegółowe prawa dostępu, jakie można znaleźć. Nietrudno jest pozwolić prozess na rozpoczęcie pracy z niższym uprzywilejowanym użytkownikiem, a jedynie dając temu użytkownikowi dostęp do plików tej pojedynczej aplikacji.

Nie trzeba używać czegoś takiego jak chroot, który nie jest narzędziem bezpieczeństwa, gdy można już zdefiniować, który użytkownik może robić co w danym katalogu.

Nie różni się niczym od nadania Apache'owi pod Linuksem własnego użytkownika, który może pracować tylko w jego folderach.

Okej Dokey
źródło
2
To jest prawidłowa odpowiedź na pytanie, dlaczego chroot nie jest potrzebny
Jim B
@rook, a następnie nie przestrzegali oficjalnych dokumentów BPSAD i PTH, aby wyeliminować ataki na złote bilety. O ile wiem, nadal działa tylko na krawężniku opartym na * nix.
Jim B
Podział @Jim B może wydawać się obcy na platformie, która rutynowo przyznaje prawa administracyjne do przeglądarki, bazy danych i serwera WWW. piaskownice są jednak kwintesencją niezbędnej dogłębnej obrony bez względu na platformę.
Wież
@rook, myślę, że mylisz prawa z izolacją, Windows domyślnie izoluje procesy. Procesy mogą uzyskiwać dostęp / integrować się z innym procesem lub wpływać na niego tylko wtedy, gdy mają na to pozwolenie.
Jim B
@JimB, nie sądzę (chyba, że ​​całkowicie źle zrozumiałem twój komentarz). Na przykład uruchomienie procesu w systemie Windows 7 nie powoduje wyświetlenia monitu dotyczącego bezpieczeństwa, a następnie proces może odczytać 90% dysku pamięci masowej bez konieczności zadawania o to jakiegokolwiek procesu systemowego. Tylko jeśli spróbuje to zmienić, powiedz „C: \ Program Files”, wtedy system operacyjny może uderzyć się w nadgarstki, ale to nie jest bezpieczeństwo, to podstawowa podstawa, którą ledwo trzeba uwzględnić.
dimitarvp