A FreeBSD Jail ( eng. jail - "börtön") egy virtualizációs mechanizmus a FreeBSD rendszerben , amely lehetővé teszi több egymástól függetlenül futó FreeBSD létrehozását ugyanazon az operációs rendszer magon, de teljesen függetlenül konfigurálva egy független telepített alkalmazáskészlettel egy FreeBSD operációs rendszeren belül. rendszer.
A FreeBSD Jail a chroot(2) rendszerhíváson alapul , amelyben az aktuális folyamat és annak összes leszármazottja esetében a gyökérkönyvtár átkerül a fájlrendszer egy meghatározott helyére . Ez a hely lesz a folyamat gyökérkönyvtára. Így egy sandbox-folyamat csak az alapul szolgáló könyvtárfához férhet hozzá.
A FreeBSD Jail azonban kernel szinten is támogatja , ami lehetővé teszi a hálózathoz, a megosztott memóriához, a sysctl kernelváltozókhoz való hozzáférés korlátozását, valamint a jail-en kívüli folyamatok láthatóságának korlátozását.
A bezárt folyamatok csak bizonyos operációs rendszer IP - címeihez férhetnek hozzá , és egy adott gazdagépnevet használhatnak . Az ilyen folyamatot "izolált folyamatnak" vagy "börtönzött folyamatnak" nevezik.
Így egy biztonságos „ketrec” jön létre, amelyben akár potenciálisan veszélyes szoftverek is futtathatók, amelyek semmilyen módon nem károsíthatják a fő rendszert vagy más ilyen „ketreceket”. A 9.0-RELEASE verzió előtt a FreeBSD Jail nem szabályozta az erőforrás-használatot (mint például az OpenVZ Linux alatt ). A 9.0-RELEASE verzió óta hasonló mechanizmusokat vezettek be az rctl(8) segédprogramon és a RACCT keretrendszeren keresztül .
A rendszer sysctl szintjén a Jailed folyamatok jogosultságai vannak konfigurálva:
sysctl azonosító | Ellenőrzött funkcionalitás |
---|---|
security.jail.chflags_allowed | Lehetőség a rendszerfájl-jelzők megváltoztatására |
security.jail.allow_raw_sockets | Alacsony szintű aljzatok létrehozásának lehetősége |
security.jail.sysvipc_allowed | A System V IPC használatának képessége |
security.jail.set_hostname_allowed | Lehetőség a saját gazdagépnév beállítására a Jailed folyamatokon belül (általában a gazdagépnevet a jail hívásakor állítják be) |
security.jail.enforce_statfs | Lehetőség az összes csatlakoztatott fájlrendszer megtekintésére a Jailed folyamatokon belül |
security.jail.socket_unixiproute_only | Korlátozás a UNIX/IPv4/route socketek létrehozására |
security.jail.list | A futó JAIL-ek listája |
A FreeBSD Jail legáltalánosabb használata elszigetelt, biztonságos virtuális gépek létrehozása. Ebben az esetben a jail(8) az /etc/rc inicializáló szkriptet futtatja , amely elindítja egy különálló, elszigetelt virtuális rendszer elindítását. Egy virtuális rendszer legpusztítóbb feltörése és funkcióinak letiltása esetén a többi futó virtuális rendszert ez nem érinti.
A tárhelyszolgáltatók gyakorlatában a börtönmechanizmust felügyelt rendszerek dedikált szervereken való felépítésére lehet használni . Ebben az opcióban az ügyfél csak a börtönhöz, a szolgáltató cég műszaki személyzete pedig a főrendszerhez fér hozzá.
A FreeBSD Jail, ha virtuális gépként használják tetszőleges szoftver futtatásához, teljes rendszerkörnyezet emulációt igényel, beleértve:
A gazdagépen található minden virtuális gép (a FreeBSD 7.2 előtt) futtatásához szükségszerűen egyetlen IP-címre lesz szükség . Ugyanazt az IP-címet több géphez is használhatja, de ezeken a virtuális gépeken a szolgáltatások nem használhatják ugyanazokat a TCP/UDP portokat .
A FreeBSD 8.0-tól kezdve minden virtuális géphez több IP-cím is hozzárendelhető.
A FreeBSD Jail telepítésével és használatával kapcsolatos további információkért lásd a jail (8) kézikönyvoldalát vagy a hivatalos dokumentációt. [egy]
add path 'bpf*' unhide
Emulációs és virtualizációs szoftver ( összehasonlítás ) _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Alkalmazási réteg |
| ||||||||||||||
OS szint (tárolók) |
| ||||||||||||||
Hardver szint |
| ||||||||||||||
Hálózati virtualizáció |
|
FreeBSD projekt | ||
---|---|---|
Emberek |
| |
Származékos projektek |
| |
Egyéb projektek |