Użytkownik więzienia SSH do katalogu domowego w Linux

Użytkownik więzienia SSH do katalogu domowego w Linux

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
Użytkownik więzienia SSH do katalogu domowego w Linux Wymagania oprogramowania i konwencje linii poleceń Linux
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.

  1. 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 
  2. 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 


  3. 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 
  4. 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 
  5. Shell Bash wymaga różnych libs do uruchomienia, więc będą musieli być również skopiowane do Chroot informator. Możesz zobaczyć co libs są wymagane z ldd 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 


  6. Teraz możemy utworzyć użytkownika i ustawić hasło dla konta.
    # UserAdd Przykład # PASSWD Przykład 
  7. Dodaj /etc/passwd I /etc/grupa pliki do katalogu chroot.
    # mkdir/var/chroot/etc # cp/etc/passwd, grupa/var/chroot/itc 
  8. 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 SSH

    Zapisz swoje zmiany i uruchom ponownie usługę SSH, aby zmiany w obronie.

    # Systemctl restart sshd 


  9. 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 
  10. 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.
    #!/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 " 
    Kopiuj

    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@localHost 
Uż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