A Bottlerocket 1.7 kiadása, egy izolált konténereken alapuló disztribúció

Megjelent a Bottlerocket 1.7.0 Linux disztribúció kiadása, amelyet az Amazon részvételével fejlesztettek ki az elszigetelt konténerek hatékony és biztonságos futtatására. A disztribúció eszközkészlete és vezérlőelemei Rust nyelven készültek, és az MIT és az Apache 2.0 licenc alatt kerülnek terjesztésre. Támogatja a Bottlerocket futtatását Amazon ECS, VMware és AWS EKS Kubernetes fürtökön, valamint egyéni buildek és kiadások létrehozását, amelyek lehetővé teszik a konténerek különböző hangszerelési és futásidejű eszközeit.

A disztribúció egy atomosan és automatikusan frissített oszthatatlan rendszerképet biztosít, amely tartalmazza a Linux kernelt és egy minimális rendszerkörnyezetet, amely csak a konténerek futtatásához szükséges összetevőket tartalmazza. A környezet tartalmazza a systemd rendszerkezelőt, a Glibc könyvtárat, a Buildroot build eszközt, a GRUB rendszerbetöltőt, a gonosz hálózati konfigurátort, a konténeres izolált tároló futási környezetet, a Kubernetes konténer-orchestrációs platformot, az aws-iam-authenticatort és az Amazon ECS ügynököt. .

A konténer-rendezési eszközök egy külön felügyeleti tárolóban vannak, amely alapértelmezés szerint engedélyezve van, és az API-n és az AWS SSM-ügynökön keresztül kezelhető. 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 egy külön szolgáltatástárolóba kerülnek, amely alapértelmezés szerint le van tiltva.

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 nyújtása a lehetséges fenyegetésekkel szembeni rendszervédelem megerősítése, az operációs rendszer összetevőiben lévő sérülékenységek kihasználásának bonyolítása és a tárolók elszigeteltségének növelése összefüggésében. A tárolók a Linux kernel szokásos mechanizmusaival jönnek létre – cgroups, namespaces és seccomp. A további elkülönítés érdekében a disztribúció a SELinuxot "kényszerítő" módban használja.

A gyökérpartíció csak olvasható módban, az /etc beállításokkal rendelkező partíció pedig a tmpfs-ben csatolva lesz, é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 /etc/containerd/config.toml közvetlen módosítása nem támogatott – a beállítások végleges mentéséhez használja az API-t, vagy helyezze át a funkciókat külön tárolókba. A gyökérpartíció integritásának kriptográfiai ellenőrzésére a dm-verity modult használják, és ha blokkeszköz szintű adatmódosítási kísérletet észlel, a rendszer újraindul.

A legtöbb rendszerösszetevő Rust nyelven íródott, amely memóriabiztos eszközöket biztosít a memóriaterület felszabadítása utáni címzéséből, a nullmutatók hivatkozásának megszüntetéséből és a puffertúllépésből eredő sebezhetőségek elkerülésére. Az építés során az "--enable-default-pie" és az "--enable-default-ssp" fordítási módok alapértelmezés szerint lehetővé teszik a végrehajtható fájlok (PIE) címterű véletlenszerűsítését és a verem túlcsordulás elleni védelmét a kanári címkék helyettesítésével. A C/C++ nyelven írt csomagok esetében a "-Wall", "-Worror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" és "-fstack-clash" jelző is használható. tartalmazza -védelem.

Az új kiadásban:

  • Az RPM-csomagok telepítésekor lehetőség van JSON-formátumú programok listájának létrehozására, és a gazdatárolóba való becsatolására /var/lib/bottlerocket/inventory/application.json fájlként, hogy információkat szerezzen az elérhető csomagokról.
  • Az „admin” és „control” tárolók frissítve.
  • Frissített csomagverziók és függőségek a Go és Rust nyelvekhez.
  • Csomagok frissített verziói harmadik féltől származó programokkal.
  • A kmod-5.10-nvidia tmpfilesd konfigurációs problémái megoldva.
  • A tuftool telepítésekor a függőségi verziók összekapcsolódnak.

Forrás: opennet.ru

Hozzászólás