Bottlerocket 1.3 kiadása, egy elszigetelt konténereken alapuló disztribúció

Megjelent a Bottlerocket 1.3.0 Linux disztribúció, amelyet az Amazon közreműködésével fejlesztenek a izolált konténerek hatékony és biztonságos indítása érdekében. A disztribúció eszközei és vezérlőelemei Rust nyelven íródtak, és MIT, valamint Apache 2.0 licenc alatt terjesztik. A Bottlerocket az Amazon ECS, VMware és AWS EKS Kubernetes klaszterekben támogatott, emellett lehetővé teszi tetszőleges összeállítások és kiadások létrehozását, amelyek különböző konténerorkesztráló és runtime eszközök alkalmazását teszik lehetővé.

A disztribúció atomikus és automatikusan frissíthető, oszthatatlan rendszerképet biztosít, amely tartalmazza a Linux magot és a minimális rendszerkörnyezetet, amely csak a konténerek indításához szükséges összetevőket tartalmazza. A környezetben aktív a systemd rendszerkezelő, a Glibc könyvtár, a Buildroot építési eszközkészlet, a GRUB indítóprogram, a wicked hálózati konfiguráló, az izolált konténerek runtime-ja, a containerd, a Kubernetes konténerorkésztráló platform, az aws-iam-authenticator hitelesítő és az Amazon ECS ügynök.

A konténerorkesztráló eszközök külön vezérlőkonténerben találhatók, amely alapértelmezetten be van kapcsolva és az API-n, valamint az AWS SSM Agent-en keresztül kezelhető. Az alapképből hiányzik a parancssor. szerver SSH és értelmezett nyelvek (például nincs Python vagy Perl) — az adminisztrátor és hibakereső eszközök egy külön szolgáltató konténerbe kerülnek, amely alapértelmezetten ki van kapcsolva.

A hasonló disztribúcióktól, mint a Fedora CoreOS, CentOS/Red Hat Atomic Host, eltérően a legfőbb különbség a maximális biztonság biztosítása felé irányul, figyelembe véve a rendszer védelmét a lehetséges fenyegetésekkel szemben, a sérülékenységek kihasználásának megnehezítését az operációs rendszer elemeiben, és a konténerek szigetelésének fokozását. A konténerek a Linux mag beépített mechanizmusainak — cgroups, névtér és seccomp — segítségével készülnek. További szigetelés érdekében a disztribúcióban SELinux „enforcing” üzemmódba van állítva.

A gyökérpartíció csak olvasásra van csatolva, az /etc beállításait tartalmazó partíció tmpfs formátumban van csatolva, és újraállítja az eredeti állapotát újraindítás után. Az /etc könyvtárban lévő fájlok, mint 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 tartós megőrzéséhez az API-t kell használni, vagy a funkciókat külön konténerekbe kell kihelyezni. A gyökérpartíció integritásának kriptográfiai ellenőrzésére a dm-verity modul kerül felhasználásra, és ha bármilyen adatmódosítási kísérletet észlel a blokkszintű eszközökön, a rendszer újraindul.

A legtöbb rendszerkomponens Rust nyelven íródott, amely biztonságos memóriakezelési eszközöket biztosít, lehetővé téve az olyan sebezhetőségek elkerülését, mint a memória területére való hivatkozás felszabadítás után, a null-pontra való dereferálás és a puffer túllépés. Az alapértelmezett fordítási módok között alkalmazzák a „—enable-default-pie” és a „—enable-default-ssp” beállításokat, a végrehajtható állományok (PIE) címének véletlenszerűsítésére és a verem túlcsordulás elleni védelmet olyan kanárlapok helyettesítésével. C/C++ nyelven írt csomagok esetén további kapcsolók, mint a „-Wall”, „-Werror=format-security”, „-Wp,-D_FORTIFY_SOURCE=2”, „-Wp,-D_GLIBCXX_ASSERTIONS” és „-fstack-clash-protection” is be vannak kapcsolva.

Az új kiadásban:

  • Kihasználási lehetőségek kerültek megszüntetésre a docker eszközkészletében és a runtime containerd-ben (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103), amelyek helytelen jogosultságbeállítással voltak összefüggésben, lehetővé téve, hogy a nem privilegizált felhasználók a gyökérkönyvtáron kívül hajtsanak végre külső programokat.
  • A kubelet és a pluto bővült. IPv6 támogatás.
  • Lehetővé tették a konténer újraindítását a beállításainak megváltoztatása után.
  • Az eni-max-pods csomaghoz hozzáadva a támogatás az Amazon EC2 M6i instance-hoz.
  • Az open-vm-tools-hoz eszközszűrők támogatása került bevezetésre a Cilium eszközkészletének alkalmazásával.
  • x86_64 platformon megvalósult a hibrid indítási mód (EFI és BIOS támogatással).
  • Frissítették a Rust nyelvhez tartozó csomagok és függőségek verzióit.
  • Leállították az aws-k8s-1.17 distró támogatását, amely a Kubernetes 1.17 alapjaira épült. Ajánlott az aws-k8s-1.21 verzió használata, amely a Kubernetes 1.21 támogatását nyújtja. A k8s verziókban a cgroup runtime.slice és a system.slice beállításai aktívak.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster