Chroot Umgebung. Das wget und ./Kommandos Paket finden.

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Reez
Beiträge: 6
Registriert: 31.10.2016 06:27:01

Chroot Umgebung. Das wget und ./Kommandos Paket finden.

Beitrag von Reez » 05.11.2016 12:43:21

Hallo,

Ich habe es nun endlich geschafft eine Chroot Umgebung für meine Benutzer zu erschaffen, dass einzige Problem ist, dass Sie keine Dateien ausführen können, also diese ./Kommandos (Shell Scripts, denke ich.) und wget Funktioniert auch nicht. Ich muss die einzelnen Pakete in eine Config eintragen, dass der Server Praktisch weiß welche Dateien er in die Chroot umgebung kopieren soll. Das sieht dann so aus:

Code: Alles auswählen

# Specify the apps you want to copy to the jail
if [ "$DISTRO" = SUSE ]; then
  APPS="/bin/bash /bin/cp /usr/bin/dircolors /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /bin/sh /bin/su /usr/bin/groups /usr/bin/id /usr/bin/netcat /usr/bin/rsync /usr/bin/ssh /usr/bin/scp /sbin/unix_chkpwd"
elif [ "$DISTRO" = FEDORA ]; then
  APPS="/bin/bash /bin/cp /usr/bin/dircolors /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /bin/sh /bin/su /usr/bin/groups /usr/bin/id /usr/bin/nc /usr/bin/rsync /usr/bin/ssh /usr/bin/scp /sbin/unix_chkpwd"
elif [ "$DISTRO" = REDHAT ]; then
  APPS="/bin/bash /bin/cp /usr/bin/dircolors /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /bin/sh /bin/su /usr/bin/groups /usr/bin/id /usr/bin/nc /usr/bin/rsync /usr/bin/ssh /usr/bin/scp /sbin/unix_chkpwd"
elif [ "$DISTRO" = DEBIAN ]; then
  APPS="/bin/bash /bin/cp /usr/bin/dircolors /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /bin/sh /bin/su /usr/bin/groups /usr/bin/id /usr/bin/rsync /usr/bin/ssh /usr/bin/scp /sbin/unix_chkpwd"
else
  APPS="/bin/bash /bin/cp /usr/bin/dircolors /bin/ls /bin/mkdir /bin/mv /bin/rm /bin/rmdir /bin/sh /bin/su /usr/bin/groups /usr/bin/id /usr/bin/rsync /usr/bin/ssh /usr/bin/scp /usr/sbin/unix_chkpwd"
fi





Hier die Fehlermeldung bei einem ./Kommando:

Code: Alles auswählen

I have no name!@debian:~$ ./test install
./test: line 71: readlink: command not found
./test: line 71: dirname: command not found
./test: line 72: readlink: command not found
./test: line 72: basename: command not found
./test: line 99: date: command not found
./test: line 162: whoami: command not found
mkdir: cannot create directory '/test': Permission denied
    fetching core_dl.sh..../test: line 128: basename: command not found
FAIL

Curl is not installed!


Hier die Fehlermeldung bei wget:

Code: Alles auswählen

I have no name!@debian:~$ wget https://www.google.de/
converted 'https://www.google.de/' (ANSI_X3.4-1968) -> 'https://www.google.de/' (UTF-8)
--2016-11-05 11:27:39--  https://www.google.de/
Resolving www.google.de (www.google.de)... failed: Name or service not known.
wget: unable to resolve host address 'www.google.de'
Alle Befehle funktionieren unter root einwandfrei, nur eben in der Chroot Umgebung nicht.
Es hat nun knapp zwei Wochen gedauert bis ich ein Tutorial fand, was wirklich funktioniert hat. Nur komm ich jetzt auch nicht mehr mit der Macht von Google weiter. :roll:
Meine Frage wäre nun, gibt es einen Befehl der mir ausspuckt wo ich die einzelnen Dateien / Pakete finden kann?
Habt ihr noch Tipps über das Chrooten für mich?
Und, sind euch noch Fehler aufgefallen?

Das Tutorial, welches ich befolgt habe: http://www.fuschlberger.net/programs/ss ... root-jail/

Ja, ich habe bereits im Internet danach gesucht, bin aber auf keine helfenden Ergebnisse gestoßen.
(Ich habe mir jegliches wissen über vServer, SSH, Debian und FTP über das Internet erarbeitet. Ich habe weder Studiert, noch hatte ich irgendwelche Vorkenntnisse, also bitte seid gnädig.)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Chroot Umgebung. Das wget und ./Kommandos Paket finden.

Beitrag von rendegast » 05.11.2016 21:52:32

Reez hat geschrieben: Das Tutorial, welches ich befolgt habe: http://www.fuschlberger.net/programs/ss ... root-jail/
Das benutzte Skript
https://github.com/pmenhart/make_chroot_jail/
Darin

Code: Alles auswählen

...

# Create /usr/bin/groups in the jail
echo "#!/bin/bash" > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
chmod 755 usr/bin/groups

...
Das scheint mir unsinnig/falsch, jedoch habe ich keinerlei Erfahrung mit solch spezialisierten chroot.


Das git-Datum des Skriptes ist 2015-04, darin aber
# first Release: 2004-07-30
RELEASE="2008-04-26"
Nach dem initial commit 2011-05 gab es wohl keine funktionale Änderung,
jedoch fehlt mir die Erfahrung selbst für diese grundlegenden Sachen mit (web-)git.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten