UtgÄvan av Linux-distributionen Bottlerocket 1.1.0 Àr tillgÀnglig, utvecklad i samarbete med Amazon för effektiv och sÀker körning av isolerade containrar. Verktygen och styrkomponenterna i distributionen Àr skrivna i Rust och distribueras under licenserna MIT och Apache 2.0. Bottlerocket kan köras i Amazon ECS-kluster och AWS EKS Kubernetes, samt möjlighet att skapa anpassade byggen och varianter som tillÄter anvÀndning av olika orkestreringsverktyg och runtime för containrar.
Distributionen erbjuder en atomÀr och automatiskt uppdaterad odelbar systembild som inkluderar Linux-kÀrnan och en minimal systemmiljö, som innehÄller endast de komponenter som krÀvs för att starta containrar. I miljön anvÀnds systemhanteraren systemd, biblioteket Glibc, byggverktyget Buildroot, bootloadern GRUB, nÀtverkskonfiguratorn wicked, runtime för isolerade containrar containerd, orkestreringsplattformen Kubernetes, autentiseraren aws-iam-authenticator och Amazon ECS-agent.
Verktyg för orkestrering av containrar levereras i en separat styrcontainer, som aktiveras som standard och hanteras via API och AWS SSM Agent. Den grundlĂ€ggande bilden saknar kommandotolk, server SSH och tolkade sprĂ„k (t.ex. finns det varken Python eller Perl) â administratörsverktyg och felsökningsverktyg har flyttats till en separat tjĂ€nstecontainer, som Ă€r inaktiverad som standard.
En nyckelförĂ€ndring jĂ€mfört med liknande distributioner, som Fedora CoreOS och CentOS/Red Hat Atomic Host, Ă€r den primĂ€ra inriktningen pĂ„ att erbjuda maximal sĂ€kerhet i sammanhanget av att stĂ€rka skyddet av systemet mot möjliga hot, komplicera utnyttjande av sĂ„rbarheter i operativsystemets komponenter och öka isoleringen av containrar. Containrar skapas med hjĂ€lp av de inbyggda mekanismerna i Linux-kĂ€rnan â cgroups, namnrymder och seccomp. För ytterligare isolering tillĂ€mpas SELinux i lĂ€get "enforcing".
Rot partitions are mounted in read-only mode, while the settings partition /etc is mounted in tmpfs and restores its original state after a reboot. Direct changes to files in the /etc directory, such as /etc/resolv.conf and /etc/containerd/config.toml, are not supported â to permanently save settings, use the API or isolate the functionality into separate containers. A dm-verity module is utilized for cryptographic verification of the root partition's integrity, and if any data modification attempts are detected at the block device level, the system will reboot.
Most system components are written in Rust, providing tools for safe memory operations that help avoid vulnerabilities caused by accessing memory areas after they have been freed, dereferencing null pointers, and buffer overflows. The default build modes apply "âenable-default-pie" and "âenable-default-ssp" to enable the Address Space Layout Randomization (ASLR) for executable files (PIE) and protect against stack overflow through canary substitution. For packages written in C/C++, additional flags "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS", and "-fstack-clash-protection" are included.
I den nya utgÄvan:
- TvÄ nya varianter av distributionen aws-k8s-1.20 och vmware-k8s-1.20 med stöd för Kubernetes 1.20 har föreslagits. I dessa varianter, liksom i den uppdaterade varianten aws-ecs-1, anvÀnds en ny utgÄva av kÀrnan i Linux 5.10. Lockdown-lÀget har som standard Àndrats till 'integrity' (möjligheterna att göra Àndringar i det körande kÀrnan frÄn anvÀndarutrymmet blockeras). Stödet för varianten aws-k8s-1.15 baserad pÄ Kubernetes 1.15 har upphört.
- För Amazon ECS har stödet för nÀtverkslÀget awsvpc implementerats, vilket tillÄter tilldelning av separata nÀtverksgrÀnssnitt och interna IP-adresser för varje uppgift.
- InstÀllningar har lagts till för att hantera olika Kubernetes-parametrar, inklusive QPS, grÀnser för pooler och möjlighet att ansluta till molnleverantörer som inte Àr AWS.
- I bootstrap-containern har tillgÄngen till anvÀndardata begrÀnsats med hjÀlp av SELinux.
- Verktyget resize2fs har lagts till.
KĂ€lla: opennet.ru
