Van-e jelentős különbség az LXC (Linux tárolók) között és FreeBSD börtönök a biztonság, a stabilitás szempontjából & teljesítmény szempontjából?
Először nézd, mindkét megközelítés nagyon hasonlónak tűnik.
Megjegyzések
- Az LXC meglehetősen új technológia, ezért jobb biztonságot és stabilitást várnék a börtönöknél. még egy tipp is a teljesítményről. Van néhány ismert biztonsági probléma az LXC-vel kapcsolatban, amelyeket például a selinux használatával lehet enyhíteni. Pedig én személy szerint szeretem az LXC-t.
- @ PavelŠimerda Ma csak hallottam az LXC-ről, de voltam meglepett, hogy megtudja, hogy mind a Heroku, mind a Google App Engine valószínűleg már használja az LXC-t.
- Ha ‘ csak ütközött az LXC-vel, akkor meg kell néznie a Dockert, amely az LXC-t használja a motorháztető alatt: docker.io/the_whole_story
- A Docker nem ot már nem használja az lxc-t.
- @nwildner nem használ ‘ már nem használja a liblxc-t, de pontosan ugyanazokat a fogalmakat használja: kernel névterek.
Válasz
Nem számít az itt használt fantázianév, mindkettő megoldást jelent egy adott problémára: Jobb elkülönítési megoldás, mint a klasszikus Unix chroot . Az operációs rendszer szintű virtualizáció, a konténerek, a zónák vagy akár a “szteroidokkal való chroot” olyan nevek vagy kereskedelmi címek, amelyek ugyanazt a fogalmat definiálják a felhasználói térelválasztásról, de eltérő jellemzőkkel rendelkeznek.
A Chroot-ot 1982. március 18-án vezették be. , hónapokkal a 4.2 BSD megjelenése előtt, a telepítés és a rendszer kiépítésének tesztelésére szolgáló eszközként, de ma még mindig vannak hibái. Mivel a chroot első célja csak egy newroot elérési út biztosítása volt, a rendszer egyéb, elkülönítésre vagy irányításra szoruló aspektusait feltárták (hálózat, folyamatnézet, I / O áteresztőképesség). Itt jelentek meg az első tárolók (felhasználói szintű virtualizáció).
Mindkét technológia (FreeBSD Jails és LXC) a felhasználók térszigetelését használja egy újabb biztonsági réteg biztosításához. Ez a szétválasztás biztosítja, hogy egy meghatározott folyamat csak az ugyanazon tárolóban lévő ugyanazon tárolóban lévő más folyamatokkal kommunikáljon, ugyanazon a gazdagépen, és ha bármilyen hálózati erőforrást használ a “külvilág” kommunikáció elérésére, akkor az összes tovább lesz továbbítva a hozzárendelt interfészhez / csatornához, amelyet ez a tároló tartalmaz. rendelkezik.
Jellemzők
FreeBSD börtönök:
- Stabil technológiának tekinthető, mivel 4.0 óta a FreeBSD egyik funkciója;
- A ZFS fájlrendszer legjobbjait veszi igénybe azon a ponton, ahol klónozhatja a börtönöket és létrehozhat börtönsablonok további börtönök egyszerű telepítéséhez. Még néhány ZFS őrület ;
- Jól dokumentált és fejlődik ;
- A hierarchikus börtönök lehetővé teszik, hogy börtönöket hozzanak létre a börtön belsejében (mélyebbre kell mennünk!). Kombinálva az
allow.mount.zfs
vel nagyobb teljesítmény elérése érdekében, és más változók, például achildren.max
maximális gyermekfogházat határoznak meg. id = “7bc29ec1b6”>
rctl (8) kezeli a börtönök erőforráskorlátjait (memória, CPU, lemez, …);
vnet
segítségével, lehetővé téve minden börtön számára, hogy saját hálózati verem, interfészek, címzési és útválasztási táblák; nullfs
a mappák összekapcsolásához a valódi szerveren található börtön belsejében; sysctl
). A security.jail.allow.*
paraméterek korlátozzák az adott börtön fő felhasználójának műveleteit. Linux-konténerek (LXC):
- Új “kernel” technológiában, de nagyok is támogatják őket (különösen Canonical);
- Kiváltságtalan tárolók az LXC 1-től kezdődően.0, nagy lépést tesz a konténerek biztonságában;
- UID és GID leképezés a konténerek belsejében;
- A rendszermag névterei az IPC, a mount, a pid, a hálózat és a felhasználók elkülönítésére. Ezeket a névtereket külön lehet kezelni, ahol egy különböző hálózati névteret használó folyamat nem feltétlenül lesz elkülönítve más szempontoktól, például a tárolástól;
- Csoportok (csoportok) vezérlése az erőforrások kezeléséhez és csoportosításához. A CGManager a fickó ennek elérésére.
- Apparmor / SELinux profilok és Kernel képességek a konténerek által elérhető kernelfunkciók jobb érvényesítéséhez. A Seccomp elérhető az lxc tárolókon is a rendszerhívások szűrésére. További biztonsági szempontok itt .
-
Élő migrációs funkciók fejlesztése folyamatban van. Nagyon nehéz megmondani, hogy mikor lesz kész a gyártási használatra, mivel a docker / lxc-nek a felhasználói tér szüneteltetésével, pillanatképével, áttelepítésével és konszolidálásával kell megküzdenie – ref1 , ref2 .Élő migráció működik az alapvető tárolókkal (nincs eszköz áthaladás sem összetett hálózati szolgáltatások, sem speciális tárolási konfigurációk). - API-összerendelések a fejlesztés lehetővé tételére a python3 és 2, lua, Go, Ruby és Haskell
- központosított “Mi az új” területen. Nagyon hasznos, amikor ellenőrizni kell, hogy javítottak-e valamilyen hibát, vagy elkövettek-e egy új funkciót. Itt .
- Érdekes alternatíva lehet lxd , amely a motorháztető alatt működik az lxc-vel, de van néhány olyan szép funkciója, mint a REST api, az OpenStack integrációja stb.
- Egy másik érdekes az a helyzet, hogy az Ubuntu úgy tűnik, hogy a z div fájlokat szállítja alapértelmezett fájlrendszerként a 16.04 . A projektek összehangolása érdekében az lxd elindította a 2.0-s verzióját, és egyes funkciók zfs kapcsolatosak .
- Alternatívák : OpenVZ , Docker
- Docker . Itt jegyezzük meg, hogy a Docker névtereket, csoportokat használ “alkalmazásonként” / “szoftverenként” elkülönítéssel. . Főbb különbségek itt . Míg az LXC több folyamatot tartalmazó tárolókat hoz létre, a Docker a tárolókat a lehető legnagyobb mértékben egyetlen folyamatra redukálja, majd a Dockeren keresztül kezeli.
- Erőfeszítések a Docker SELinux integrálásával és a konténerben lévő képességek csökkentésével a biztonságosabbá tétel érdekében – Docker és SELinux, Dan Walsh
- Mi a különbség a Docker, az LXD és az LXC között
A Docker már nem használ lxc-t. Most már rendelkeznek egy specifikus lib nevű runc , amely közvetlenül kezeli az integrációt az alacsony szintű kernel névtér és a csoportok funkcióival.
Egyik technológia sem biztonsági csodaszer, de mindkettő nagyon jó módszer egy olyan környezet, amely a vegyes operációs rendszerek infrastruktúrája miatt nem igényel teljes virtualizálást. A biztonság sok dokumentáció elolvasása és kernelhangolható fájlok, MAC és izolációk végrehajtása után következik be, amelyeket az operációs rendszer-szintű virtuális erőforrások kínálnak Önnek.
Lásd még:
- Kézzel készített konténerek
- BSD Most: Minden, amit tudnod kell a börtönökről
- ezjail – Börtön adminisztrációs keretrendszer
- A konténerek rövid története: az 1970-es évektől 2017-ig
- Docker károsnak tekinthető – Jó cikk a konténertechnológiák körüli biztonsági cirkuszról.
Hozzászólások
- Érdemes megemlíteni, hogy a dobozon kívül az lxc nem törekszik a vendégek megfelelő elszigetelésére. Az lxd azonban megpróbál olyan szigetelést biztosítani, mint a BSD börtönök vagy a Solaris zónák.
- Az lxd egy ” jobb élmény ” az LXC-ből, más funkciókat helyezve a tetejére. Jónak tűnik azonban ezt a kis srácot itt idézni
- @allquixotic, arra gondolsz, ha változatlan konfigurációt használsz sablonokból? Igaz, de kiváltságtalan (userns-kompatibilis) tárolók elérhetők voltak az LXC 1.x verzióval, és akár rendszerindításkor is automatikusan elindíthatók, feltéve, hogy
root
tulajdonában vannak (és így megtalálhatók). konténerek rendszerszintű helyén).