www.wikidata.de-de.nina.az
chroot steht fur change root und ist eine Funktion unter Unix Systemen um das Rootverzeichnis zu andern Sie wirkt sich nur auf den aktuellen Prozess und seine Kindprozesse aus chroot selbst kann sich sowohl auf den Systemaufruf chroot 2 als auch auf das Dienstprogramm chroot 8 beziehen Ein Programm das auf ein Verzeichnis gerootet wurde und keine offenen Dateideskriptoren im Bereich ausserhalb des virtuellen Root Verzeichnisses besitzt kann bei korrekter Implementierung des Betriebssystemkerns nicht mehr auf Dateien ausserhalb dieses Verzeichnisses zugreifen chroot bietet somit eine einfache Moglichkeit um nicht vertrauenswurdige Test oder sonst wie gefahrliche Programme in eine Sandbox zu versetzen Es ist ein einfacher Jail Mechanismus aus dem aber durchaus leicht wieder ausgebrochen werden kann chroot wurde nicht als Sicherheitsfeature entworfen sondern primar fur das Aufsetzen virtueller Umgebungen verwendet Die erste grossere bekannte Anwendung war in Network Software Engineering NSE auf SunOS im Jahr 1986 Dort war ein Verlassen der Umgebung mit fchroot 1 moglich und dokumentiert In der Praxis wird Chrooting dadurch erschwert dass Programme beim Start erwarten Platz fur temporare Dateien Konfigurationsdateien Geratedateien und Programmbibliotheken an bestimmten festen Orten vorzufinden Um diese Programme innerhalb des chroot Verzeichnisses laufen zu lassen muss das Verzeichnis mit diesen notwendigen Dateien ausgestattet werden Inhaltsverzeichnis 1 Sicherheitsfeature oder nicht 2 Einsatz 3 Nachteile 4 Siehe auch 5 Weblinks 6 EinzelnachweiseSicherheitsfeature oder nicht BearbeitenOb chroot Umgebungen ein Sicherheitsfeature sind um einzelne Computerprogramme gegenuber dem Gesamtrechner abzuschotten hangt stark von der Ansicht der Schopfer des jeweiligen Betriebssystems ab Unix BSD Systeme versuchen Prozesse der b chroot 2 b Umgebung nicht herauszulassen also einzusperren Ein erstes Aufkommen eines weitgefassten Begriffs jail Gefangnis in diesem Sinn ist seit 1991 mit Bezug auf die Unix Distribution 4 3BSD belegt 1 Zum Beispiel ist eine Rechteausweitung aus b chroot 8 b heraus unter NetBSD sehr schwierig 2 Geschichtlich bieten BSD Systeme seit dem Jahr 2000 Virtualisierung auf Betriebssystems Ebene bei der der Kernel von mehreren isolierten rundum abgeschlossenen Einheiten user space Instanzen Umgebungen benutzt wird Vorreiter war die FreeBSD Distribution welche mit ihrer Version 4 0 2000 das Unix Kommando b jail 8 b 3 bereitstellte um Prozess Umgebungen sicher voneinander abzuschotten 4 Hieraus folgte bis zum Jahr 2004 die Pragung des Begriffs jailbreak 5 In Solaris wurde chroot vor Solaris 10 nicht als Sicherheitsfeature bezeichnet und deshalb auch kein Problem darin gesehen wenn sich ein Programm aus dieser Umgebung befreien kann Das Ausbrechen ist sogar explizit dokumentiert Um Prozesse gegeneinander abzuschotten gibt es seit dem Jahr 2005 mit Solaris 10 das Konzept der Solaris Container auch Zonen das auf b chroot 2 b aufbaut und als chroot on steroids bezeichnet wurde 6 In Solaris 10 und spateren Versionen wurden jedoch viele weitere Eigenschaften hinzugefugt und auch Dateisysteme wie das proc Filesystem explizit gegen chroot gesichert 7 Linux Auch unter Linux wird chroot nicht als Sicherheitsfeature bezeichnet Wie der Benutzer root eine chroot Umgebung verlassen kann ist in der b chroot 2 b Manpage dokumentiert Ab dem Jahr 2008 konnen mithilfe der LinuX Container LXC virtuelle user space Umgebungen mit eigenen Prozessen erschaffen werden die einen gemeinsamen Linux Kernel nutzen 8 9 Auf LXC baut die GNU Linux Software Docker 2013 auf die Anwendungen mithilfe von Betriebssystemvirtualisierung in Containern isoliert 10 11 Einsatz BearbeitenRechtetrennung Ein chroot kann als Vorsorgemassnahme gegen einen Sicherheitsbruch eingesetzt werden indem es einen potentiellen Angreifer daran hindert mit einem kompromittierten Programm Schaden anzurichten oder das System zu sondieren Beispielsweise kann ein Dateiserver im Netzwerk das Verzeichnis aus dem er einen Client bedient direkt nach der Verbindungsaufnahme chrooten Einen ahnlichen Ansatz verfolgt der Mail Transfer Agent Postfix der seine Aufgabe auf mehrere kleine hintereinander geschaltete Programme aufteilt die jedes fur sich in eigenen Chroots laufen Ein guter Einsatz ist chroot auch fur FTP Server damit FTP User nicht aus ihrem home Verzeichnis in ein anderes Verzeichnis wechseln konnen Honeypot Ein chroot Verzeichnis kann so bestuckt werden dass ein echtes System mit Netzwerkdiensten simuliert wird Der chroot Mechanismus kann dann Angreifer daran hindern zu erkennen dass sie sich in einer kunstlichen Umgebung jail 1 befinden oder in das echte System auszubrechen Testen Die durch den chroot Mechanismus erreichte Isolation ist auch zu Testzwecken nutzlich In ein solches Verzeichnis kann eine eigene Kopie des Betriebssystems installiert werden und als Testumgebung fur Software dienen deren Einsatz in einem Produktivsystem zu riskant ware Reparatur Um ein Linux Unix System mit Hilfe einer Boot CD zu reparieren kann chroot genutzt werden um auf dem eingemounteten System zu arbeiten So kann beispielsweise ein vergessenes Root Passwort wiederhergestellt werden Installation eines Betriebssystems Die Installation einiger Linux Distributionen ist nur uber die Kommandozeile moglich Deswegen ist es notig nach dem Entpacken des Distributionsarchives in eine neue Partition mit chroot die neue Systemumgebung zu betreten 12 Nachteile BearbeitenNur der Benutzer root kann chroot ausfuhren Dies soll normale Benutzer davon abhalten ein setuid Programm innerhalb einer speziell angefertigten Chroot Umgebung zu platzieren z B mit einer falschen etc passwd Datei welche es dazu bringen wurde Rechte zu vergeben Es hindert jedoch auch Nicht Root Benutzer an der Verwendung des chroot Mechanismus um eine eigene Sandbox zu erstellen schroot erlaubt Nutzern ein chroot openroot stellt viele erweiterte Funktionen zur Verfugung wie etwa X11 Forwarding fur GUI Programme Der chroot Mechanismus selbst ist nicht ganzlich sicher Wenn ein Programm in einer chroot Umgebung Root Rechte besitzt kann es unter Linux oder Solaris eine verschachtelte chroot Umgebung verwenden um aus der ersten auszubrechen 13 Da die meisten Unix Systeme nicht komplett dateisystemorientiert sind bleiben potenziell gefahrliche Funktionalitaten wie die Kontrolle uber Netzwerk und Prozesse durch Systemaufrufe einem gechrooteten Programm verfugbar Der chroot Mechanismus selbst verhangt auch keine Einschrankungen uber Ressourcen wie I O Bandbreite Plattenplatz oder CPU Zeit Siehe auch BearbeitenOpenVZ Eine Virtualisierungslosung die ahnlich wie chroot arbeitet aber besser abschottet 14 Weblinks BearbeitenLinux b chroot 8 b einen Befehl oder eine interaktive Shell mit einem speziellen Wurzelverzeichnis ausfuhren Debian GNU Linux Systemverwaltung Handbuchseite b chroot 2 b Wurzelverzeichnis wechseln Debian GNU Linux Systemaufrufe Handbuchseite a href http www elstel org xchroot xchroot a chroot fur Benutzer von Xorg X11 und aufs unionfsUnix a href https www freebsd org cgi man cgi jail 288 29 jail 8 a Management von System Jails FreeBSD Systemverwaltung Handbuchseite a href https www freebsd org cgi man cgi jail 282 29 jail 2 a Erzeugung und Management von System Jails FreeBSD Systemaufruf Handbuchseite b chroot 8 b Wurzelverzeichnis wechseln OpenBSD System Manager s Manual Systemverwaltung b chroot 2 b Wurzelverzeichnis wechseln OpenBSD System Calls Manual Systemaufruf Einzelnachweise Bearbeiten a b Bill Cheswick An Evening with Berferd In Which a Cracker is Lured Endured and Studied USENIX In The Association Hrsg USENIX Summer Conference Proceedings Volume 1 San Francisco California 1991 S 163 archive org PDF How to break out of a chroot environment From NetBSD Wiki Memento vom 10 Dezember 2008 im Internet Archive Die Nummer in Klammern hinter dem Namen des Unix Kommandos folgt der Einteilung in sogenannte Manpage Sections Bereiche diese sind 1 Generelle Kommandos 2 Systemaufrufe 3 Subroutinen 4 Spezialdateien 5 Dateiformate 6 Spiele 7 Makros und Konventionen 8 Wartungskommandos 9 Kernelschnittstelle n Neue Kommandos Matteo Riondato FreeBSD Handbook Chapter 15 Jails In freebsd org The FreeBSD Project abgerufen am 19 August 2014 Cyrus Peikar Security Warrior Hrsg O Reilly Media 2004 ISBN 978 0 596 55239 8 S 304 google de abgerufen am 19 August 2014 Klaus Schmidt High Availability and Disaster Recovery Concepts Design Implementation Hrsg Springer Science amp Business Media 2006 ISBN 978 3 540 34582 4 S 186 google de abgerufen am 21 August 2014 vgl dazu b chroot 1m b b chroot 2 b b fchroot 2 b und b gchroot 1 b abgerufen am 10 April 2014 SourceForge LXC Download Files In sourceforge net Abgerufen am 21 August 2014 Rami Rosen Linux Containers and the Future Cloud PDF 26 Marz 2014 abgerufen am 21 August 2014 About Us Docker Nicht mehr online verfugbar Docker Inc archiviert vom Original am 18 Juli 2014 abgerufen am 6 September 2014 What is Docker and when to use it Nicht mehr online verfugbar CenturyLink Innovations Lab archiviert vom Original am 10 September 2014 abgerufen am 9 September 2014 Installation des Gentoo Basissystems Memento vom 22 Dezember 2014 im Internet Archive Simon s computing stuff How to break out of a chroot jail Memento vom 27 Januar 2016 im Internet Archive xen vs openvz Memento vom 17 April 2009 im Internet Archive Unix Befehle der GNU Core UtilitiesDateien chgrp chown chmod cp dd df dir dircolors install ln ls mkdir mkfifo mknod mv rm rmdir shred sync touch vdirText awk cat cksum comm csplit cut expand fmt fold head join md5sum nl od paste ptx pr sha1sum sed sort split sum tac tail tr tsort unexpand uniq wcShell basename chroot date dirname du echo env expr factor false groups hostid id link logname nice nohup pathchk pinky printenv printf pwd readlink seq sleep stat stty tee test true tty uname unlink users who whoami yes Abgerufen von https de wikipedia org w index php title Chroot amp oldid 231210631