Bottlerocket 1.8 is beskikber, in distribúsje basearre op isolearre konteners

De frijlitting fan 'e Linux-distribúsje Bottlerocket 1.8.0 is publisearre, û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:

  • De ynhâld fan de bestjoerlike en kontrôlekonteners is bywurke.
  • Runtime foar isolearre konteners is bywurke nei de containerd 1.6.x tûke.
  • Soarget derfoar dat eftergrûnprosessen dy't de wurking fan konteners koördinearje wurde opnij starte nei wizigingen yn 'e sertifikaatwinkel.
  • It is mooglik om kernel-bootparameters yn te stellen fia de seksje Bootkonfiguraasje.
  • Ynskeakele negearjen fan lege blokken by it kontrolearjen fan de yntegriteit fan 'e root-partysje mei dm-verity.
  • De mooglikheid om hostnammen statysk te binen yn /etc/hosts is levere.
  • De mooglikheid om in netwurkkonfiguraasje te generearjen mei it netdog-hulpprogramma is levere (it kommando generearje-net-config is tafoege).
  • Nije distribúsjeopsjes mei stipe foar Kubernetes 1.23 binne foarsteld. De opstarttiid foar pods yn Kubernetes is fermindere troch it útskeakeljen fan de configMapAndSecretChangeDetectionStrategy-modus. Nije kubelet-ynstellingen tafoege: provider-id en podPidsLimit.
  • In nije ferzje fan 'e distribúsjekit "aws-ecs-1-nvidia" foar Amazon Elastic Container Service (Amazon ECS), levere mei NVIDIA-bestjoerders, is foarsteld.
  • Stipe tafoege foar Microchip Smart Storage en MegaRAID SAS opslachapparaten. Stipe foar Ethernet-kaarten op Broadcom-chips is útwreide.
  • Bywurke pakketferzjes en ôfhinklikens foar de Go- en Rust-talen, lykas ferzjes fan pakketten mei programma's fan tredden. Bottlerocket SDK is bywurke nei ferzje 0.26.0.

Boarne: opennet.ru

Add a comment