Elérhető a Bottlerocket 1.8, elszigetelt konténereken alapuló disztribúció

Megjelent a Bottlerocket 1.8.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 adminisztrációs és ellenőrzési konténerek tartalma frissült.
  • Az elszigetelt tárolók futásideje frissítve a konténeres 1.6.x ágra.
  • A tárolók munkáját koordináló háttérfolyamatok a tanúsítványtárolóban történt változtatások után újraindulnak.
  • Lehetőség van a rendszermag rendszerindítási paramétereinek beállítására a Boot Configuration szakaszon keresztül.
  • Engedélyezett az üres blokkok figyelmen kívül hagyása a gyökérpartíció integritásának dm-verity használatával történő ellenőrzésekor.
  • Lehetővé tette a gazdagépnevek statikus összekapcsolását az /etc/hosts fájlban.
  • Lehetőség van hálózati konfiguráció létrehozására a netdog segédprogrammal (a gener-net-config parancs hozzáadásra került).
  • A Kubernetes 1.23 támogatásával új terjesztési lehetőségeket javasolunk. A configMapAndSecretChangeDetectionStrategy mód letiltásával lecsökkenthető a pod-ok indítási ideje a Kubernetesben. Új kubelet-beállítások hozzáadva: szolgáltató-azonosító és podPidsLimit.
  • Az Amazon Elastic Container Service (Amazon ECS) új „aws-ecs-1-nvidia” disztribúcióját javasolták, amely NVIDIA illesztőprogramokkal érkezik.
  • Hozzáadott támogatás a Microchip Smart Storage és a MegaRAID SAS tárolóeszközökhöz. A Broadcom chipeken alapuló Ethernet kártyák bővített támogatása.
  • A csomagok és függőségek frissített verziói a Go és Rust nyelvekhez, valamint a csomagok harmadik féltől származó programokat tartalmazó verziói. A Bottlerocket SDK a 0.26.0 verzióra frissült.

Forrás: opennet.ru

Hozzászólás