Page 1 of 1

[solved] compartment-Ersatz gesucht

Posted: 2008-03-13 21:54
by daemotron
Moin,

eigentlich sagt der Betreff schon alles. Ich suche einen Ersatz für das kleine Tool compartment, das ursprünglich von Marc Heuse entwicket wurde. Die letzte mir bekannte Version ist von 2002 (siehe http://www.chronox.de/). compartment kann auf Wunsch nacheinander chroot() und dann setuid() aufrufen, so dass es damit möglich ist, unprivilegierte Prozesse in ein chroot-Jail zu verfrachten (der chroot()-Syscall erfordert normalerweise root-Rechte...) bzw. sicherzustellen, dass ein Prozess nach dem chroot() seine Privilegien abgibt, bevor das eigentlich gewünschte Binary ausgeführt wird...

Re: compartment-Ersatz gesucht

Posted: 2008-03-13 22:12
by Roger Wilco
Mit fällt als Alternative chrootuid vom Postfix-Macher Wietse Venema ein.
-> ftp://ftp.porcupine.org/pub/security/index.html, ftp://ftp.porcupine.org/pub/security/ch ... 1.3.README

Aktueller als compartment ist das allerdings auch nicht. Andererseits wüsste ich nicht, was man an solchen Programmen auch immer verbessern müsste. ;)

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 13:52
by daemotron
Roger Wilco wrote:Mit fällt als Alternative chrootuid vom Postfix-Macher Wietse Venema ein.
Danke, werd ich mir nachher mal anschauen.
Roger Wilco wrote:Andererseits wüsste ich nicht, was man an solchen Programmen auch immer verbessern müsste.
Ansich nicht, aber gestern abend wollte sich compartment nicht kompilieren lassen. Also hab ich mal in den Quellcode geschaut (ist nur eine Datei), aber die ist ziemlich Spaghetti (fast alles steck in main in einem riesigen if-Schachtelwust). Na, zur Not kann man sich so ein Mini-Programm wohl auch selbst zusammenkloppen...

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 14:18
by opakatze
Ich persönlich habe immer das kleine Tool mit dem lustigen Namen "eselstall" (http://sourceforge.net/projects/eselstall/) verwendet, sollte auch die gewünschten Funktionen bieten und hat bei mir sich bisher immer gut kompilieren lassen. Auch scheint es noch etwas gepflegt zu werden :wink:
Vielleicht kannst du es ja auch brauchen =D

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 14:25
by Joe User
opakatze wrote:Auch scheint es noch etwas gepflegt zu werden
Naja, letzter Release ist vom 12.01.2004 ;)

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 14:27
by Joe User
jfreund wrote:Na, zur Not kann man sich so ein Mini-Programm wohl auch selbst zusammenkloppen...
Dann aber gleich Ressourcen schonend in Assambler ;)

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 14:31
by opakatze
Joe User wrote: Naja, letzter Release ist vom 12.01.2004 ;)
Naja, viel kann man ja an so einem Programm auch nicht verändern =D Aber gut, ist nun auch nicht mehr so top aktuell :-D

Re: compartment-Ersatz gesucht

Posted: 2008-03-14 23:04
by daemotron
Joe User wrote:Dann aber gleich Ressourcen schonend in Assambler ;)
Um zwei Syscalls an den Kernel abzusetzen? Das sind in C auch nur ein paar Zeilen, und das meiste davon includes :wink:

Re: compartment-Ersatz gesucht

Posted: 2008-03-15 11:14
by Joe User
Du musst nicht den Quellcode vergleichen, sondern die Binaries, die Geschwindigkeit und den Memoryfootprint. Der Quellcode selbst kann in Assambler durchaus umfangreicher sein, dafür ist das Ergebnis umso schlanker.

Re: compartment-Ersatz gesucht

Posted: 2008-03-15 16:15
by daemotron
D'oh! ](*,)
Es gibt ein Tool, was genau tut, was ich möchte. Es ist Bestandteil von Gentoo und Debian, ich bin nur nicht drauf gekommen:

Code: Select all

start-stop-daemon --start -c <user> -r </path/to/jail> -b --exec </path/to/binary>