Warum gilt Chroot als unsicher?

13

Ich spiele jetzt seit ein paar Jahren mit CentOS Box. So bin ich mit Terminal ziemlich bequem. Ich habe jedoch eine Menge Blog-Posts gelesen, in denen behauptet wird, dass Chroot unsicher ist und die Anzahl dieser Posts erschreckt. Ist es wirklich so Warum?

Ich verwende chroot, um die SFTP-Benutzer in einem bestimmten Kontext ohne Shell oder Befehle zu sperren. Also, was ist das Sicherheitsproblem damit?

Frage wird aus StackOverflow verbannt .

Aleksandr Makov
quelle
1
Erstens: Die Frage wurde bei Stack Overflow nicht geschlossen / migriert , ist dort aber eindeutig OT. Die geeignete Aktion wäre zu warten, bis es migriert ist, oder es zu markieren und einen Mod dazu aufzufordern, es nicht auf einer anderen Site zu veröffentlichen. Aber zweitens: Wenn Sie "mit CentOS rumspielen", liegen Sie auch hier falsch. Diese Website richtet sich an professionelle Systemadministratoren und nicht an Hobby-Experten. Weitere Informationen finden Sie in unseren FAQ .
Sven
1
@SvenW danke, ich werde deinen Tipp für die Zukunft im Hinterkopf behalten. Und über die "zweite", na ja, sorry, aber ich sehe nicht, wie meine Frage die FAQ verletzt. Nachdem ich es jetzt zweimal gelesen habe, kann ich sagen, dass es nicht so ist. Was die Redewendung "Herumspielen mit CentOS" angeht, fand ich es ziemlich offensichtlich, dass Chrooting- und Nur-SFTP-Benutzer und die Berücksichtigung der Sicherheit ein sehr ernstes Thema sind, von dem Profis sowohl in ihrem Unternehmen als auch in jedem anderen Unternehmen profitieren können. professionelle "Umgebungen.
Aleksandr Makov
1
@sven Falls Sie nicht wussten, dass SF von der Migrationsliste von SO entfernt wurde, weil uns so viele schlechte Fragen gesendet wurden.
MDMarra

Antworten:

10

In den meisten Fällen kann ein Root-Prozess die Chroot problemlos beenden. Dies ist beabsichtigt, da chroot niemals als Sicherheitsgerät gedacht war.

Alan Cox beschimpfte einen Entwickler , der einen Kernel-Patch eingereicht hatte, um dieses Verhalten zu "beheben".

MDMarra
quelle
Perfekt! Vielen Dank. Es handelt sich also um Root-Prozesse, die im Root vorhanden oder von diesem aus zugänglich sind. Vielen Dank.
Aleksandr Makov
Ich habe gerade überprüft, dass es durch Ausführen des C-Programms, das auf unixwiz.net/techtips/mirror/chroot-break.html als root unter Linux 4.18 angezeigt wird , möglich ist, der Chroot zu entkommen.
Pkt
Verteilen Sie also keine Root-Rechte. Sogar normale "sichere" Systeme haben Root-Accounts.
Cees Timmerman
6

Ich kenne mindestens ein Beispiel dafür, warum es als unsicher gilt. Eine Chroot-Umgebung /procist nicht isoliert, daher ist es ziemlich einfach, auf Ressourcen zuzugreifen, die sich nicht im Besitz von Prozessen befinden, die in Ihrer Chroot gestartet wurden.

Die Verwendung einer Chroot-Umgebung für SFTP ist in Ordnung und verbessert das Sicherheitsniveau erheblich. Missbrauchen Sie es einfach nicht als container-basierte Virtualisierung, die mehr Sicherheit bietet. Darin unterstreiche ich, was in der Antwort von @ MDMarra steht.

gertvdijk
quelle
Vielen Dank. Jetzt wird klarer, dass chroot selbst nicht sicherheitsschwach ist, sondern dass seine Sicherheit von der Umgebung abhängt, in der es eingerichtet ist.
Aleksandr Makov
Tatsächlich ist Chroot nicht sicherheitsschwach, da es nie als Sicherheitsgerät gedacht war. Es sollte ein Entwicklungstool sein, mit dem mehrere Versionen derselben Binärdateien nebeneinander mit unterschiedlichen Abhängigkeiten ausgeführt werden können. Es ist kein Ersatz für die ordnungsgemäße Sicherung von Diensten - obwohl es unter bestimmten Umständen hilfreich sein kann, solange Sie verstehen, was es ist und was nicht.
MDMarra
MDMarra ist im Grunde genommen nicht dazu gedacht, mit chroot SSH-Verbindungen zu erfassen. Klingt "chrooten der eingehenden SSH-Verbindungen" Ihrer Meinung nach dann etwas unprofessionell und sollte vermieden werden?
Aleksandr Makov
Nein, nicht unbedingt, stellen Sie einfach fest, dass jeder Exploit, der zu einer Erhöhung der Berechtigungen oder zu einem Prozess führen könnte, der als Root in der Chroot ausgeführt wird, trivial ist. Es kann sicherlich ein Teil des Puzzles sein, aber es sollte nicht das Ganze sein.
MDMarra,