Strona 1 z 2

Jak i czym chroot'ować na Debian 8

: 17 lipca 2016, 19:56
autor: Pineapple
Cześć, jestem nowy jeśli chodzi o pingwiny. Mam problem ze zrozumieniem jak lub czy chrootować jakąś aplikację/daemona/usługę. Pierwszy problem miałem przy instalacji binda, którego jak wszem i wobec wiadomo trzeba a przynajmniej wypadałoby z chrootować, na szczęście istnieje oficjalna instrukcja: https://wiki.debian.org/Bind9#Bind_Chroot.

Ale tak się zastanawiam na czym właściwie to całe chrootowanie polega - jak je wykonać, bo jest cała masa sposobów. Można ręcznie tworzyć strukturę potrzebnych plików tak jak np dla binda w linku w którym podałem lub używać narzędzia typu jailkit. Nie wiem czym te sposoby się różnią, może jailkit robi to samo co ręcznie robiłem z bindem i służy tylko zautomatyzowaniu tego procesu? Jailkit nie jest dostępny jako pakiet dla Debiana w repo, trzeba go pobrać ręcznie, zastanawiam się co to spowodowało? Są jakieś leprze narzędzia do robienia chroota na debianie?

Można też uruchomić daemona przy pomocy start-stop-daemon z parametrami --chdir oraz -chuid. Taki sposób znalazłem na chrootowanie teamspeaka.

Wiem by mieć odpowiednio dobrego chroota trzeba w kompilować w jądro grsecurity, dlatego nie pytam tutaj o aspekt jak umocnić chroota, tylko jak właściwie wykonywać go by był on bezpieczny, zakładając że grsecurity już jest skonfigurowany.

Zastanawiam się też w jaki sposób mogę sprawdzić czy np uruchamiany mój skrypt jest właśnie uruchamiany w jailu/chroot?

Podsumowując, jak zrobić dobrego chroota i jak go sprawdzić?

Re: Jak i czym chroot'ować na Debian 8

: 18 lipca 2016, 21:58
autor: Yampress
chroot - uruchamia polecenie lub powłokę interaktywną ze specjalnym katalogiem głównym

Kod: Zaznacz cały

man chroot

Re: Jak i czym chroot'ować na Debian 8

: 18 lipca 2016, 22:04
autor: Pineapple
Chodziło mi o tak zwanego jaila z bsd ... wynikało to jasno z treści posta

Re: Jak i czym chroot'ować na Debian 8

: 18 lipca 2016, 22:12
autor: Yampress
Znam FBSD i znam jaile.

No tu takiego czegoś nie ma i takich narzędzie. Musisz chrootować katalogi za pomocą chroot
tworząc strukture plików taką aby dany deamon urucjomić. Do tego ustawić grsecurity.

Re: Jak i czym chroot'ować na Debian 8

: 18 lipca 2016, 22:41
autor: Pineapple
I jeśli np chrootuje skrypt w /chroot/home/user/script.sh i w nim przejdę do / to znajdę się w /chroot/ i będę go widział jako / czy wyląduję w /?

Re: Jak i czym chroot'ować na Debian 8

: 19 lipca 2016, 08:43
autor: pawkrol
Znajdziesz się w katalogu głównym chroota. Tylko pamiętaj, jeśli do działania skryptu potrzebujesz jakichś bibliotek, zależności, to je też musisz skopiować do "drzewa" chroota. Najogólniej mówiąc odwzorowujesz system w katalogu np: /home/user/chroot/

Re: Jak i czym chroot'ować na Debian 8

: 19 lipca 2016, 10:00
autor: Pineapple
Tak wiem że trzeba skopiować wszystkie zależności i urządzenia, ostatnie pytanie, jeśli w chroocie chcę uruchomić daemona to wystarczy start-stop-daemon z parametrami --chdir oraz -chuid?

Re: Jak i czym chroot'ować na Debian 8

: 19 lipca 2016, 16:44
autor: Yampress
a tak dlaczego rezygnujesz z rozwiazań jail/freebsd? tak z ciekawości pytam?

Re: Jak i czym chroot'ować na Debian 8

: 19 lipca 2016, 17:05
autor: Pineapple
Trochę nie wiem z czego rezygnuję bo wydawało mi się że tak zwany chroot (nie mylić ze zmianą roota, chodzi sposób odizolowania procesu) to to samo co jail. Różnica taka że jail są w bsd, a na unixach jest coś co nie do końca działa jak jail bo jest słabsze i nazywa się chroot.

Re: Jak i czym chroot'ować na Debian 8

: 19 lipca 2016, 17:12
autor: Yampress
A co Ci brakuje w jailu?? że mowisz nie do końca działa? kłopoty z aktualizacją?
montowanie portów w jailach?

jail jest świetnym rozwiązaniem

Próbowałeś ezjail? Troche prostsze w zarządzaniu. No i każde więzienie posiada wspólną cześć zwaną base system (każde więzienie jeden ten sam wspólny base system), no i już odrebną swoją strukture katalogów w zależności co tam masz.

ezjail
cd /usr/ports/sysutils/ezjail
make install clean
cd /usr/local/etc
cp ezjail.conf.sample ezjail.conf
ezjail-admin install
ezjail-admin create www 10.0.0.236
ezjail-admin create mail 10.0.0.237
ezjail-admin create dns 10.0.0.238
ezjail-admin create ftp 10.0.0.239

/etc/rc.conf
ezjail_enable="YES"
ifconfig_em0_alias0="inet 10.0.0.236 netmask 255.255.255.0"
ifconfig_em0_alias1="inet 10.0.0.237 netmask 255.255.255.0"
.....
usr/local/etc/rc.d/ezjail.sh onestart www
...
Strach się przyznać, ale FreeBSD znam lepiej od Debiana. Zaraz mnie chyba tu zlinczują.
]:>