Release of Bottlerocket 1.2, in distribúsje basearre op isolearre konteners

De frijlitting fan 'e Linux-distribúsje Bottlerocket 1.2.0 is beskikber, ûntwikkele mei de dielname fan Amazon foar de effisjinte en feilige lansearring fan isolearre konteners. De ark en kontrôlekomponinten fan 'e distribúsje binne skreaun yn Rust en ferspraat ûnder de MIT- en Apache 2.0-lisinsjes. It stipet it útfieren fan Bottlerocket op Amazon ECS, VMware en AWS EKS Kubernetes-klusters, en ek it meitsjen fan oanpaste builds en edysjes dy't it gebrûk meitsje fan ferskate orkestraasje- en runtime-ark foar konteners.

De distribúsje leveret in atomysk en automatysk bywurke ûndielbere systeemôfbylding dy't de Linux-kernel omfettet en in minimale systeemomjouwing, ynklusyf allinich de komponinten dy't nedich binne om konteners út te fieren. De omjouwing omfettet de systemd-systeembehearder, de Glibc-bibleteek, it Buildroot-bou-ark, de GRUB-bootlader, de kweade netwurkkonfigurator, de containerd-runtime foar isolearre konteners, it Kubernetes-kontener-orkestraasjeplatfoarm, de aws-iam-autentikator, en de Amazon ECS agent.

Container orkestraasje ark komme yn in aparte behear container dat is ynskeakele standert en beheard fia de API en AWS SSM Agent. De basisôfbylding mist in kommando-shell, SSH-tsjinner en ynterpretearre talen (bygelyks gjin Python of Perl) - bestjoerlike ark en ark foar debuggen wurde pleatst yn in aparte tsjinstkontener, dy't standert útskeakele is.

It wichtichste ferskil fan ferlykbere distribúsjes lykas Fedora CoreOS, CentOS / Red Hat Atomic Host is de primêre fokus op it leverjen fan maksimale feiligens yn 'e kontekst fan it fersterkjen fan systeembeskerming tsjin mooglike bedrigingen, wêrtroch it dreger wurdt om kwetsberens yn OS-komponinten te eksploitearjen en kontenerisolaasje te fergrutsjen. . Containers wurde makke mei standert Linux-kernelmeganismen - cgroups, namespaces en seccomp. Foar ekstra isolemint brûkt de distribúsje SELinux yn "hanthavenje" modus.

De root-partysje is allinich lêzen monteard, en de / etc ynstellingspartysje wurdt yn tmpfs monteard en werombrocht nei syn oarspronklike steat nei in trochstart. Direkte wiziging fan bestannen yn 'e map /etc, lykas /etc/resolv.conf en /etc/containerd/config.toml, wurdt net stipe - om ynstellings permanint te bewarjen, moatte jo de API brûke of de funksjonaliteit yn aparte konteners ferpleatse. De dm-verity-module wurdt brûkt om kryptografysk de yntegriteit fan 'e root-partysje te ferifiearjen, en as in besykjen om gegevens op it blokapparaatnivo te wizigjen wurdt ûntdutsen, sil it systeem opnij starte.

De measte systeemkomponinten binne skreaun yn Rust, dy't ûnthâldfeilige funksjes leveret om kwetsberens te foarkommen dy't feroarsake binne troch nei-frije ûnthâldtagongen, nul-oanwizers en buffer-oerrin. By it bouwen fan standert, wurde de kompilaasjemodi "-enable-default-pie" en "-enable-default-ssp" brûkt om randomisaasje fan 'e útfierbere triemadresromte (PIE) en beskerming tsjin stackoverflows troch kanaryske ferfanging yn te skeakeljen. Foar pakketten skreaun yn C/C++ binne de flaggen "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" en "-fstack-clash" boppedat ynskeakele -beskerming".

Yn de nije release:

  • Stipe tafoege foar kontenerôfbyldingsregisterspegels.
  • De mooglikheid tafoege om sels ûndertekene sertifikaten te brûken.
  • Opsje tafoege om hostnamme te konfigurearjen.
  • De standertferzje fan de bestjoerlike kontener is bywurke.
  • Added topologyManagerPolicy en topologyManagerScope ynstellings foar kubelet.
  • Stipe tafoege foar kernelkompresje mei it zstd-algoritme.
  • De mooglikheid om firtuele masines yn VMware te laden yn it OVA-formaat (Open Virtualization Format) wurdt levere.
  • De distribúsjeferzje aws-k8s-1.21 is bywurke mei stipe foar Kubernetes 1.21. Stipe foar aws-k8s-1.16 is beëinige.
  • Bywurke pakketferzjes en ôfhinklikens foar de Rust-taal.

Boarne: opennet.ru

Add a comment