Hallo, ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet? Bin für alle Hinweise dankbar. Danke & Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Schon gegoogelt? Da gibt es genug Info zu dem Thema.
--- "Dr. J�rgen Vollmer"
Hallo,
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so da� sich ein per ssh einloggender Benutzer darin wieder findet?
Bin f�r alle Hinweise dankbar.
Danke & Bye J�rgen
-- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Am Mittwoch, 19. Juli 2006 09:44 schrieb Sascha:
Schon gegoogelt? Da gibt es genug Info zu dem Thema.
ja natürlich, auch einioges gefunden. Ich suche ein fertiges Script, und das habe ich nicht gefunden. Und bevor ich das Rad neu erfinde.... Mir würde auch ein script reichen, welches eine "initiale" Umgebung erzeugt, in elcher man z.B. den ggc, vi, und make aufrufen kann (ohne ssh). Da brauchts ja dann noch libs usw. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Versuch es mal mit rssh,so fern das die gewünschten Möglichkeiten noch offen läßt.Ansonsten kannst du doch einfach mit "ldd" alle benötigten Bibliotheken feststellen lassen und dann kopieren. Ich glaube für Bash ist es die .bashrc mit der man solche Befehle erstellen kann,aber wirklich sicher ist das nicht(kann meines Wissens nach abgebrochen werden). Gruß, Andreas Dr. Jürgen Vollmer schrieb:
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Am Mittwoch, 19. Juli 2006 09:45 schrieb Andreas Kern:
Versuch es mal mit rssh,so fern das die gewünschten Möglichkeiten noch offen läßt.
rssh (soweit ich verstehe) lässt nur scp und sftp zu. Dazu benutze ich schon scponly. Ich möchte aber einen vollständigen ssh-Zugang.
Ansonsten kannst du doch einfach mit "ldd" alle benötigten Bibliotheken feststellen lassen und dann kopieren. klar, aber ich hab' halt keine Lust das alles händisch zu machen.
Danke & bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Hallo,
ein Script kenne ich aus dem Stand nicht. Ich habe aber "meine"
chroot-Umgebung komplett von Hand eingerichtet und noch ein paar
spezifische Sachen eingebaut. Ich kann nur empfehlen sowas von Hand
einzurichten und dem User ALLES zu verbieten(außer dem Login).
Durch Zufall habe ich im Internet Quellcode(5 Zeilen etwa) für ein Programm
gefunden, mit dem es ohne Probleme möglich ist, aus einem chroot
auszubrechen. Sowie der user also die Möglichkeit hat, etwas hochzuladen
und dann diese Datei auch noch ausführen kann, wars das mit dem chroot.
Eine Möglichkeit wäre es, das chroot auf einer eigenen Partition
einzurichten und dann die Partition Read-only zu mounten. Desweiteren würde
ich das sftp-Subsystem abschalten. An die Verwendung von RBash sollte man
vielleicht auch denken. Und VI sollte man auch entweder deinstallieren oder
so einrichten das er für den User nicht erreichbar ist.
Was soll der user eigentlich machen dürfen?!
"Dr. Jürgen Vollmer"
Hallo,
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
Bin für alle Hinweise dankbar.
Danke & Bye Jürgen
Mit freundlichen Grüßen Andreas Gegner -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Am Mittwoch, 19. Juli 2006 09:50 schrieb age@ifak-system.com:
Hallo,
ein Script kenne ich aus dem Stand nicht. Ich habe aber "meine" chroot-Umgebung komplett von Hand eingerichtet und noch ein paar spezifische Sachen eingebaut. Ich kann nur empfehlen sowas von Hand einzurichten und dem User ALLES zu verbieten(außer dem Login).
Durch Zufall habe ich im Internet Quellcode(5 Zeilen etwa) für ein Programm gefunden, mit dem es ohne Probleme möglich ist, aus einem chroot auszubrechen.
wo gibt's das?
Sowie der user also die Möglichkeit hat, etwas hochzuladen und dann diese Datei auch noch ausführen kann, wars das mit dem chroot.
Was soll der user eigentlich machen dürfen?!
auf meinem System (SuSE 10.1, gcc 4.1.0) ein Proggi debuggen, das nur unter dieser Konfig abstürzt. Aber er soll vom restlichen System _nichts_ sehen. Die Lösung die other-Rechte der anderen User weg zunehmen finde ich nicht so gut, denn das schränkt mich dann doch zu arg ein. Und: locate zeigt einem dann ja immer noch die Namen aller Dateien an, usw. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Hallo,
hier für alle Neugierigen: http://www.little-idiot.de/ChrootEntkommen.pdf
"Dr. Jürgen Vollmer"
Am Mittwoch, 19. Juli 2006 09:50 schrieb age@ifak-system.com:
Hallo,
ein Script kenne ich aus dem Stand nicht. Ich habe aber "meine" chroot-Umgebung komplett von Hand eingerichtet und noch ein paar spezifische Sachen eingebaut. Ich kann nur empfehlen sowas von Hand einzurichten und dem User ALLES zu verbieten(außer dem Login).
Durch Zufall habe ich im Internet Quellcode(5 Zeilen etwa) für ein Programm gefunden, mit dem es ohne Probleme möglich ist, aus einem chroot auszubrechen.
wo gibt's das?
Sowie der user also die Möglichkeit hat, etwas hochzuladen und dann diese Datei auch noch ausführen kann, wars das mit dem chroot.
Was soll der user eigentlich machen dürfen?!
auf meinem System (SuSE 10.1, gcc 4.1.0) ein Proggi debuggen, das nur unter dieser Konfig abstürzt. Aber er soll vom restlichen System _nichts_ sehen.
Die Lösung die other-Rechte der anderen User weg zunehmen finde ich nicht so gut, denn das schränkt mich dann doch zu arg ein. Und: locate zeigt einem dann ja immer noch die Namen aller Dateien an, usw.
Bye Jürgen
Mit freundlichen Grüßen Andreas Gegner -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
On Wednesday 19 July 2006 10:02, Dr. Jürgen Vollmer wrote:
wo gibt's das?
Damit geht es z.B.: -------------------------------------------------------- #!/usr/bin/perl require 'syscall.ph'; chdir "/tmp" or die "ERROR: Cannot chdir /tmp: $!\n"; opendir D, "/tmp" or die "ERROR: Cannot opendir /tmp: $!\n"; mkdir "break$$", 0755 or die "ERROR: Cannot mkdir break$$: $!\n"; chroot "break$$" or die "ERROR: Cannot chroot break$$: $!\n"; syscall SYS_fchdir, fileno(D) or die "ERROR: fchdir failed: $!\n"; for( my $i=0; $i<100; $i++ ) { chdir '..' or warn "WARNING: Cannot chdir ..: $!\n"; } chroot '.' or die "ERROR: Cannot chroot .: $!\n"; exec "/bin/bash"; -------------------------------------------------------- Die Logik ist einfach. Du macht eine Directory (innerhalb chroot) auf und kriegst einen File Descriptor, in diesem Fall "/tmp". Dann wechselst Du in eine Directory, die innerhalb der gerade geöffneten liegt und machst "chroot .". Nun hast Du einen File Descriptor, der außerhalb der aktuellen Root liegt. Mit "fchdir(descriptor)" liegt dann Deine current working directory außerhalb Deiner aktuellen Root-Dir. Nun machst Du noch ein paar mal "cd .." und hoffst, daß Du irgendwann in einem Verzeichnis landest, das so eingerichtet ist, daß Du eine Shell starten kannst. Fertig. Der Ansatz hat eine Schwachstelle. Du mußt in der chroot-Umgebung nochmal chroot aufrufen können. Das kann nur Root. Du mußt also in der chroot-Umgebung root sein. Mit apparmor oder selinux lässt sich das auch für root gut verbieten. Torsten
On Wed, Jul 19, 2006 at 11:14:08AM +0200, Torsten Foertsch wrote:
On Wednesday 19 July 2006 10:02, Dr. Jürgen Vollmer wrote:
wo gibt's das?
Damit geht es z.B.:
--------------------------------------------------------
#!/usr/bin/perl
require 'syscall.ph';
chdir "/tmp" or die "ERROR: Cannot chdir /tmp: $!\n"; opendir D, "/tmp" or die "ERROR: Cannot opendir /tmp: $!\n";
mkdir "break$$", 0755 or die "ERROR: Cannot mkdir break$$: $!\n"; chroot "break$$" or die "ERROR: Cannot chroot break$$: $!\n";
syscall SYS_fchdir, fileno(D) or die "ERROR: fchdir failed: $!\n";
for( my $i=0; $i<100; $i++ ) { chdir '..' or warn "WARNING: Cannot chdir ..: $!\n"; }
chroot '.' or die "ERROR: Cannot chroot .: $!\n";
exec "/bin/bash";
--------------------------------------------------------
Die Logik ist einfach. Du macht eine Directory (innerhalb chroot) auf und kriegst einen File Descriptor, in diesem Fall "/tmp". Dann wechselst Du in eine Directory, die innerhalb der gerade geöffneten liegt und machst "chroot .". Nun hast Du einen File Descriptor, der außerhalb der aktuellen Root liegt. Mit "fchdir(descriptor)" liegt dann Deine current working directory außerhalb Deiner aktuellen Root-Dir. Nun machst Du noch ein paar mal "cd .." und hoffst, daß Du irgendwann in einem Verzeichnis landest, das so eingerichtet ist, daß Du eine Shell starten kannst. Fertig.
Der Ansatz hat eine Schwachstelle. Du mußt in der chroot-Umgebung nochmal chroot aufrufen können. Das kann nur Root. Du mußt also in der chroot-Umgebung root sein. Mit apparmor oder selinux lässt sich das auch für root gut verbieten.
chroot Programme sollten immer ohne root Rechte laufen, das ist so dokumentiert ;) Ciao, Marcus -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
-----Ursprüngliche Nachricht----- Von: Dr. Jürgen Vollmer [mailto:Juergen.Vollmer@informatik-vollmer.de] Gesendet: Mittwoch, 19. Juli 2006 09:37 An: suse-linux@suse.com Betreff: ssh+chroot
Hallo,
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
Bin für alle Hinweise dankbar. http://www.jmcresearch.com/projects/jail/
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Am Mittwoch, 19. Juli 2006 09:36 schrieb Dr. Jürgen Vollmer:
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
ich habe inzwischen etwas gefunden (z.B.) http://aur.archlinux.org/packages/openssh-chroot/ hier wird (anscheinend) sshd gepatched, so daß beim login ein chroot gemacht wird. Es gibt auch Scripte zum Anlegen der chroot-Umgebung (hab' mir inzwischen auch was gebastelt). Das jail funktioniert auch, nur wie kommt man da per ssh 'rein? Gibt's das openssh-chroot als rpm für SuSE? Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Dr. Jürgen Vollmer wrote:
Am Mittwoch, 19. Juli 2006 09:36 schrieb Dr. Jürgen Vollmer:
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
ich habe inzwischen etwas gefunden (z.B.) http://aur.archlinux.org/packages/openssh-chroot/ hier wird (anscheinend) sshd gepatched, so daß beim login ein chroot gemacht wird. Es gibt auch Scripte zum Anlegen der chroot-Umgebung (hab' mir inzwischen auch was gebastelt). Das jail funktioniert auch, nur wie kommt man da per ssh 'rein?
Jail hat ein script dabei mit dem dann die noch notwendigen zusätzlichen Dateien mit eingebunden werden. Steht in der Doku mit einem Beispiel. Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo, der vollständigkeit halber, beantworte ich meine Frage mal wieder selber: Am Mittwoch, 19. Juli 2006 09:36 schrieb Dr. Jürgen Vollmer:
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
Das ultimative Tool hierfür ist: JAILKIT http://olivier.sessink.nl/jailkit man kann damit - die chroot Umgebung einrichten - Usern nur einen scp oder nur sftp Zugang erlauben (oder sonstwie beschränkten Zugang einrichten) - User aber auch einen vollen ssh-Zugang erlauben jailkit ist sehr einfach zu konfigurieren, und auch zu debuggen. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Hallo Jürgen, hallo Leute, Am Freitag, 21. Juli 2006 13:37 schrieb Dr. Jürgen Vollmer:
Am Mittwoch, 19. Juli 2006 09:36 schrieb Dr. Jürgen Vollmer:
ich suche ein Script, welches eine chroot-Umgebung einrichtet, so daß sich ein per ssh einloggender Benutzer darin wieder findet?
Das ultimative Tool hierfür ist: JAILKIT http://olivier.sessink.nl/jailkit man kann damit - die chroot Umgebung einrichten - Usern nur einen scp oder nur sftp Zugang erlauben (oder sonstwie beschränkten Zugang einrichten) - User aber auch einen vollen ssh-Zugang erlauben jailkit ist sehr einfach zu konfigurieren, und auch zu debuggen.
Nach einem kurzen Überfliegen der Homepage stimme ich zu, aber perfekt ist das Ding vermutlich auch nicht ;-) Ungetestet, Vermutung aufgrund der Doku unter http://olivier.sessink.nl/jailkit/howtos_sftp_scp_only.html: Wenn man die erlauben Befehle einschränkt, kann man anscheinend die verwendeten Parameter nicht einschränken. Das kann dazu führen, dass der User mehr darf als er dürfen soll - beispielsweise mit rsync --rsync-path oder scp -S [1] Wie gesagt: das ist nur meine Vermutung aufgrund der Online-Doku. Jürgen, kannst Du das mal testen und ggf. einen Bugreport einreichen? Gruß Christian Boltz [1] In scponly und rssh wurde dieses Problem vor einiger Zeit gefixt. --
Seit einiger Zeit ist ftp://mirrors.mathematik.uni-bi*l*f*ld.de down Offenbar. [...] Aber warum machst du dir Sorgen? Bi*l*f*ld existiert nicht, wieso sollte es dort dann ein Ftp-Server geben? [> Al Bogner und David Haller in suse-linux]
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo, Am Sonntag, 23. Juli 2006 16:11 schrieb Christian Boltz:
Nach einem kurzen Überfliegen der Homepage stimme ich zu, aber perfekt ist das Ding vermutlich auch nicht ;-)
nein, mir sind auch schon ein paar Sachen aufgefallen.
Ungetestet, Vermutung aufgrund der Doku unter http://olivier.sessink.nl/jailkit/howtos_sftp_scp_only.html:
Wenn man die erlauben Befehle einschränkt, kann man anscheinend die verwendeten Parameter nicht einschränken. Das kann dazu führen, dass der User mehr darf als er dürfen soll - beispielsweise mit rsync --rsync-path oder scp -S [1]
ja, man kann mit scp -S eine anderes ssh-Programm angeben. Aber: wer führt das -S-Programm aus? Ist es noch der lokale scp-User bevor er in die chroot-Umgebung des remote-Rechners eintritt, oder wird das Programm auf der remote-Seite nach dem chroot ausgeführt? Ein erster Test zeigt, daß der Lokale User das -S-Programm ausführt, noch bevor man in chroot "landet". Aber dem sollte man mal nachgehen. Danke für den Tip. gibt's noch mehr solcher Probleme mit ssh et.al? Wo kann man das nachlesen? bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
participants (9)
-
age@ifak-system.com
-
Andreas Kern
-
Christian Boltz
-
Dr. Jürgen Vollmer
-
Marcus Meissner
-
Ralf Prengel
-
ralf.prengel@comline.de
-
Sascha
-
Torsten Foertsch