Az Amazon közzéteszi a Bottlerocket 1.0.0-t, egy izolált konténereken alapuló Linux-disztribúciót

amazon bemutatott dedikált Linux disztribúció első jelentős kiadása Palackütő 1.0.0, amelyet az elszigetelt konténerek hatékony és biztonságos működtetésére terveztek. A disztribúció eszközei és vezérlőelemei Rust és nyelven íródnak terjedés MIT és Apache 2.0 licenc alatt. A projektet a GitHubon fejlesztik, és a közösség tagjai számára elérhető. A rendszertelepítési lemezkép x86_64 és Aarch64 architektúrákhoz jön létre. Az operációs rendszert Amazon ECS és AWS EKS Kubernetes fürtökön való futtatásra alakították ki. biztosítottak eszközök saját összeállítások és kiadások létrehozásához, amelyek más hangszerelési eszközöket, kerneleket és futási időt is használhatnak a tárolókhoz.

A disztribúció biztosítja a Linux kernelt és egy minimális rendszerkörnyezetet, amely csak a konténerek futtatásához szükséges összetevőket tartalmazza. A projektben részt vevő csomagok között szerepel a rendszerkezelő systemd, a Glibc könyvtár és az összeszerelő eszközök
Buildroot, GRUB rendszerbetöltő, hálózati konfigurátor gonosz, futásidő elszigetelt tárolókhoz konténeres, Kubernetes konténer hangszerelési platform, aws-iam-authenticator és Amazon ECS ügynök.

A disztribúció atomszerűen frissül, és oszthatatlan rendszerkép formájában kerül szállításra. Két lemezpartíció van lefoglalva a rendszer számára, amelyek közül az egyik tartalmazza az aktív rendszert, és a frissítés átmásolódik a másodikra. A frissítés telepítése után a második partíció válik aktívvá, az elsőben pedig a következő frissítés megérkezéséig a rendszer korábbi verziója kerül mentésre, amelyre probléma esetén vissza lehet görgetni. A frissítések telepítése automatikusan, rendszergazdai beavatkozás nélkül történik.

A legfontosabb különbség a hasonló disztribúcióktól, mint például a Fedora CoreOS, CentOS/Red Hat Atomic Host, az elsődlegesen a maximális biztonság az esetleges fenyegetésekkel szembeni rendszervédelem megerősítésével összefüggésben, ami megnehezíti az operációs rendszer összetevőiben lévő sérülékenységek kihasználását és növeli a konténerek elszigeteltségét. A tárolók szabványos Linux kernel-mechanizmusokkal jönnek létre – cgroups, namespaces és seccomp. A további elkülönítés érdekében a disztribúció a SELinuxot „enforcing” módban használja, a modul pedig a gyökérpartíció integritásának kriptográfiai ellenőrzésére szolgál. dm-verity. Ha a rendszer egy blokkeszköz-szintű adatmódosítási kísérletet észlel, a rendszer újraindul.

A gyökérpartíció csak olvasható, az /etc settings partíció pedig a tmpfs-ben, és újraindítás után visszaáll az eredeti állapotába. Az /etc könyvtárban lévő fájlok, például az /etc/resolv.conf és az /etc/containerd/config.toml közvetlen módosítása nem támogatott – a beállítások végleges mentéséhez az API-t kell használnia, vagy a funkcionalitást külön tárolókba kell helyeznie.

A legtöbb rendszerösszetevő Rust nyelven íródott, amely memóriabiztos funkciókat kínál az utólagos memóriaelérések, a nullmutató hivatkozások és a puffertúllépések által okozott sebezhetőségek elkerülésére. Alapértelmezés szerint az „--enable-default-pie” és az „--enable-default-ssp” fordítási módok a futtatható fájlok címterének véletlenszerűvé tételére szolgálnak.PITE) és a verem túlcsordulás elleni védelme kanári helyettesítéssel.
A C/C++ nyelven írt csomagokhoz további jelzők is tartoznak
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" és "-fstack-clash-protection".

A konténer hangszerelési eszközöket külön szállítjuk vezérlő tartály, amely alapértelmezés szerint engedélyezve van, és a következőn keresztül vezérelhető API és AWS SSM ügynök. Az alapképből hiányzik a parancshéj, az SSH-kiszolgáló és az értelmezett nyelvek (például nincs Python vagy Perl) - az adminisztrációs és hibakereső eszközök itt találhatók. külön szerviztartály, amely alapértelmezés szerint le van tiltva.

Forrás: opennet.ru

Hozzászólás