Użytkownik więzienia SSH do katalogu domowego w Linux
- 782
- 177
- Juliusz Sienkiewicz
Więzienie użytkownika SSH w ich katalogu domowym pozwala (administratorowi) skorzystać z dużej kontroli i bezpieczeństwa w kontach użytkowników w systemie Linux.
Uwięziony użytkownik nadal ma dostęp do swojego katalogu domowego, ale nie może przejść przez resztę systemu. To utrzymuje wszystko inne w systemie prywatnym i zapobiegnie manipulacji przez użytkownika SSH. Jest to idealna konfiguracja dla systemu, który ma różnych użytkowników, a pliki każdego użytkownika muszą pozostać prywatni i odizolowane od innych.
W tym przewodniku pokażemy instrukcje krok po kroku dotyczące więzienia użytkownika SSH w ich katalogu domowym.
W tym samouczku nauczysz się:
- Jak uwięzić użytkownika SSH do katalogu domowego
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Każda dystrybucja Linux |
Oprogramowanie | Serwer OpenSsh |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Użytkownik więzienia do katalogu domowego z Chroot
Otwórz terminal i przygotuj się do wpisania wielu poleceń, ponieważ proces ustawiania bezpiecznego chroot jest dość wyciągnięty. Będziesz chciał wznieść się do konta użytkownika root lub użyć sudo dla każdego polecenia.
- Zacznij od wykonania katalogu chroot, który będzie zawierał różne węzły, libs i powłokę dla naszego więzienia użytkownika (y).
# mkdir /var /chroot
- Następnie skopiujmy trochę niezbędnego
/Dev
węzły do katalogu chroot, który umożliwia użytkownikom podstawowe użycie terminalu.# mkdir/var/chroot/dev # cd/var/chroot/dev # mknod -m 666 null c 1 3 # mknod -m 666 tty c 5 0 # mknod -m 666 zero c 1 5 # mknod -m 666 Random c 1 8
- Następnie ustaw uprawnienia do katalogu Chroot. Użytkownik root będzie musiał posiadać katalog, aby upewnić się, że więzienie nie mogą go opuścić. Inni użytkownicy mogą mieć tylko odczytanie i wykonywanie uprawnień.
# chown root: root /var /chroot # chmod 755 /var /chroot
- Następnie dajmy naszym więzieniu użytkownikom (y) skorupę. W tym przykładzie użyjemy powłoki bash, choć możesz użyć innego, jeśli chcesz.
# mkdir/var/chroot/bin # cp/bin/bash/var/chroot/bin
- Shell Bash wymaga różnych
libs
do uruchomienia, więc będą musieli być również skopiowane doChroot
informator. Możesz zobaczyć colibs
są wymagane zldd
Komenda:# ldd /bin /bash linux-vdso.Więc.1 (0x00007FFD59492000) libtinfo.Więc.6 =>/lib/x86_64-linux-gnU/libtinfo.Więc.6 (0x00007F91714CD000) Libdl.Więc.2 =>/lib/x86_64-linux-gnU/libdl.Więc.2 (0x00007F91714C7000) LIBC.Więc.6 =>/lib/x86_64-linux-gnU/libc.Więc.6 (0x00007F91712d5000) /Lib64 /LD-Linux-X86-64.Więc.2 (0x00007F917163A000)
Skopiuj te pliki do katalogu Chroot:
# mkdir -p/var/chroot/lib/x86_64-Linux-gnu/var/chroot/lib64 # cp/lib/x86_64-Linux-gnu/libtinfo.Więc.6, Libdl.Więc.2, Libc.Więc.6/var/chroot/lib/x86_64-linux-gnU # cp/lib64/ld-linux-x86-64.Więc.2/var/chroot/lib64
- Teraz możemy utworzyć użytkownika i ustawić hasło dla konta.
# UserAdd Przykład # PASSWD Przykład
- Dodaj
/etc/passwd
I/etc/grupa
pliki do katalogu chroot.# mkdir/var/chroot/etc # cp/etc/passwd, grupa/var/chroot/itc
- Następnie musimy edytować plik konfiguracyjny SSH. Używać
Nano
lub twój ulubiony edytor tekstu, aby go otworzyć.# sudo nano/etc/ssh/sshd_config
Dodaj następujące wiersze na dole pliku.
Dopasuj przykład użytkownika chrootdirectory /var /chroot
Skonfiguruj Chroot, aby uwięził użytkownika SSHZapisz swoje zmiany i uruchom ponownie usługę SSH, aby zmiany w obronie.
# Systemctl restart sshd
- Utwórz katalog domowy dla użytkownika i podaj mu odpowiednie uprawnienia.
# mkdir -p/var/chroot/home/przykład # chown Przykład: Przykład/var/chroot/home/przykład # chmod 700/var/chroot/home/przykład
- W tym momencie użytkownik powinien być w stanie zalogować się i używać natywnych poleceń BASH, ale nie będą mieli dostępu do wielu. Dajmy im dostęp do niektórych więcej podstaw, takich jak ls, cat, echo, rm, vi, data, mkdir. Zamiast ręcznie kopiować wszystkie wspólne biblioteki dla tych poleceń, możesz użyć następującego skryptu, aby usprawnić proces.
Kopiuj#!/bin/bash # ten skrypt można użyć do tworzenia prostego środowiska chroot # napisane przez LinuxConfig.org # (c) 2020 Linuxconfig w ramach GNU GPL v3.0+ #!/bin/bash chroot = '/var/chroot' mkdir $ chroot for i in $ (ldd $* | grep -v dynamic | cut -d "" -f 3 | sed 's/: //' | sort | uniq ) do CP --Parents $ i $ chroot # Arch AMD64 IF [-f /lib64 /ld-linux-x86-64.Więc.2]; Następnie CP-Parents /Lib64 /Ld-Linux-X86-64.Więc.2 /$ chroot fi # arch i386 if [-f /lib /ld -linux.Więc.2]; Następnie CP-Parents /Lib /LD-Linux.Więc.2 /$ chroot fi echo "Chroot więzienie jest gotowe. Aby uzyskać dostęp do wykonania: chroot $ chroot "
Za pomocą tego skryptu włączmy niektóre z tych poleceń.
# ./chroot.sh /bin /ls, cat, echo, rm, vi, data, mkdir
W końcu skończyliśmy. Możesz ssh z utworzonym użytkownikiem, aby upewnić się, że wszystko działa poprawnie.
# ssh przykład@localHostUżytkownik SSH jest uwięziony na chroot, ale ma dostęp do podstawowych poleceń
Jak widać, nasz użytkownik ma dostęp do poleceń, które go podaliśmy i nie może uzyskać dostępu do reszty systemu poza Chroot.
Wniosek
W tym przewodniku widzieliśmy, jak uwięzić użytkownika SSH w ich katalogu domowym w Linux. To długi proces, ale skrypt, który podaliśmy, powinieneś zapisać ogromną ilość żmudnej pracy. Więzienie użytkownika do jednego katalogu jest bardzo dobrym sposobem na utrzymanie prywatności dla poszczególnych użytkowników na wspólnym serwerze.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Linux Pliki konfiguracyjne: Top 30 Najważniejsze
- Jak usunąć bluatware z Samsung Android Mobile…
- Obsługa danych wejściowych użytkownika w skryptach Bash
- Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Pobierz Linux
- Jak podwójnie rozruch Kali Linux i Windows 10