Доступен выпуск Linux-дистрибутива Bottlerocket 1.1.0, развиваемого при участии компании Amazon для эффективного и безопасного запуска изолированных контейнеров. Инструментарий и управляющие компоненты дистрибутива написаны на языке Rust и распространяются под лицензиями MIT и Apache 2.0. Поддерживается запуск Bottlerocket в кластерах Amazon ECS и AWS EKS Kubernetes, а также создание произвольных сборок и редакций, допускающих применение различных инструментов оркестровки и runtime для контейнеров.
Ky distribucion ofron një imazh sistemik të pandarë dhe automatikisht të përditësuar, që përfshin bërthamën Linux dhe një mjedis minimal sistemi, duke përfshirë vetëm komponentët e nevojshëm për funksionimin e kontejnerëve. Në mjedis përdoren menaxheri i sistemit systemd, biblioteka Glibc, instrumenti i ndërtimit Buildroot, ngarkuesi GRUB, konfiguruesi i rrjetit wicked, runtime për kontejnerët e izoluar containerd, platforma e orkestrimit të kontejnerëve Kubernetes, autentifikuesi aws-iam-authenticator dhe agjenti Amazon ECS.
Instrumentet për orkestrimin e kontejnerëve ofrohen në një kontejner menaxhues të veçantë, i cili aktivizohet automatikisht dhe menaxhohet përmes API dhe AWS SSM Agent. Në imazhin bazë mungon shell-i komandues, server SSH dhe gjuhët e interpretuara (p.sh., nuk ka Python ose Perl) - mjetet për administratorin dhe mjetet e diagnostikimit janë transferuar në një kontejner shërbimi të veçantë, i cili është automatikisht i çaktivizuar.
Dallimi kryesor nga distribucionet e ngjashme, si Fedora CoreOS, CentOS/Red Hat Atomic Host është orientimi inicial për të ofruar siguri maksimale në kontekstin e forcuar të mbrojtjes së sistemit nga kërcënimet e mundshme, komplikuar shpëtimin e dobësive në komponentët e OS dhe rritur izolimin e kontejnerëve. Kontejnerët krijohen duke përdorur mekanizmat standard të bërthamës Linux - cgroups, hapsira emrash dhe seccomp. Për izolim shtesë, në distribucion aplikohet SELinux në modalitetin 'enforcing'.
Particioni kryesor montablet në mënyrë vetëm për lexim dhe pjesa me konfigurimet /etc montablet në tmpfs dhe rikthen gjendjen e saj origjinale pas rinisjes. Ndryshimi direkt i skedarëve në katalogun /etc, siç janë /etc/resolv.conf dhe /etc/containerd/config.toml, nuk mbështetet — për ruajtjen e përhershme të konfigurimeve, duhet të përdoret API ose të nxirret funksionaliteti në kontenierë të veçantë. Për verifikimin kriptografik të integritetit të ndarjes kryesore, është angazhuar moduli dm-verity, dhe në rast se identifikohen përpjekje për të modifikuar të dhënat në nivelin e pajisjes bllokuese, sistemi ri-nishet.
Shumica e komponentëve sistemikë janë shkruar në gjuhën Rust, e cila ofron mjete për menaxhimin e sigurt të memories, duke evituar dobësi që shkaktohen nga referencat në hapësirën e memories pas lirimit të saj, dereferenca e treguesve null dhe dalja jashtë kufijve të buferave. Gjatë ndërtimit, në mënyrë default aplikohen mënyrat e kompilimit "--enable-default-pie" dhe "--enable-default-ssp" për të përfshirë randomizimin e hapësirës adresore të skedarëve ekzekutivë (PIE) dhe mbrojtjen nga mbushja e stack-ut përmes zëvendësimit të shenjave të kanarëve. Për paketat e shkruara në gjuhët C/C++, shtohen gjithashtu flamujt "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" dhe "-fstack-clash-protection".
Në versionin e ri:
- Предложено два новых варианта дистрибутива aws-k8s-1.20 и vmware-k8s-1.20 c поддержкой Kubernetes 1.20. В данных вариантах, а также в обновлённом варианте aws-ecs-1, задействован новый выпуск ядра Linux 5.10. Режим lockdown по умолчанию переведён в значение «integrity» (блокируются возможности, позволяющие вносить изменения в работающее ядро из пространства пользователя). Прекращена поддержка варианта aws-k8s-1.15 на базе Kubernetes 1.15.
- Для Amazon ECS реализована поддержка сетевого режима awsvpc, позволяющего выделять отдельные сетевых интерфейсы и внутренние IP-адреса для каждой задачи.
- Добавлены настройки для управления различными параметрами Kubernetes, включая QPS, лимиты на пулы и возможность подключения к облачным провайдерам, отличным от AWS.
- В bootstrap-контейнере обеспечено ограничение доступа к данным пользователя при помощи SELinux.
- Добавлена утилита resize2fs.
Burimi: opennet.ru
