Kutolewa kwa Bottlerocket 1.1, usambazaji kulingana na vyombo vilivyotengwa

Utoaji wa usambazaji wa Linux Bottlerocket 1.1.0 unapatikana, uliotengenezwa 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 katika makundi ya Amazon ECS 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:

  • Chaguo mbili mpya za usambazaji aws-k8s-1.20 na vmware-k8s-1.20 zinazotumia Kubernetes 1.20 zimependekezwa. Vibadala hivi, pamoja na toleo jipya la aws-ecs-1, hutumia toleo jipya la Linux kernel 5.10. Hali ya kufunga imewekwa kuwa "uadilifu" kwa chaguo-msingi (uwezo unaoruhusu mabadiliko kufanywa kwa kernel inayoendesha kutoka kwa nafasi ya mtumiaji umezuiwa). Usaidizi wa kibadala cha aws-k8s-1.15 kulingana na Kubernetes 1.15 umekatishwa.
  • Amazon ECS inasaidia hali ya mtandao ya awsvpc, ambayo hukuruhusu kutenga miingiliano tofauti ya mtandao na anwani za IP za ndani kwa kila kazi.
  • Mipangilio iliyoongezwa ili kudhibiti vigezo mbalimbali vya Kubernetes, ikiwa ni pamoja na QPS, mipaka ya bwawa, na uwezo wa kuunganishwa na watoa huduma za wingu isipokuwa AWS.
  • Chombo cha bootstrap hutoa kizuizi cha ufikiaji wa data ya mtumiaji kwa kutumia SELinux.
  • Imeongeza matumizi ya resize2fs.

Chanzo: opennet.ru

Kuongeza maoni