Jak název napovídá, operace chroot změní zjevný kořenový adresář pro běžící proces a jeho potomky. Umožňuje spouštět program (proces) s jiným kořenovým adresářem než /. Program nemůže vidět ani přistupovat k souborům mimo určený strom adresářů.
Můžete například spustit program a zadat jeho kořenový adresář jako /home/oracle/jail. V tomto případě je kořenový adresář programu ve skutečnosti /home/oracle/jail. Program by si nebyl vědom žádných souborů nad tímto adresářem v hierarchii nebo by k nim neměl přístup. Tento umělý kořenový adresář se nazývá chroot jail. Jeho účelem je omezit přístup potenciálního útočníka k adresáři. Chroot vězení uzamkne daný proces a jakékoli uživatelské ID, které používá, takže uživatel vidí pouze adresář, ve kterém je proces spuštěn. Procesu se zdá, že běží v kořenovém adresáři.
Spouštění služeb DNS a FTP v chroot Jail
Pro využití chrootových vězení jsou nastaveny dvě služby. DNS můžete nastavit tak, aby pojmenované běželo ve vězení. FTP server vsftpd může automaticky spouštět chroot jail pro klienty.
DNS v chroot Jail
Balíček bind-chroot vám umožňuje nastavit název tak, aby běžel ve vězení chroot. Když nainstalujete tento balíček, /var/named/chroot je vytvořen a stane se chrootovým vězeňským adresářem pro všechny soubory BIND.
- Adresář /var/named se změní na /var/named/chroot/var/named.
- Ze souborů /etc/named* se stanou soubory /var/named/chroot/etc/named*.
Instalace tohoto balíčku také nastaví proměnnou shellu ROOTDIR na /var/named/chroot v souboru /etc/sysconfig/named. Výhodou běhu pojmenovaného v chroot jail je, že pokud se do vašeho systému dostane hacker prostřednictvím exploitu BIND, přístup hackera ke zbytku vašeho systému je izolován od souborů v adresáři chroot jail.
FTP klienti v chroot Jail
Ve výchozím nastavení jsou anonymní uživatelé umístěni do chrootového vězení. Když se anonymní uživatel přihlásí na server vsftpd, domovský adresář uživatele je /var/ftp. Nicméně vše, co uživatel vidí, je /.
Například adresář s názvem /var/ftp/upload se anonymnímu uživateli zobrazí jako /upload. To zakazuje anonymním uživatelům v přístupu k souborům nad /var/ftp v hierarchii adresářů.
Místní uživatelé, kteří přistupují k serveru vsftpd, jsou umístěni do jejich domovského adresáře. Můžete povolit volby v souboru /etc/vsftpd/vsftpd.conf a umístit místní uživatele do chrootového vězení, kde je umělý kořenový adresář domovským adresářem uživatele. V konfiguračním souboru vsftpd existují následující možnosti pro implementaci chrootového vězení pro místní uživatele:
- chroot_list_enable
- chroot_local_user
- chroot_list_file
Když se místní uživatel přihlásí k serveru vsftpd, zkontroluje se direktiva chroot_list_enable. Pokud je tato direktiva nastavena na YES, služba zkontroluje /etc/vsftpd/chroot_list soubor (ve výchozím nastavení) nebo jiný soubor určený pomocí chroot_list_file směrnice.
Poté je zkontrolována další direktiva, chroot_local_user . Pokud je tato direktiva nastavena na YES, pak chroot_list se stane seznamem uživatelů, kteří NESMÍ chrootovat. Pokud je tato direktiva nastavena na NO, uživatel je umístěn do chroot jail ve svém domovském adresáři.