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

Megjelent a Bottlerocket 1.3.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:

  • Javítva a docker- és futásidejű konténereszközök (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103) biztonsági rései, amelyek a hozzáférési jogok helytelen beállításával kapcsolatosak, és lehetővé tették, hogy a jogosulatlan felhasználók túllépjenek az alapfelhasználókon. könyvtárat és külső programokat futtatni.
  • IPv6 támogatást adtunk a kubelethez és a Plutohoz.
  • Lehetőség van a tároló újraindítására a beállítások módosítása után.
  • Az Amazon EC2 M6i példányok támogatása hozzáadásra került az eni-max-pods csomaghoz.
  • Az Open-vm-tools kiegészítette az eszközszűrők támogatását a Cilium eszközkészlet alapján.
  • Az x86_64 platformon hibrid rendszerindítási mód van megvalósítva (az EFI és a BIOS támogatásával).
  • Frissített csomagverziók és függőségek a Rust nyelvhez.
  • A Kubernetes 8-en alapuló aws-k1.17s-1.17 terjesztési változat támogatása megszűnt. Javasoljuk, hogy az aws-k8s-1.21 verziót használja a Kubernetes 1.21 támogatásával. A k8s változatok a cgroup runtime.slice és system.slice beállításokat használják.

Forrás: opennet.ru

Hozzászólás