GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečení LXC ve srovnání s OpenVZ

(Odmítnutí odpovědnosti:nejsem autorita na OpenVZ. Tato odpověď je názornější, než moje odpovědi obvykle jsou, takže neváhejte kritizovat!)

OpenVZ může být "více" bezpečnější v tom, že se neintegruje s celým jádrem, takže jeho útočná plocha je o něco nižší. I když v podstatě OpenVZ je to, co sloužilo jako inspirace pro jmenné prostory, a tedy nakonec pro LXC a Docker. Nevěřím, že to bude pokračovat dlouho, když jsou tato úplnější řešení, no, kompletní.

Jak zdůraznil WhiteWinterWolf, jedním z velkých rozdílů je to, že LXC konečně začne používat uživatelský jmenný prostor, čímž otevírá možnost neprivilegovaným uživatelům spouštět kontejnery a zajišťuje, že obsažený kód, který se vyloupne z kontejneru, si zachová oprávnění neprivilegovaných uživatelů. Kontejnery založené na jmenném prostoru mohou být také plně označeny SELinuxem. Kontejnery Docker už normálně jsou a Dan Walsh pracuje na způsobu, jak zajistit, aby SELinux automaticky vynucoval další vrstvu izolace mezi kontejnery pomocí náhodně generovaných kategorií pro uzavřené procesy.

Stručně řečeno, kontejnery jsou lepší, protože:- Mohou částečně zmařit některá úniky kontejnerů (omezit je na neprivilegované UID), takže eskalace oprávnění uvnitř kontejneru není relevantní.- Jsou více podporovány a aktivněji vyvíjeny, a zejména budou velmi těží z podpory SELinux.

A jsou horší, protože:- Jejich TCB je velmi velké, napříč celým jádrem a každou chvíli se vyskytnou chyby vedoucí k exploitům a únikům.- Uživatelský jmenný prostor mi připadá jako okrajový případ. Eskalace oprávnění obvykle dosáhnete pomocí chyby v SCI (kterou byste byli schopni reprodukovat po vašem útěku) nebo zmatenými zástupnými útoky na privilegovanou službu (které pravděpodobně zůstanou v první řadě mimo váš kontejner). Stále byste tedy museli toto UID spouštějící kontejnery přísně omezit na spuštěné kontejnery.

Stručně řečeno, pokračujte v procvičování obrany do hloubky a nepřestávejte přemýšlet o tom, jak necháte uzavřené procesy interagovat s vnějším světem a jak provozujete kontejnery. Rozdíly existují, ale jak vidíte, jsou spíše minimální.


Linux
  1. Zákulisí s linuxovými kontejnery

  2. Zabezpečení Linuxu:8 dalších ovládacích prvků uzamčení systému

  3. Jak vytvořit a spustit kontejnery LXC Linux pomocí příkazů LXC

  1. méně je více? Je více méně? Jsem tak zmatená

  2. LXD kontejnery a sítě se statickou IP

  3. Jak zacházet s aktualizacemi zabezpečení v kontejnerech Docker?

  1. Jak přidat podporu jádra PPP do kontejnerů OpenVZ

  2. Jaká je další zátěž Linuxu, kterou plánujete kontejnerizovat?

  3. Linux nebo Windows – bezpečnostní problém