Einführung

Einführung

In diesem Artikel werden wir nach der automatischen Chroot -Jail -SSH -Anmeldung anhand der Benutzergruppe suchen. Diese Technik kann sehr nützlich sein, wenn Sie, was Ihr Benutzer mit einer begrenzten Systemumgebung erhalten, und gleichzeitig von Ihrem Hauptsystem getrennt halten. Sie können diese Technik auch verwenden, um einen einfachen SSH -Honeypot zu erstellen. In diesem Tutorial erfahren Sie, wie Sie eine grundlegende Chroot -Umgebung erstellen und wie Sie das SSHD Ihres Hauptsystems so konfigurieren, dass Sie auf der SSH -Anmeldung automatisch ausgewählte Benutzer von Chroot ausgewählten Benutzern automatisch ausgewählt haben.

Erstellen einer grundlegenden Chroot -Umgebung

Zuerst müssen wir eine einfache Chroot -Umgebung erstellen. Unsere Chroot -Umgebung wird aus einer Bash -Hülle bestehen. Zuerst müssen wir ein Chroot -Verzeichnis erstellen:

# mkdir /var /chroot

Im nächsten Schritt müssen wir die Bash -Binary und seine alle gemeinsam genutzten Bibliotheksabhängigkeiten kopieren.
Sie können die gemeinsam genutzten Bibliotheksabhängigkeiten der Bash sehen, indem Sie die ausführen LDD Befehl:


# LDD /Bin /Bash
Linux-VDSO.So.1 => (0x00007ffff9a373000)
libtinfo.So.5 =>/lib/x86_64-linux-gnu/libtInfo.So.5 (0x00007f24d57af000)
libdl.So.2 =>/lib/x86_64-linux-gnu/libdl.So.2 (0x00007F24D55AB000)
libc.So.6 =>/lib/x86_64-linux-gnu/libc.So.6 (0x00007f24d51eb000)
/lib64/ld-linux-x86-64.So.2 (0x00007f24d59f8000)


Jetzt müssen wir alle notwendigen Verzeichnisse manuell erstellen und kopieren /bin /bash und alle Bibliotheken in das neue Chroot -Verzeichnis in einen geeigneten Ort:

# cd/var/chroot/
# Mkdir bin/ lib64/ lib/
# cp/lib/x86_64-linux-gnu/libtinfo.So.5 lib/
# cp/lib/x86_64-linux-gnu/libdl.So.2 lib/
# cp/lib/x86_64-linux-gnu/libc.So.6 lib/
# cp /lib64 /ld-linux-x86-64.So.2 lib64/
# cp/bin/bash bin/

Zu diesem Zeitpunkt ist alles fertig und wir können Chroot

# chroot /var /chroot
Bash-4.2# ls /
BASH: LS: Befehl nicht gefunden

Aus dem obigen Punkt können Sie sehen, dass Bash fertig ist, aber es gibt nicht viel zu tun, da nicht einmal der Befehl LS verfügbar ist. Kopieren Sie dann alle Befehle und erforderlichen Bibliotheken manuell. Ich habe ein einfaches Bash -Skript erstellt, um diesen Zweck zu unterstützen. Erstellen Sie ein Skript mit dem folgenden Inhalt:

#!/Bin/Bash # Dieses Skript kann verwendet werden, um eine einfache Chroot -Umgebung zu erstellen # Von Linuxcareer geschrieben.com  # (c) 2013 Linuxcareer unter GNU GPL V3.0+ #!/Bin/Bash Chroot = '/var/chroot' Mkdir $ Chroot für ich In $ ( LDD $* | Grep -V dynamisch | schneiden -D "" -F 3 | sed 'S/://' | Sortieren | Uniq ) Tun CP --Eltern $ i $ chroot Erledigt # Arch AMD64 Wenn [ -f /lib64 /ld-linux-x86-64.So.2 ]; Dann CP --Eltern /lib64 /ld-linux-x86-64.So.2 /$ chroot fi # Arch i386 Wenn [ -f /lib /ld-linux.So.2 ]; Dann CP --Eltern /lib /ld-linux.So.2 /$ chroot fi Echo "Das Chroot -Gefängnis ist bereit. Um darauf zuzugreifen, führen Sie aus: chroot $ chroot "


Standardmäßig erstellt das obige Skript Chroot in /var /chroot wie durch die $ chroot -Variable definiert. Fühlen Sie sich frei, diese Variable entsprechend Ihren Anforderungen zu ändern. Wenn Sie fertig sind, machen Sie das Skript ausführbar und führen Sie es mit dem vollständigen Pfad für Ihre ausführbaren Dateien aus, die Sie einschließen möchten. Zum Beispiel, wenn Sie benötigen: LS, Katze, Echo, RM, Bash, vi Dann benutze die welche Befehl, einen vollständigen Pfad zu erhalten und ihn als Argument für den oben genannten Chroot zu liefern.SH Skript:

# ./chroot.sh/bin/ls, cat, echo, rm, bash/usr/bin/vi/etc/hosts
Das Chroot -Gefängnis ist fertig. Um darauf zuzugreifen, führen Sie aus: chroot /var /chroot

Jetzt können Sie auf Ihr neues Chroot -Gefängnis zugreifen mit:


# chroot /var /chroot
Bash-4.2# Echo Linuxcareer.com> Datei
Bash-4.2# Katzendatei
Linuxcareer.com
Bash-4.2# RM -Datei
Bash-4.2# vi -Verssion
Vim - vi verbessert 7 7.3 (15. August, 15. August, kompiliert 4. Mai 2012 04:25:35)

Erstellen Sie die Chroot -Benutzergruppe

A Dieser Punkt müssen wir eine separate UserGourp erstellen, die von SSHD verwendet wird, um alle Benutzer, die zu dieser Benutzergruppe gehören.

$ sudo Groupadd Chrootjail

Fügen Sie nun vorhandene Benutzer dieser Gruppe hinzu. Zum Beispiel zum Hinzufügen von Benutzertester werden wir ausführen:

$ sudo adduser tester chrootjail
Hinzufügen von Benutzer "Tester" zu Gruppen "chrootjail" ..
Hinzufügen von Benutzertester zur Gruppierung von Chrootjail
Erledigt.


Konfigurieren Sie SSHD für das Chroot -Gefängnis

Alles, was bleibt, ist, SSHD in die automatische Umleitung aller Benutzer aus der Chrootjail -Benutzergruppe zum Chroot -Gefängnis bei /var /chroot konfigurieren. Dies kann einfach erledigt werden, um die SSHD -Konfigurationsdatei zu bearbeiten /etc/ssh/sshd_config. Fügen Sie Folgendes zu/etc/ssh/sshd_config hinzu:

Match -Gruppe Chrootjail
Chrootdirectory/var/chroot/

und SSH neu starten:

$ sudo Service SSH Neustart
SSH Stop/Warten
SSH START/LIVE, Prozess 17175

Melden Sie sich mit SSH im Chroot -Gefängnis an

Zu diesem Zeitpunkt können Sie Ihre Einstellungen testen, indem Sie sich mit konfiguriertem SSHD auf Ihrem Server anmelden:

$ ssh tester@localhost
Tester@localhosts Passwort:
-Bash-4.2 $ ls
bin lib lib64 usr
-Bash-4.2 $

Kommt mir bekannt vor?

Abschluss

Wie Sie sehen können, ist das Einstellen des SSH -Chroot -Gefängnisses ein ziemlich einfacher Prozess. Wenn ein Benutzer sein Home User Directory nicht in einem Chroot -Gefängnis zur Verfügung hat. Sie können Ihren Chroot erstellen und weiter konfigurieren, indem Sie ein Benutzer -Home -Verzeichnis erstellen, die Bash -Umgebung definieren usw.

Verwandte Linux -Tutorials:

  • Gefängnis SSH -Benutzer zum Heimverzeichnis unter Linux
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Dinge zu installieren auf Ubuntu 20.04
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • So entfernen Sie Bloatware von Ihrem Samsung Android Mobile…
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Wie man OpenSSH optimal nutzt
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Wie man Kali Linux und Windows 10 Dual -Boot -Start hat