[solved] Jailkit i rozwalony system - Jailkit umieścił roota w jailu?

Tylko tematy nie mieszczące się powyżej.
Awatar użytkownika
rozwell
Sędziwy Jeż
Sędziwy Jeż
Posty: 32
Rejestracja: 12 wrz 2007, 02:14
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

[solved] Jailkit i rozwalony system - Jailkit umieścił roota w jailu?

Post autor: rozwell »

Witam,

W skrócie:
mamy postawiony i w pełni działający system z zainstalowanym Jailkit'em (2.6) oraz ISPConfig'iem (3).
W ISPConfig dodajemy sobie usera do shell'a z wykorzystaniem Jailkit'a (równocześniej jesteśmy zalogowani na serwerze jako root przez ssh) po czym root traci wszelkie możliwości wykonywania programów etc, tak jakby trafił do jaila, tylko że nie działa absolutnie NIC.
Problem jest na tyle poważny, że system nie ma szans powstać, bo niby jak bez roota?

chmod'y są bez zmian i w porządku:

Kod: Zaznacz cały

# ls -l /crashed_system/bin/bash
-rwxr-xr-x  1 root root 833592 Mar  2  2009 /crashed_system/bin/bash
Ale ni jak nie idzie się już do systemu zalogować nawet przez chroota z innego systemu:

Kod: Zaznacz cały

# chroot /crashed_system
chroot: cannot run command `/bin/bash': No such file or directory
Pytania moje brzmą:
jak zupełnie pozbyć się jailkita (czyli gdzie są jego wszystkie pliki, te oczywiste przeniosłem w inne miejsce)
lub
zmienić jego konfigurację i "naprawić" problem
lub
dokonać zmian dla konta roota, żeby omijało jailkita
lub
czy ktoś po prostu wie w jaki sposób rozwiązać ten problem?

Sprawa jest niestety pilna.

Pozdrawiam
rozwell

EDIT:
Usunięcie plików [ /etc/passwd, /etc/passwd-, /etc/group, /etc/group- ] z uszkodzonego systemu nie zmienia nic przy logowaniu poprzez chroot'a.

EDIT2:
Reinstall'uje cały system więc sprawa już nie nagli, ale pytanie nadal pozostaje...
it's a good day to die
kaliban
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 17 wrz 2009, 10:56
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Jailkit i rozwalony system - umieścił roota w jailu?

Post autor: kaliban »

Hello,

Świeża instalacja: ISPConfig3 + Jailkit chyba 2.8, założyłem jedno konto ssh z jailem i ciach - sshd uciął wszystkie zdalne sesje (objaw taki jak opisałeś - widać prompta, ale komendy "nie wchodzą" - sesja została "ucięta").

Prawdopodobnie (strzelam) trzeba poczekać chwilę na przeładowanie ustawień i wsio działa po staremu. Jeśli nie - usuń konto ssh z jailkitem i załóż jeszcze raz (wszystko przez ISPConfig).

W ustawieniach pierwszego tworzonego konta miałem trochę dziwny wpis, mianowicie GID dla usera się nie ustawił....usunąłem konto i stworzyłem jeszcze raz. Wszystkie następne konta już automatem miały ustawione odpowiednie wartości...pewnie bug w ISPConfig.
jak zupełnie pozbyć się jailkita (czyli gdzie są jego wszystkie pliki, te oczywiste przeniosłem w inne miejsce)
Skoro pytasz, to pewnie instalowałeś ze źródeł:

Kod: Zaznacz cały

whereis jailkit
Musisz sobie poszukać: w /etc masz konfigurację, w /usr/share skrypty....generalnie nie musisz tego wszystkiego wywalać - jailkit to tylko skrypt (polecenie) - jeśli go nie wykonasz, to go nie używasz.

Problemem jest sam ISPConfig - przy tworzeniu konta ssh (z jailkitem) używa jailkita jako wrappera dla useradd. Rozwiązanie: nie twórz kont z jailkitem.
zmienić jego konfigurację i "naprawić" problem
lub
dokonać zmian dla konta roota, żeby omijało jailkita
lub
czy ktoś po prostu wie w jaki sposób rozwiązać ten problem?
Jak wyżej - problemu prawdopodobnie nie ma - musisz sprawdzić jeszcze raz (bez drastycznych ruchów typu mv /etc/passwd /dev/null, bo tym więcej napsujesz niż naprawisz i będziemy debugować zwalony system, a nie jailkita/ispconfig). Domyślne ustawienia z ISPConfig działają, więc jeśli sam niczego nie namieszałeś, to powinno być dobrze.

W /etc/ssh/sshd_config masz ustawienia sshd - jeśli tam nic nie ma (a raczej nie będzie), to powinno być ok. O ile wiem - jailkit nie rusza tego pliku, więc nic tam nie powinno być zwalone. Jeśli zmienisz jakieś ustawienia sam - wyloguj się i zaloguj jeszcze raz (przerwij sesję), bo część ustawień jest widoczna tylko dla nowych sesji.
EDIT:
Usunięcie plików [ /etc/passwd, /etc/passwd-, /etc/group, /etc/group- ] z uszkodzonego systemu nie zmienia nic przy logowaniu poprzez chroot'a.
Eeeee.......? Dlaczego "usunięcie"? Wykomentowanie wpisów jeszcze rozumiem, ale to tak trochę jak rm -rf / - nie rób takich rzeczy.
Awatar użytkownika
rozwell
Sędziwy Jeż
Sędziwy Jeż
Posty: 32
Rejestracja: 12 wrz 2007, 02:14
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: Jailkit i rozwalony system - umieścił roota w jailu?

Post autor: rozwell »

kaliban pisze: Prawdopodobnie (strzelam) trzeba poczekać chwilę na przeładowanie ustawień i wsio działa po staremu. Jeśli nie - usuń konto ssh z jailkitem i załóż jeszcze raz (wszystko przez ISPConfig).
Tu chodziło o totalny pad systemu, chwila czekania kończyła się tym, że serwer jedyne na co odpowiadał to ping.
kaliban pisze: Skoro pytasz, to pewnie instalowałeś ze źródeł:

Kod: Zaznacz cały

whereis jailkit
Musisz sobie poszukać: w /etc masz konfigurację, w /usr/share skrypty....generalnie nie musisz tego wszystkiego wywalać - jailkit to tylko skrypt (polecenie) - jeśli go nie wykonasz, to go nie używasz.
Zacząłem od wywalenia wszystkich jego plików i katalogów (używam locate), ale nie wnikałem nigdy jak dokładnie działa instalowanie ze źródeł. Skoro wywalenie wszystkich jego plików nie dało żadnych rezulatów, założyłem że może siedzieć gdzieś jeszcze.
kaliban pisze: Problemem jest sam ISPConfig - przy tworzeniu konta ssh (z jailkitem) używa jailkita jako wrappera dla useradd. Rozwiązanie: nie twórz kont z jailkitem.
Postawiłem serwer do testów na dysku usb i dodawanie kont z jailkitem poprzez ISConfig działało. Sprawdzając różnice doszedłem do tego, że na moim usb-serwerze musiałem podczas instalacji stworzyć dodatkowe konto, inne od roota. To mnie nakierowało i w końcu znalazłem przyczynę, ale o tym na końcu.
kaliban pisze: Jak wyżej - problemu prawdopodobnie nie ma - musisz sprawdzić jeszcze raz (bez drastycznych ruchów typu mv /etc/passwd /dev/null, bo tym więcej napsujesz niż naprawisz i będziemy debugować zwalony system, a nie jailkita/ispconfig). Domyślne ustawienia z ISPConfig działają, więc jeśli sam niczego nie namieszałeś, to powinno być dobrze.
System już był 'zwalony', bo jak wcześniej wspomniałem root nie był w stanie NIC zrobić, tym bardziej uruchomić systemu.
kaliban pisze: W /etc/ssh/sshd_config masz ustawienia sshd - jeśli tam nic nie ma (a raczej nie będzie), to powinno być ok. O ile wiem - jailkit nie rusza tego pliku, więc nic tam nie powinno być zwalone. Jeśli zmienisz jakieś ustawienia sam - wyloguj się i zaloguj jeszcze raz (przerwij sesję), bo część ustawień jest widoczna tylko dla nowych sesji.
Ten pliczek miałem już skonfigurowany i nie miał żadnego znaczenia w sprawie.
kaliban pisze: Eeeee.......? Dlaczego "usunięcie"? Wykomentowanie wpisów jeszcze rozumiem, ale to tak trochę jak rm -rf / - nie rób takich rzeczy.
[/quote]
To było raczej obrazowe przedstawienie, że ta operacja nic nie daje. Nie martw się, nie robię takich rzeczy i wiem czym to grozi.

A teraz czas na rozwiązanie problemu, które jest tak proste, że aż głupie. W pliku:

Kod: Zaznacz cały

/etc/jailkit/jk_init.ini
mamy kilka sekcji z wpisami:

Kod: Zaznacz cały

users = root
groups = root
Wystarczy je wszystkie zakomentować i po problemie. Sekcje w których są powyższe wpisy to:

Kod: Zaznacz cały

[jk_lsh]
[basicshell]
[openvpn]
[apache]
Oczywiście nie musimy komentować wszystkich, tylko te które są nam potrzebne, ale na wszelki wypadek radzę zakomentować wszystkie.

Wyjaśnienie z oryginalnej dokumentacji:

Kod: Zaznacz cały

The users and groups entries specify which users and groups that need to be present in <jail>/etc/passwd.
No i to byłoby na tyle.
Problem solved.
it's a good day to die
roland24
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 09 paź 2009, 11:05
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: Brak
Architektura: x86_64

Odp: [solved] Jailkit i rozwalony system - Jailkit umieścił roota w jailu?

Post autor: roland24 »

Witam,
Mnie to samo parę dni temu spotkało. dodałem usera do shella w ispconfig 3 i wszystko padło. moja konsola server www, nie było nic. Przerażenie! Wykonałem reboot sprzętowy i czekałem, czekałem i nic ani ssh ani stron www. Kontaktuje się z serwerownia a oni mówią:
"Otrzymałem informację od technika, który zajmował się Państwa serwerem: także ostatnim razem pojawił sie ten sam komunikat błędu:
"freeing unused kernel memory 332k freed
warning unable to open an initial console
Kernel panic - not syncing : No init found : try passing init = option to kernel."
Sprawdził on czy problem nie jest spowodowany usterką sprzętową, ale została wykluczona. Wygląda na to, że problem tkwi w usterce software (skoro po reinstalacji serwer działał poprawnie, być może ktoś lub coś wykonało rekonfigurację ustawień serwera). Nasz administrator proponuje, aby wykonali Państwo backup danych i wykonali reinstalację serwera."

"Jak już napisałem w poprzedniej korespondencji, wygląda na to, że doszło do usterki software i prawdopodobnie będzie potrzebna reinstalacja serwera (od strony hardware wszystko wygląda poprawnie według technika, który zajmował się Państwa serwerem)."

Załamany przystąpiłem do reinstalacji systemu. Samych danych miałem ponad 20GB. Wykonałem reinstalację ubuntu 9.04 z ispconfig3. Po dwóch dniach potrzebowałem utworzyć konto shellowe dla usera i zrobiłem to samo! Włączyłem opcję Jailkit. :(
Konsola dała komunikat: # mc
bash: /usr/bin/mc: No such file or directory

sprawdzam z webmina czy działają procesy, server ssh. nic, nic nie działa, żadne procesy, działa tylko strona www, baza mysql i to jest szczęście. Jestem pełen radości że serwer www i mysql działają. Szukam w sieci rozwiązania. Znajduję rozwiązanie to na tym forum. Na tę chwilę nic nie robię bo wszystko działa. Zrobię to w nocy, z trybu rescue to co kolega wyżej pisał:
z haszuję w pliku /etc/jailkit/jk_init.ini
[jk_lsh]
[basicshell]
[openvpn]
[apache]

O czym napisze czy sie sprawdziło. Pytanie pozostaje dlaczego Jailkit z ispconfig 3 tak funkcjonuje. Czy ktoś znalazł na to normalne rozwiązanie?

EDIT:
Sprawdzam zawartość /etc/jailkit/jk_init.ini

[uidbasics]
# this section probably needs adjustment on 64bit systems
# or non-Linux systems
comment = common files for all jails that need user/group information
libraries = /lib/libnsl.so.1, /lib64/libnsl.so.1, /lib/libnss*.so.2, /lib64/libnss*.so.2
regularfiles = /etc/nsswitch.conf /etc/ld.so.conf

[netbasics]
comment = common files for all jails that need any internet connectivity
libraries = /lib/libnss_dns.so.2, /lib64/libnss_dns.so.2
regularfiles = /etc/resolv.conf, /etc/host.conf, /etc/hosts, /etc/protocols

[logbasics]
comment = timezone information
regularfiles = /etc/localtime
need_logsocket = 1

[jk_lsh]
comment = Jailkit limited shell
executables = /usr/sbin/jk_lsh
regularfiles = /etc/jailkit/jk_lsh.ini
users = root
groups = root
need_logsocket = 1
includesections = uidbasics

[limitedshell]
comment = alias for jk_lsh
includesections = jk_lsh

[cvs]
comment = Concurrent Versions System
executables = /usr/bin/cvs
devices = /dev/null

[git]
comment = Fast Version Control System
executables = /usr/bin/git*
directories = /usr/share/git-core
includesections = editors

[scp]
comment = ssh secure copy
executables = /usr/bin/scp
includesections = netbasics, uidbasics
devices = /dev/urandom

[sftp]
comment = ssh secure ftp
executables = /usr/lib/sftp-server, /usr/libexec/openssh/sftp-server, /usr/lib/misc/sftp-server, /usr/libexec/sftp-server
includesections = netbasics, uidbasics
devices = /dev/urandom, /dev/null

[ssh]
comment = ssh secure shell
executables = /usr/bin/ssh
includesections = netbasics, uidbasics
devices = /dev/urandom, /dev/tty

[rsync]
executables = /usr/bin/rsync
includesections = netbasics, uidbasics

[procmail]
comment = procmail mail delivery
executables = /usr/bin/procmail, /bin/sh
devices = /dev/null

[basicshell]
comment = bash based shell with several basic utilities
executables = /bin/sh, /bin/bash, /bin/ls, /bin/cat, /bin/chmod, /bin/mkdir, /bin/cp, /bin/cpio, /bin/date, /bin/dd, /bin/echo, /bin/egrep, /bin/false, /bin/fgrep, /bin/grep, /bin/gunzip, /bin/gzip, /bin/ln, /bin/ls, /bin/mkdir, /bin/mktemp, /bin/more, /bin/mv, /bin/pwd, /bin/rm, /bin/rmdir, /bin/sed, /bin/sh, /bin/sleep, /bin/sync, /bin/tar, /bin/touch, /bin/true, /bin/uncompress, /bin/zcat
regularfiles = /etc/motd, /etc/issue, /etc/bash.bashrc, /etc/bashrc, /etc/profile
directories = /usr/lib/locale/en_US.utf8
users = root
groups = root
includesections = uidbasics

[midnightcommander]
comment = Midnight Commander
executables = /usr/bin/mc, /usr/bin/mcedit, /usr/bin/mcview
directories = /etc/terminfo, /usr/share/terminfo, /usr/share/mc
includesections = basicshell

[extendedshell]
comment = bash shell including things like awk, bzip, tail, less
executables = /usr/bin/awk, /usr/bin/bzip2, /usr/bin/bunzip2, /usr/bin/ldd, /usr/bin/less, /usr/bin/clear, /usr/bin/cut, /usr/bin/du, /usr/bin/find, /usr/bin/head, /usr/bin/less, /usr/bin/md5sum, /usr/bin/nice, /usr/bin/sort, /usr/bin/tac, /usr/bin/tail, /usr/bin/tr, /usr/bin/sort, /usr/bin/wc, /usr/bin/watch, /usb/bin/whoami
includesections = basicshell, midnightcommander, editors

[editors]
comment = vim, joe and nano
executables = /usb/bin/joe, /usr/bin/nano, /usr/bin/vi, /usr/bin/vim, /usr/bin/pico
regularfiles = /etc/vimrc
directories = /etc/joe, /etc/terminfo, /usr/share/vim, /usr/share/terminfo, /lib/terminfo

[netutils]
comment = several internet utilities like wget, ftp, rsync, scp, ssh
executables = /usr/bin/wget, /usr/bin/lynx, /usr/bin/ftp, /usr/bin/host, /usr/bin/rsync, /usr/bin/smbclient
includesections = netbasics, ssh, sftp, scp

[apacheutils]
comment = htpasswd utility
executables = /usr/bin/htpasswd

[extshellplusnet]
comment = alias for extendedshell + netutils + apacheutils
includesections = extendedshell, netutils, apacheutils

[openvpn]
comment = jail for the openvpn daemon
executables = /usr/sbin/openvpn
users = root,nobody
groups = root,nogroup
includesections = netbasics
devices = /dev/urandom, /dev/random, /dev/net/tun
includesections = netbasics, uidbasics
need_logsocket = 1

[apache]
comment = the apache webserver, very basic setup, probably too limited for you
executables = /usr/sbin/apache
users = root, www-data
groups = root, www-data
includesections = netbasics, uidbasics

[perl]
comment = the perl interpreter and libraries
executables = /usr/bin/perl
directories = /usr/lib/perl, /usr/lib/perl5, /usr/share/perl, /usr/share/perl5

[xauth]
comment = getting X authentication to work
executables = /usr/bin/X11/xauth
regularfiles = /usr/X11R6/lib/X11/rgb.txt, /etc/ld.so.conf

[xclients]
comment = minimal files for X clients
regularfiles = /usr/X11R6/lib/X11/rgb.txt
includesections = xauth

[vncserver]
comment = the VNC server program
executables = /usr/bin/Xvnc, /usr/bin/Xrealvnc
directories = /usr/X11R6/lib/X11/fonts/
includesections = xclients


#[xterm]
#comment = xterm
#executables = /usr/bin/X11/xterm
#directories = /usr/share/terminfo, /etc/terminfo
#devices = /dev/pts/0, /dev/pts/1, /dev/pts/2, /dev/pts/3, /dev/pts/4, /dev/ptyb4, /dev/ptya4, /dev/tty, /dev/tty0, /dev/tty4
i w niektórych sekcjach mam root i dodatkowo wwwdata i serwisy www i baza mysql oraz ftp chodzą, pracują, lecz nie mam dostępu do ssh. Przez ftp loguje się i mogę zmieniać pliki.

Pytanie jest takie czy z haszować wszystko czy wyrzucić root, zna ktoś odpowiedź?
Awatar użytkownika
rozwell
Sędziwy Jeż
Sędziwy Jeż
Posty: 32
Rejestracja: 12 wrz 2007, 02:14
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: [solved] Jailkit i rozwalony system - Jailkit umieścił roota w jailu?

Post autor: rozwell »

Temat trochę już stary, ale wczoraj miałem okazję znów instalować jailkita, tym razem w najnowszej wersji (2.11).

Według mojej wczesniejszej korespondencji z autorem programu wynika, że te opcje nie powinny mieć wpływu na system, ale jednak miały, więc na wszelki wypadek je zakomentowałem.
System działa bez zarzutu i zdaje się że jail również (na razie nikt nie zgłaszał problemów).

Dodam jeszcze, że testowałem jailkit'a u siebie w domu i problem się nie pojawił.

Więc prawdopodobna przyczyna to specyficzna dystrybucja (w moim przypadku ubuntu 9.04 server, wersja podstawowa, modyfikowana przez ovh.pl) - z tego co pamiętam to instalowany lokalnie system wymusił na mnie utworzenie dodatkowego konta poza samym rootem, a w ovh mam po zainstalowaniu tylko roota. Problem zgłaszały jeszcze inne osoby gdzieś na forum ISPConfig'a i jeśli uda mi się znaleźć tamten wątek, to go dopiszę.

Jeśli ktoś miałby podobne problemy, to proszę dopisać w jakiej wersji jest system i czy był modyfikowany oraz u jakiego usługodawcy się problem pojawił.
it's a good day to die
ODPOWIEDZ

Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości