Jailkit ist eine Reihe von Dienstprogrammen, mit denen Benutzerkonten auf einen bestimmten Verzeichnisbaum und auf bestimmte Befehle beschränkt werden können. Das Einrichten eines Gefängnisses ist mit den Jailkit-Dienstprogrammen, die dies von Hand erledigen, viel einfacher. Ein Jail ist ein Verzeichnisbaum, den Sie in Ihrem Dateisystem erstellen. Der Benutzer kann keine Verzeichnisse oder Dateien sehen, die sich außerhalb des Gefängnisverzeichnisses befinden. Der Benutzer ist in diesem Verzeichnis und seinen Unterverzeichnissen eingesperrt.
Herunterladen und installieren:
http://olivier.sessink.nl/jailkit/index.html#download
VERSION=2.20 # from November 2018
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-$VERSION.tar.gz
tar -zxvf jailkit-$VERSION.tar.gz
cd jailkit-$VERSION/
./configure
make
su -
make install
Das Gefängnis aufbauen
Jetzt ist es Zeit, das Gefängnisverzeichnis einzurichten. Inhaftierte Benutzer sehen dieses Verzeichnis als Stammverzeichnis des Servers. Ich habe / home / jail gewählt:
mkdir /home/jail
chown root:root /home/jail
jk_init kann verwendet werden, um schnell ein Gefängnis mit mehreren Dateien oder Verzeichnissen zu erstellen, die für eine bestimmte Aufgabe oder ein bestimmtes Profil benötigt werden (klicken Sie darauf und lesen Sie alle Details).
jk_init -v /home/jail basicshell
jk_init -v /home/jail netutils
jk_init -v /home/jail ssh
jk_init -v /home/jail jk_lsh
Fügen Sie einen Benutzer hinzu
Fügen Sie einen neuen Benutzer mit einem Basisverzeichnis und einer Bash-Shell hinzu und legen Sie das Kennwort fest:
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
Jetzt ist es Zeit, diesen Benutzer ins Gefängnis zu bringen
benutze den folgenden Befehl:
jk_jailuser -m -j /home/jail jailtest
Ihr /etc/passwd
solltet jetzt so etwas enthalten:
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
Bash aktivieren
Mit jk_cp werden die Bash-Bibliotheken in das Gefängnis kopiert:
jk_cp -v -f /home/jail /bin/bash
Bearbeiten /home/jail/etc/passwd
Ersetzen Sie diese Zeile:
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
mit diesem:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
Instandhaltung
Durch die Verwendung von jk_update
Updates kann das reale System im Gefängnis aktualisiert werden.
Ein Probelauf zeigt, was los ist:
jk_update -j /home/jail -d
Ohne das Argument -d wird das eigentliche Update durchgeführt. Weitere Wartungsarbeiten finden Sie hier.
(Falls etwas /home/jail/opt
fehlt, erstelle es mit mkdir -p /home/jail/opt/
und starte es jk_update -j /home/jail
erneut)
Zugriff auf andere Verzeichnisse gewähren
Sie können spezielle Ordner bereitstellen, auf die der Benutzer des Gefängnisses jetzt zugreifen kann. Z.B:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
Hilfe erhalten
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro (eine sehr gute Hilfe)
Dieser auch
Dies wurde überprüft und verifiziert und funktioniert ordnungsgemäß