Bottlerocket 1.8, usambazaji kulingana na vyombo vilivyotengwa, inapatikana

Utoaji wa usambazaji wa Linux Bottlerocket 1.8.0 umechapishwa, ulioendelezwa kwa ushiriki wa Amazon kwa ajili ya uzinduzi wa ufanisi na salama wa vyombo vilivyotengwa. Zana za usambazaji na sehemu za udhibiti zimeandikwa kwa Rust na kusambazwa chini ya leseni za MIT na Apache 2.0. Inaauni kuendesha Bottlerocket kwenye vikundi vya Amazon ECS, VMware na AWS EKS Kubernetes, pamoja na kuunda miundo maalum na matoleo ambayo huruhusu matumizi ya zana mbalimbali za upangaji na wakati wa kukimbia kwa makontena.

Usambazaji hutoa taswira ya mfumo isiyogawanyika kiatomi na iliyosasishwa kiotomatiki ambayo inajumuisha kinu cha Linux na mazingira ya mfumo mdogo, ikijumuisha vipengele muhimu tu vya kuendesha vyombo. Mazingira yanajumuisha kidhibiti mfumo wa mfumo, maktaba ya Glibc, zana ya ujenzi ya Buildroot, kipakiaji cha boot ya GRUB, kisanidi kiovu cha mtandao, muda wa matumizi uliowekwa kwa vyombo vilivyotengwa, jukwaa la uandaaji la vyombo vya Kubernetes, kithibitishaji cha aws-iam na Amazon. Wakala wa ECS.

Zana za kupanga vyombo huja katika chombo tofauti cha usimamizi ambacho huwashwa kwa chaguomsingi na kudhibitiwa kupitia API na AWS SSM Agent. Picha ya msingi haina ganda la amri, seva ya SSH na lugha zilizotafsiriwa (kwa mfano, hakuna Python au Perl) - zana za usimamizi na zana za kurekebisha huwekwa kwenye chombo tofauti cha huduma, ambacho kimezimwa kwa chaguo-msingi.

Tofauti kuu kutoka kwa usambazaji sawa kama vile Fedora CoreOS, CentOS/Red Hat Atomic Host ndio lengo kuu la kutoa usalama wa hali ya juu katika muktadha wa kuimarisha ulinzi wa mfumo dhidi ya vitisho vinavyowezekana, na kuifanya iwe ngumu zaidi kutumia udhaifu katika vipengee vya OS na kuongeza kutengwa kwa kontena. . Vyombo vinaundwa kwa kutumia mifumo ya kawaida ya Linux kernel - makundi, nafasi za majina na seccomp. Kwa kutengwa kwa ziada, usambazaji hutumia SELinux katika hali ya "kutekeleza".

Sehemu ya mizizi imewekwa kwa kusoma tu, na /etc kizigeu cha mipangilio imewekwa kwenye tmpfs na kurejeshwa kwa hali yake ya asili baada ya kuanza tena. Urekebishaji wa moja kwa moja wa faili katika saraka ya /etc, kama vile /etc/resolv.conf na /etc/containerd/config.toml, hautumiki - ili kuhifadhi mipangilio kabisa, lazima utumie API au usogeze utendakazi kwenye vyombo tofauti. Sehemu ya dm-uaminifu inatumika kuthibitisha kwa siri uadilifu wa kizigeu cha mizizi, na ikiwa jaribio la kurekebisha data katika kiwango cha kifaa cha kuzuia litatambuliwa, mfumo huwashwa upya.

Vipengee vingi vya mfumo vimeandikwa kwa Rust, ambayo hutoa vipengele vya usalama wa kumbukumbu ili kuepuka udhaifu unaosababishwa na ufikiaji wa kumbukumbu baada ya bila malipo, kuachwa kwa vielekezi visivyo na maana, na ziada ya bafa. Wakati wa kujenga kwa chaguo-msingi, njia za ujumuishaji "-enable-default-pie" na "-enable-default-ssp" hutumiwa kuwezesha ujanibishaji wa nafasi ya anwani ya faili inayoweza kutekelezwa (PIE) na ulinzi dhidi ya kufurika kwa rafu kupitia uingizwaji wa canary. Kwa vifurushi vilivyoandikwa kwa C/C++, bendera “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” na “-fstack-clash” ni pamoja na. kuwezeshwa -ulinzi".

Katika toleo jipya:

  • Yaliyomo kwenye vyombo vya usimamizi na udhibiti yamesasishwa.
  • Muda wa matumizi wa kontena zilizotengwa umesasishwa hadi tawi la 1.6.x lililowekwa.
  • Huhakikisha kuwa michakato ya usuli inayoratibu utendakazi wa vyombo huwashwa upya baada ya mabadiliko kwenye hifadhi ya cheti.
  • Inawezekana kuweka vigezo vya boot ya kernel kupitia sehemu ya Usanidi wa Boot.
  • Imewasha kupuuza vizuizi tupu wakati wa kufuatilia uadilifu wa kizigeu cha mizizi kwa kutumia dm-verity.
  • Uwezo wa kufunga majina ya wapangishi katika /etc/hosts umetolewa.
  • Uwezo wa kuzalisha usanidi wa mtandao kwa kutumia shirika la netdog umetolewa (amri ya kuzalisha-net-config imeongezwa).
  • Chaguzi mpya za usambazaji na usaidizi wa Kubernetes 1.23 zimependekezwa. Muda wa kuanza kwa maganda katika Kubernetes umepunguzwa kwa kulemaza modi ya configMapAndSecretChangeDetectionStrategy. Imeongeza mipangilio mipya ya kubelet: kitambulisho cha mtoa huduma na podPidsLimit.
  • Toleo jipya la vifaa vya usambazaji "aws-ecs-1-nvidia" kwa Amazon Elastic Container Service (Amazon ECS), inayotolewa na viendeshi vya NVIDIA, imependekezwa.
  • Usaidizi ulioongezwa kwa Microchip Smart Storage na vifaa vya kuhifadhi vya MegaRAID SAS. Usaidizi wa kadi za Ethaneti kwenye chipsi za Broadcom umepanuliwa.
  • Matoleo ya vifurushi vilivyosasishwa na vitegemezi vya lugha za Go na Rust, pamoja na matoleo ya vifurushi vilivyo na programu za watu wengine. SDK ya Bottlerocket imesasishwa hadi toleo la 0.26.0.

Chanzo: opennet.ru

Kuongeza maoni