(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í.