Gibt es ein Fenster, das Chroot entspricht?

24

Auf einem * nix-System kann ich mit einer Chroot zwei Prozesse voneinander und vom Rest des Systems isolieren. Gibt es ein ähnliches Sicherheitssystem unter Windows? Oder gibt es eine Möglichkeit, um zu verhindern, dass zwei Prozesse in die anderen Dateien lesen / schreiben?

Turm
quelle
1
Ich bin nicht sicher, ob das Sicherheitsetikett hier garantiert ist. kerneltrap.org/Linux/Abusing_chroot
MDMarra
1
@ The Rook - In dieser Kerneltrap-Diskussion diskutieren Kernel-Entwickler die Tatsache, dass chroot nie als Sicherheitsgerät gedacht war /
MDMarra
1
@ The Rook - Richtig, ich habe nur gesagt, dass Sie die Frage möglicherweise umformulieren möchten. Es gab Erweiterungen für Chroot oder Spins des Konzepts (wie Jails), die mit Blick auf die Sicherheit entwickelt wurden. In Ihrem Beitrag bezeichnen Sie chroot als ein Sicherheitsgerät, für das es nie gedacht war.
MDMarra
1
@ Nathan Adams Ich stimme zu, aber "Sicherheit in Schichten".
Turm
1
Sieht so aus, als hätte ich hier etwas ziemlich Ähnliches gefragt . Haben Sie es jemals geschafft, dies auf Windows Server einzurichten? Die Antwort, die Sie akzeptiert haben, erklärt weder, wie man das macht, noch sagt sie, dass es nicht möglich ist ...
RomanSt

Antworten:

5

Ich bin mir nicht sicher, ob Sie mit chrooting unter Windows etwas erreichen können. Haben Sie ein spezielles Bedürfnis?

Für den Fall, dass eines der Top-Ergebnisse bei Google http://www.winquota.com/wj/ ist .

Vielleicht ist eine Anwendungsvirtualisierung eine Option? Microsoft hat dazu Folgendes zu sagen:

In einer physischen Umgebung hängt jede Anwendung von ihrem Betriebssystem für eine Reihe von Diensten ab, einschließlich Speicherzuweisung, Gerätetreibern und vielem mehr. Inkompatibilitäten zwischen einer Anwendung und ihrem Betriebssystem können durch Servervirtualisierung oder Präsentationsvirtualisierung behoben werden. Für Inkompatibilitäten zwischen zwei Anwendungen, die auf derselben Instanz eines Betriebssystems installiert sind, ist jedoch eine Anwendungsvirtualisierung erforderlich.

Jon Rhoades
quelle
5
Einer meiner Prozesse war schlecht geschrieben und sehr unsicher, das Management möchte ihn nicht reparieren, weil er "zu teuer" wäre. Ich gehe davon aus, dass dieser Prozess irgendwann in Besitz genommen wird und ich möchte die Auswirkungen auf mein System begrenzen. Wenn Sie wirklich glauben, dass es nichts zu gewinnen gibt, müssen Sie mehr über Chroots lesen.
Rook
1
@Rook Da unter Windows die Zugriffsrechte vom Dateisystemlayout getrennt sein können. Abgesehen von Ihrem Herzklopfen im Kommentarbereich dieser Antwort ist dies der Ansatz, den die meisten Leute verfolgen , um Teile des Dateisystems von einem Prozess zu isolieren, der nicht zum Zugriff darauf berechtigt ist. Geben Sie dem Benutzer einfach den Prozess, der unter Zugriff auf die Teilmenge des Dateisystems und der Dienste gestartet wird, die er benötigt.
Asad Saeeduddin
@Asad Saeeduddin Apropos Dateisystem, führt Windows nicht einfach nicht vertrauenswürdige ausführbare Dateien auf einem USB- Stick automatisch aus ? Welches Jahr ist es?
Turm
Ich habe ein spezielles Bedürfnis, das nicht sicherheitsrelevant ist - dieses Programm, das ich portiere, wird voraussichtlich auf einem eigenen Root-Dateisystem laufen, und es wäre ein gewaltiger Aufwand, es zu portieren, um die aktuellen Verzeichnisse korrekt zu verwenden. Zum Glück funktioniert es unabhängig vom Dateisystem - unter Windows wird es sich nur über das Stammverzeichnis des Laufwerks ausbreiten, auf dem es ausgeführt wird. Wenn ich nur das Stammverzeichnis in Windows auf ein Unterverzeichnis "aliasen" könnte, wäre es viel übersichtlicher und einfacher, den Überblick zu behalten, und daher möchte ich chroot.
Fund Monica Klage
7

Sandboxie http://www.sandboxie.com/

Nicht gerade wie Chroot. Es wird eine Sandbox für jedes von Ihnen angegebene Programm eingerichtet. Es kann Prozesse leicht isoliert halten.

Jason Berg
quelle
2

Ich würde so etwas nicht verwenden, Sie laufen unter Windows Mate.

NTFS verfügt über die detailliertesten Zugriffsrechte, die Sie finden können. Es ist nicht schwer, einen Prozess mit einem Benutzer mit geringeren Berechtigungen zu beginnen und diesem Benutzer nur Zugriff auf die Dateien dieser einzelnen Anwendung zu gewähren.

Sie müssen nicht so etwas wie chroot verwenden, das kein Sicherheitstool ist, wenn Sie bereits definieren können, welcher Benutzer was in welchem ​​Verzeichnis tun darf.

Es ist nicht anders als dem Apache unter Linux einen eigenen Benutzer zu geben, der nur in seinen Ordnern arbeiten darf.

Okay Dokey
quelle
2
Dies ist die richtige Antwort, warum Chroot nicht benötigt wird
Jim B
@rook, dann folgten sie nicht den Whitepapers von BPSAD und PTH, um Angriffe auf goldene Tickets zu eliminieren. Soweit ich weiß, funktioniert das nur noch auf * nix-basierten Bordsteinen.
Jim B
Die Unterteilung von @Jim B klingt auf einer Plattform, die routinemäßig Administratorrechte für den Browser, die Datenbank und den Webserver gewährt, möglicherweise fremd. Sandkästen sind jedoch eine unverzichtbare Tiefenverteidigungsmaßnahme, unabhängig von der Plattform.
Rook
@rook, ich denke du verwechselst Rechte mit Isolation, Windows isoliert Prozesse standardmäßig. Prozesse können nur mit entsprechender Berechtigung auf einen anderen Prozess zugreifen / diesen integrieren oder diesen beeinflussen.
Jim B
@ JimB, ich glaube nicht (es sei denn, ich habe deinen Kommentar völlig falsch verstanden). Wenn Sie beispielsweise einen Prozess in Windows 7 starten, erhalten Sie keine Sicherheitsabfrage. Anschließend kann der Prozess 90% Ihres Speicherlaufwerks lesen, ohne jemals einen Systemprozess danach fragen zu müssen. Nur wenn versucht wird, Änderungen vorzunehmen, z. B. "C: \ Programme", kann das Betriebssystem seine Handgelenke schlagen, dies ist jedoch keine Sicherheit, da die grundlegenden Elemente kaum abgedeckt werden.
dimitarvp