Vězení FreeBSD

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 28. června 2015; kontroly vyžadují 10 úprav .

FreeBSD Jail ( anglicky  jail - "vězení") je virtualizační mechanismus v systému FreeBSD , který vám umožňuje vytvořit několik nezávisle běžících FreeBSD na stejném jádru operačního systému, ale zcela nezávisle konfigurovaných s nezávislou sadou nainstalovaných aplikací v rámci jednoho operačního systému FreeBSD. Systém.

FreeBSD Jail je založen na systémovém volání chroot(2) , ve kterém se pro aktuální proces a všechny jeho potomky přenese kořenový adresář do konkrétního umístění v systému souborů . Toto umístění se stane kořenovým adresářem procesu. Proces v karanténě tedy může přistupovat pouze k základnímu adresářovému stromu.

FreeBSD Jail má však podporu i na úrovni jádra , což umožňuje omezit přístup k síti, sdílené paměti, sysctl kernel proměnným a omezit viditelnost procesů mimo vězení.

Proces uvězněný může přistupovat pouze k určitým IP adresám operačního systému a používat konkrétní název hostitele . Takový proces se nazývá „izolovaný proces“ nebo „proces ve vězení“.

Vzniká tak bezpečná „klec“, v níž lze spustit i potenciálně nebezpečný software, který nemůže nijak poškodit hlavní systém ani jiné podobné „klece“. Před verzí 9.0-RELEASE neměl FreeBSD Jail žádnou kontrolu nad využíváním prostředků (stejně jako například OpenVZ pod Linuxem ). Od verze 9.0-RELEASE byly podobné mechanismy zavedeny pomocí nástroje rctl (8) a rámce RACCT .

Na úrovni sysctl systému jsou konfigurována oprávnění uvězněných procesů:

sysctl identifikátor Řízená funkčnost
security.jail.chflags_allowed Schopnost měnit příznaky systémových souborů
security.jail.allow_raw_sockets Schopnost vytvářet nízkoúrovňové zásuvky
security.jail.sysvipc_allowed Schopnost používat System V IPC
security.jail.set_hostname_allowed Možnost nastavit si vlastní název hostitele uvnitř procesů ve vězení (obvykle je název hostitele nastaven při volání vězení)
security.jail.enforce_statfs Možnost vidět všechny připojené souborové systémy uvnitř uvězněných procesů
security.jail.socket_unixiproute_only Omezení schopnosti vytvářet UNIX/IPv4/route sockety
security.jail.list Seznam běžících vězení

Použití

Nejběžnějším použitím FreeBSD Jail je vytváření izolovaných, bezpečných virtuálních strojů. V tomto případě jail(8) spustí inicializační skript /etc/rc , který spustí spuštění samostatného izolovaného virtuálního systému. V případě, že dojde i k nejničivějšímu hacknutí virtuálního systému a jeho funkcionalitě bude zakázána, nebudou ostatní běžící virtuální systémy ovlivněny.

V praxi poskytovatelů hostingu lze mechanismus vězení použít k vybudování spravovaných systémů na vyhrazených serverech . V této možnosti má klient přístup pouze do vězení a technický personál poskytovatelské společnosti do hlavního systému.

Vlastnosti používání virtuálních strojů

FreeBSD Jail, pokud je používán jako virtuální stroj ke spouštění libovolného softwaru, bude vyžadovat kompletní emulaci systémového prostředí, včetně:

Každý virtuální stroj na hostitelském systému (před FreeBSD 7.2) bude ke svému běhu nutně vyžadovat jednu IP adresu . Je také možné použít stejnou IP adresu pro více počítačů, ale služby na těchto virtuálních počítačích nesmí používat stejné porty TCP/UDP .

Počínaje FreeBSD 8.0 lze každému virtuálnímu počítači přiřadit více IP adres.

Více informací o instalaci a používání FreeBSD Jail najdete na manuálových stránkách jail(8) nebo v oficiální dokumentaci. [jeden]

Chyby implementace vězení (ve FreeBSD 7.2 a dřívějších)

add path 'bpf*' unhide

Poznámky

  1. Příručka FreeBSD archivována 15. srpna 2014 na Wayback Machine  

Viz také

Odkazy