[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: eingeschränkter shell zugang per ssh



On Thu, 20 Nov 2003 19:09:55 +0100
Jakob Lell <jlell@JakobLell.de> wrote:

> > Eigentlich will ich den sshd nicht für logins anbieten, sondern als
> > kryptierter tunnel für einen cvsd (pserver ist unsicher). Daher habe
> > ich in der chroot alles ausser csh, cvs und dependencies
> > rausgeworfen (kein ls, cd, pwd, etc). Die csh benutze ich anstelle
> > der Bash, weil sie keine auto-completion hat (sonst kann man einfach
> > rausfinden, welche dateien existieren). Ich denke das setup ist
> > recht sicher.
> 
> welche Dateien vorhanden sind, kann man mit "echo *" auch ohne ls 
> herausfinden. Da echo in der shell integriert ist, kann man es nur mit
> Veränderungen am Quellcode entfernen.

Stimmt...

> Wenn der user irgendwo in seinem Gefängnis (z.B. /tmp) Schreibzugriff
> hat, kann er sich fehlende Programme sogar selbst erzeugen, indem er
> sie mit folgenden Kommandos erzeugen: set echo_style="e"
> echo -n "\001\002\003...">/tmp/program
> Mit ein paar Zeilen Perl kann man jedes beliebige Programm in
> derartige Oktalwerte umwandeln. Obwohl das Programm nicht direkt
> ausführbar ist (und chmod fehlt), kann der Angreifer über
> /lib/ld-linux.so.2 /tmp/program das Programm starten.

Kann man denn überhaupt etwas dagegen tun? echo aus dem csh Quellcode zu
werfen wäre wohl am geeignetesten oder? Damit wäre auch das Problem
weiter oben gelöst.

> IMHO ist es die einzige Möglichkeit, einen User auf eine shell zu
> begrenzen, ihm KEINE Schreibrechte zu geben  und die Resourcen über
> ulimit zu begrenzen (Endlosschleife...).

ja, ulimit habe ich drinnen. /tmp braucht Schreibrechte für cvs.

Danke,
Serge



Reply to: