Wann ist es angemessen / umsichtig, Chroot zu verwenden?

9

Ich höre von der Notwendigkeit, BIND die ganze Zeit zu chrooten. Meinetwegen. Aber was ist mit anderen Programmen? Was sind die "Regeln" (entweder persönlich oder allgemein anerkannt / etabliert) für die Entscheidung, welche Programme inhaftiert werden sollen?

-M

Mike B.
quelle

Antworten:

5

Im Allgemeinen möchten Sie chroot aus mehreren Gründen verwenden:

  • Benötigen Sie eine andere Distribution / Architektur / Distribution-Version, ohne OpenVZ oder eine virtuelle Maschine verwenden zu wollen. Zum Beispiel verwende ich chroots, um sowohl i386- als auch amd64-Kompilierungsumgebungen auf einem amd64-Computer zu haben.
  • Beschränken des Zugriffs auf das System auf Benutzer. Beispielsweise können Sie chroot zusammen mit scponly verwenden, um die Befehle einzuschränken, auf die Benutzer Zugriff haben. Dies ist ein sehr begrenztes Gefängnissystem, da sie beispielsweise immer noch Zugriff auf das Netzwerk haben.
  • Beschränken des Zugriffs auf das System auf Programme. Im Allgemeinen möchten Sie dies möglicherweise hauptsächlich für Dämonen wie Binden oder Apache tun. Auf diese Weise haben diese Programme keinen direkten Zugriff auf das System. Wenn ein Angreifer also eine Sicherheitsverletzung des Programms ausnutzen könnte, würde er nicht direkt auf das System zugreifen, sondern sich in der Chroot befinden. Dies trägt zur Verbesserung der Sicherheit bei, ist jedoch keine Garantie für die Sicherheit Ihres Systems.
ℝaphink
quelle
12

Wenn die Antwort nicht "aus Sicherheitsgründen" lautet. Siehe Chroot missbrauchen .

Als vorgeschlagen wurde, dass chroot häufig als Sicherheitstool verwendet wird, erwiderte Adrian Bunk: "Inkompetente Personen, die Sicherheitslösungen implementieren, sind ein echtes Problem." Alan fügte hinzu: "chroot ist kein Sicherheitstool und war es auch nie. Die Leute haben Dinge basierend auf den Eigenschaften von chroot erstellt, aber erweitert (BSD-Jails, Linux vserver), aber sie sind ganz anders."

gestürzter Wagen
quelle
Das sind Neuigkeiten für mich ... sehr interessant.
Joseph Kern
6

Wenn Sie ein Programm haben, für das eine Reihe / Versionen von Bibliotheken erforderlich sind, die sich von den auf Ihrem System installierten unterscheiden, ist dies ein guter Kandidat für eine "chrooted" -Installation.

chroot ist auch praktisch, um verschiedene Versionen der Linux-Distribution in der eigenen Umgebung zu installieren, ohne eine VM oder einen Emulator zu verwenden ( Einrichten einer Debian-chroot unter Red Hat ).

Laurent Parenteau
quelle
-2

Es hängt alles davon ab, wie paranoid du bist. In den meisten Fällen sollte jeder Dienst aus Sicherheitsgründen chrooted werden. Es ist jedoch möglicherweise nicht möglich, dies für alles zu tun, da es etwas mühsam werden kann, alles zu replizieren. Eine andere Möglichkeit, die für Isolationszwecke in Betracht gezogen werden sollte, ist die Verwendung von leichten virtuellen Maschinen wie OpenVZ / VServer, die im Wesentlichen nur chroot ähneln.

Sybreon
quelle