Portál AbcLinuxu, 18. prosinec 2017 15:59

Jaderné noviny – 6. 4. 2017: Souborové systémy spolupracující s kontejnery

24.4. | Redakce
Články - Jaderné noviny – 6. 4. 2017: Souborové systémy spolupracující s kontejnery  

Stav vydání jádra. Citáty týdne. Donald Drumpf a Nicolas Pitre. Souborové systémy spolupracující s kontejnery.

Stav vydání jádra

Současné vývojové jádro je 4.11.rc5, vydané 2. dubna. Linus řekl: „OK, už se to konečně začalo uklidňovat, doufejme, že to tak zůstane a nebyla to pouze náhoda.“

Seznam regresí z 2. dubna obsahuje 13 známých problémů.

Stabilní aktualizace: 4.10.7, 4.9.19 a 4.4.58 byly vydány 30. března. Hned 31. března je následovaly aktualizace 4.10.8, 4.9.20 a 4.4.59.

Citáty týdne

Minulý rok přišlo velké hnutí Linux Exit („Lexit“). Lidé z celého světa se sešli a dožadovali se, aby se vývojářům vrátila moc. Vytvořili historický fork založený na Linuxu 2.4, ze starých dobrých časů, než byl Linux ovládnut korporátními zájmy. Alternativní média LWN.net tvrdila, že něco takového se nemůže stát, ale my jsme věděli svoje.

„Donald Drumpf“ zapomněl „selhat“

Už mám implementaci alternativního plánovače, která zabírá 9K. Prozatím ji ale mám v záloze. Ještě to neříkejte lidem od plánovačů.

Nicolas Pitre

Jaderný podcast ze 4. dubna 2017

Byl vydán jaderný podcast ze 4. dubna. „Linus Torvalds oznamuje 4.11-rc5, Donald Drumpf na Apríla čistí správcovský chlév, ovladače zařízení Intel FPGA, kešování stavu FPU, přístup k /dev/mem shazuje systémy a rozličný probíhající vývoj.“

Souborové systémy spolupracující s kontejnery

Blíží se chvíle, kdy bude možné provádět neprivilegovaná připojení uvnitř kontejnerů, ale stále zbývají některé záležitosti, které při takovém scénáři nefungují. Konkrétně ID uživatelů (a ID skupin) uvnitř obrazů souborových systémů jsou v tomto případě problematická. James Bottomley o tomto problému vedl diskuzi v rámci konání letošního summitu o úložištích, souborových systémech a správě paměti.

Různá řešení kontejnerů v Linuxu (Docker, LXC, rkt atd.) veskrze používají stejná kontejnerová rozhraní, řekl. To vede k tomu, že lidé používají v různých případech různé přístupy. Ale problém s UID uloženými v obrazech souborových systémů je postihuje všechny. Tyto obrazy jsou typicky plnohodnotné kořenové souborové systémy kontejnerů, které obsahují spoustu souborů vlastněných uživatelem root.

Bottomley navrhl shiftfs jako možné řešení tohoto problému. Podobá se vázanému připojení (bind mount), ale UID souborového systému překládá na základě mapování jmenného prostoru uživatelů. Neprivilegované kontejnery ho mohou používat k připojení podstromu, který byl administrátorem explicitně označen jako připojitelný pomocí shiftfs.

Dřívější snaha o vyřešení tohoto problému spočívala v přidání pole s_userns do superbloku, aby bylo možné překládat UID, ale jedná se o řešení pracující nad superbloky a nefunguje dobře s kontejnery, které chtějí sdílet konkrétní připojený souborový systém mezi kontejnery s různými mapováními UID. Se shiftfs přeloží operace inodu UID podle mapování jmenného prostoru na to, co mu odpovídá v souborovém systému na nižší úrovni, dříve než na nižší úroveň přejde operace samotná. To znamená, že virtuální souborový systém (VFS) se obejde beze změn, což činí celé řešení elegantnějším, řekl Bottomley.

Povolení připojování libovolných adresářových stromů v neprivilegovaných kontejnerech, a to včetně umožnění uživatelům vytvářet binárky s UID nastaveným na roota, má ovšem některé podstatné bezpečnostní důsledky. Takže správce musí označit (pomocí rozšířených atributů ve svém prototypu) ty podstromy, které jsou pro takový způsob připojení bezpečné.

Al Viro se zeptal, zda je v plánu umožnit povolit připojení ručně vytvořených obrazů souborových systémů XFS nebo ext4. Pro útočníka je to jednoduchý způsob, jak by mohl spustit svůj vlastní kód v ring 0, řekl. Souborové systémy nejsou napsány způsobem, který by s takovým způsobem (zne)užití počítal. Když byl dotázán, zda je skutečně tak snadné shodit jádro ručně vytvořeným obrazem souborového systému, odpověděl Viro: „Je voda mokrá?“

Amir Goldstein řekl, že současným mechanismem pro připojování souborových systémů v neprivilegovaných kontejnerech je FUSE. Bottomley se však obává, že démon FUSE je možné napadnout, takže by i on měl běžet v neprivilegovaném kontejneru. Pokud by došlo k omezení připojování na USB flešky, znamenalo by to, že by útočník potřeboval fyzický přístup, který umožňuje spoustu jiných možností, jak systém kompromitovat, takže je v tomto ohledu „bezpečný“. Ovšem pokud má dojít na podporu loopback připojení souborových systémů, nesmí kód souborového systému obsahovat žádné zneužitelné chyby.

Tak trochu stranou Goldstein vývojářům souborových systémů připomenul, že jejich souborové systémy mohou běžet pod overlayfs. Navrhl, že by bylo dobré věnovat více pozornosti testování různých souborových systémů pod overlayfs.

Ačkoliv účastníci problém s neprivilegovanými kontejnery uznali, zatím nepanuje shoda na tom, jak by mělo vypadat jeho správné řešení.

Odkazy a zdroje

LWN.net

Další články z této rubriky

Jaderné noviny – 30. 11. 2017: Začleňovací okno 4.15
Jaderné noviny – 16. 11. 2017: Přirozená křehkost seccomp()
Jaderné noviny – 9. 11. 2017: Novinky v testování jádra sebou samým
Jaderné noviny – 2. 11. 2017: Jaderný a správcovský summit 2017
Jaderné noviny – 26. 10. 2017: Statistiky vývojového cyklu 4.14

Diskuse k tomuto článku

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.