2. SSH-Server: Wie privilege separation directory umgehen

Nils Kassube kassube at gmx.net
Mit Mai 23 15:01:03 BST 2007


Johannes Kastl wrote:
> Am 16.05.2007 22:03 schrieb Nils Kassube:
> > Johannes Kastl wrote:
> >> Wie löse ich das denn? Oder ist das ein Kandidat für einen
> >> Bugreport?
> >
> > Hast du mal mit chroot probiert? Ach du brauchtest ja einen Link --
> > nimm den:
> >
> > <http://www.gnu.org/software/coreutils/manual/html_mono/coreutils.htm
> >l#chroot-invocation>
>
> Der gibt einen 404, der hier geht:
> <http://www.gnu.org/software/coreutils/manual/coreutils.html#chroot-inv
>ocation>

Oops -- da habe ich den Link wohl nicht auf Funktion getestet den ich 3-4 
Tage früher aufgerufen und noch im Cache hatte.

> Und wenn ich das richtig sehe ist das das "ganz normale chroot", das
> man auch auf der Kommandozeile benutzen kann.

Richtig. Die Info von der Seite hat einen entscheidenden Absatz, der in 
der man-page zu chroot fehlt:

| If you want to use a dynamically linked executable, say bash, then first
| run ‘ldd bash’ to see what shared objects it needs. Then, in addition to
| copying the actual binary, also copy the listed files to the required
| positions under your intended new root directory. Finally, if the
| executable requires any other files (e.g., data, state, device files),
| copy them into place, too.

> Wie baue ich das denn in ein Skript ein? 

Du findest heraus, mit welchen Kommandozeilenbefehlen die gewünschte 
Funktion zu erreichen ist und schreibst die Befehle dann in eine Datei. 
Schon hast du ein Script. (Oder habe ich nun deine Frage missverstanden?)

> Bzw. wie baue ich das in das 
> sshd-Skript ein? Kennst du ne Anleitung dazu, wie man Dienste in ein
> chroot verbannt?

Eigentlich dachte ich, der oben zitierte Absatz hätte als Anleitung 
ausgereicht. Ein fertiges Script habe ich nicht (das schrieb ich ja 
neulich schon). Um eines zu schreiben müsste ich mich auch erstmal länger 
mit der Materie beschäftigen. Nach einigem Suchen fand ich nun noch 
diesen Artikel, vielleicht hilft das ja:

<http://www.securitybulletins.com/mediawiki/index.php/SSH_SFTP_in_a_chroot_environment>

Vielleicht kannst du mal beschreiben, warum du überhaupt 2 sshd laufen 
lassen willst. Möglicherweise hat dann jemand eine bessere Lösung für 
dein Problem.


Nils