Doli një distribucion minimalistik Linux, Bottlerocket për të nisur konteinerët. E gjitha e rëndësishme për të

Doli një distribucion minimalistik Linux, Bottlerocket për të nisur konteinerët. E gjitha e rëndësishme për të

Kompania Amazon njoftoi pĂ«r lirimin pĂ«rfundimtar Bottlerocket — njĂ« shpĂ«rndarje e specializuar pĂ«r ekzekutimin e kontejnerĂ«ve dhe menaxhimin efikas tĂ« tyre.

Bottlerocket (pĂ«r rastin, kĂ«shtu quhen raketat e vogla tĂ« bĂ«ra nĂ« shtĂ«pi me barut tymi) — nuk Ă«shtĂ« sistemi i parĂ« operativ pĂ«r kontejnerĂ«, por ka shumĂ« mundĂ«si qĂ« do tĂ« marrĂ« pĂ«rhapje tĂ« gjerĂ« pĂ«r shkak tĂ« integrimit tĂ« parazgjedhur me shĂ«rbimet AWS. Edhe pse sistemi Ă«shtĂ« fokusuar nĂ« re Amazon, kodi burimor i hapur lejon ndĂ«rtimin e saj kudo: lokal nĂ« server, nĂ« Raspberry Pi, nĂ« çdo re konkurrente dhe madje edhe nĂ« njĂ« mjedis pa kontejnerĂ«.

Kjo është një zëvendësim i denjë për shpërndarjen CoreOS, e cila u varros nga Red Hat.

Në të vërtetë, departamenti i Amazon Web Services tashmë ka Amazon Linux, i cili sapo doli në versionin e dytë: kjo është një shpërndarje me përdorim të përgjithshëm të cilin mund ta ekzekutoni në një kontejner Docker ose me hipervizorët Linux KVM, Microsoft Hyper-V dhe VMware ESXi. Ka qenë optimizuar për punë në re AWS, por me daljen e Bottlerocket, të gjithë rekomandohet të bëjnë upgrade në sistemin e ri, i cili është më i sigurt, modern dhe konsumon më pak burime.

AWS njoftoi Bottlerocket në mars 2020. Menjëherë e pranoi se nuk është "Linux për kontejnerë" i parë, duke përmendur si burime frymëzimi CoreOS, Rancher OS dhe Project Atomic. Zhvilluesit shkruajtën se sistemi operativ është "rezultati i mësimeve që kemi nxjerrë gjatë një kohe të gjatë pune me shërbimet prodhuese në shkallë Amazon, dhe me përvojën që kemi marrë gjatë gjashtë viteve të fundit në lidhje me se si të ekzekutojmë kontejnerët."

Minimalizmi ekstrem

Linux është pastruar nga çdo gjë që nuk është e nevojshme për ekzekutimin e kontejnerëve. Një dizajn i tillë, sipas kompanisë, redukton sipërfaqen e sulmit.

Kjo do të thotë se në sistemin bazë instalohen më pak paketa, çka e bën më të lehtë mbështetje dhe përditësimin e sistemit operativ, si dhe ul probabilitetin e problemeve për shkak të varësive, duke ulur përdorimin e burimeve. Në parim, këtu gjithçka funksionon brenda kontejnerëve të veçantë, ndërsa sistemi bazë është pothuajse i zbrazët.

Amazon gjithashtu e ka hequr çdo shell dhe interpretor, duke eliminuar rrezikun e përdorimit të tyre ose rritjes aksidentale të privilegjeve nga përdoruesit. Në imazhin bazë, për shkak të minimalizmit dhe sigurisë, mungon shell-i i komandave, serveri SSH dhe gjuhët interpretuese si Python. Veglat për administratorin janë vendosur në një kontejner të veçantë të shërbimit, i cili është i çaktivizuar si parazgjedhje.

Menaxhimi i sistemit ofrohet në dy mënyra: nëpërmjet API-së dhe orkestrimit.

Në vend të menaxherit të paketave, i cili përditëson pjesë të veçanta të softuerit, Bottlerocket shkarkon një imazh të plotë të sistemit të skedarëve dhe ri-nis në të. Në rast dështimi të ngarkesës, automatikisht rikthehet, ndërsa dështimi i ngarkesës mund të nxisë rikthimin manual (komanda nëpërmjet API-së).

Korniza TUF (The Update Framework) shkarkon përditësime në baza imazhesh në pjesët alternative ose 'të shkëputura'. Një sistem i dedikuar ndan dy pjesë të diskut, njëra prej të cilave përmban sistemin aktiv, ndërsa tjetra kopjon përditësimin. Ndërkohë, pjesa rrënjësore montohet në mënyrë vetëm për lexim, ndërsa pjesa /etc montohet me sistemin e skedarëve në memorje tmpfs dhe rivendos gjendjen origjinale pas rinisjes. Modifikimi direkt i skedarëve të konfigurimit në /etc nuk mbështetet: për të ruajtur cilësimet, duhet të përdoret API ose të nxirret funksionaliteti në kontejnerë të veçantë.

Doli një distribucion minimalistik Linux, Bottlerocket për të nisur konteinerët. E gjitha e rëndësishme për të
Skema e përditësimit nëpërmjet API-së

Siguria

KontejnerĂ«t krijohen nga mekanizmat e brendshĂ«m tĂ« bĂ«rthames Linux — cgroups, hapĂ«sirat emĂ«rore dhe seccomp, ndĂ«rsa si njĂ« sistem i kontrollit tĂ« aksesit, pĂ«r tĂ« siguruar izolim shtesĂ«, pĂ«rdoret SELinux nĂ« mĂ«nyrĂ« "tĂ« detyrueshme".

Si parazgjedhje janë përfshirë politika për ndarjen e burimeve midis kontejnerëve dhe bërthamës. Binarët janë të mbrojtur me flamuj, në mënyrë që përdoruesit apo programet të mos mund t'i ekzekutojnë. Dhe nëse dikush arrin në sistemin e skedarëve, Bottlerocket ofron një mjet për të verifikuar dhe ndjekur çdo ndryshim të bërë.

Modaliteti 'i ngarkesës së verifikuar' është realizuar përmes funksionit device-mapper-verity (dm-verity), e cila kontrollon integritetin e seksionit rrënjës gjatë ngarkimit. AWS e përshkruan dm-verity si «një funksion i bërthamës Linux, i cili siguron kontrollin e integritetit për të parandaluar funksionimin e malware në OS, siç është ripërshkrimi i softuerit të sistemit të bazës».

Po ashtu, në sistem ka një filtër eBPF (extended BPF, zhvillimi i Aleksej Starovoytova), i cili lejon zëvendësimin e modulëve të bërthamës me programe më të sigurta BPF për operacione sistemore me nivel të ulët.

Modeli i ekzekutimit
Caktuar nga përdoruesi
Kompilimi
Siguria
Mënyra e dështimit
Qasje në burime

Përdoruesi
një detyrë
po
çdo
të drejtat e përdoruesve
ndërprerje e ekzekutimit
thirrje sistemore, gabim

Bërthama
një detyrë
jo
statike
jo
panika e bërthamës
direkte

BPF
ngjarje
po
JIT, CO-RE
verifikimi, JIT
mesazh gabimi
asistentë të kufizuar

Dallimi i BPF nga kodi normal i nivelit të përdoruesit ose bërthamës, burimi

AWS tha se Bottlerocket «zbarton një model operativ që përmirëson akoma më shumë sigurinë, duke penguar lidhjen me serverat prodhues me privilegje administratorësh», dhe «është e përshtatshme për sisteme të mëdha të shpërndara, ku kontrolli mbi çdo host të veçantë është i kufizuar».

PĂ«r administratorĂ«t e sistemeve Ă«shtĂ« paraparĂ« njĂ« kontejner administratori. Por AWS nuk mendon se admini do t’i duhet shpesh tĂ« punojĂ« brenda Bottlerocket: «Aktiviteti i hyrjes nĂ« njĂ« instancĂ« tĂ« veçantĂ« Bottlerocket Ă«shtĂ« i destinuar pĂ«r operacione tĂ« pakta: mbĂ«shtetje dhe zgjidhje tĂ« problemeve tĂ« avancuara», shkruajnĂ« zhvilluesit.

Gjuha Rust

Mjetet e OS mbi bërthamë kryesisht shkruhen në Rust. Kjo gjuhë natyrshëm ul probabilitetin e akseseve të pasigurta në kujtesë, si dhe eliminon kushtet e garës mes proceseve.

Në ndërtimin për default aplikohen flamujt --enable-default-pie dhe --enable-default-ssp për aktivizimin e rastësisë së adresave të skedarëve ekzekutues (position-independent executable, PIE) dhe mbrojtjes nga mbingarkesa e grumbullit.

Për paketat në C/C++ gjithashtu aktivizohen flamujt -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS dhe -fstack-clash-protection.

Përveç Rust dhe C/C++, disa paketa janë shkruar në gjuhën Go.

Integrimi me shërbimet AWS

Dallimi nga sistemet operuese të ngjashme me konteiner është se Amazon e ka optimizuar Bottlerocket për të punuar në AWS dhe për integrim me shërbime të tjera të AWS.

Orkestratori më i njohur i kontejnerëve është Kubernetes, prandaj AWS ka wdjëdhur integrimin me shërbimin e saj të Enterprise Kubernetes (EKS). Mjetet për orkestrimin vijnë në një konteiner menaxhues të veçantë bottlerocket-control-container, i cili përfshihet si parazgjedhje dhe menaxhohet përmes API-së dhe AWS SSM Agent.

Do të jetë interesante të shohim nëse Bottlerocket do të arrijë sukses, duke marrë parasysh dështimin e disa iniciativave të ngjashme në të kaluarën. Për shembull, PhotonOS nga Vmware rezultoi e papërdorur, dhe RedHat bleu CoreOS dhe ndali projektin, i cili ishte konsideruar pionier në këtë fushë.

Integrimi i Bottlerocket në shërbimet AWS e bën këtë sistem unikal në llojin e tij. Ndoshta, kjo është arsyeja kryesore pse disa përdorues mund të preferojnë Bottlerocket ndaj shpërndarjeve të tjera, si CoreOS ose Alpine. Sistemi është projektuar në fillim për të punuar me EKS dhe ECS, por përsërisim, kjo nuk është e detyrueshme. Së pari, Bottlerocket mund të ndërtohet vetë dhe të përdoret, për shembull, si një zgjidhje të hostuar. Së dyti, përdoruesit e EKS dhe ECS ende do të ruajnë mundësinë e zgjedhjes së OS.

Kodi burimor i Bottlerocket është publikuar në GitHub nën licencën Apache 2.0. Zhvilluesit tashmë po reagojnë ndaj raporteve të defekteve dhe kërkesave për funksione.

SOF6

VDSina ofron VDS me pagesĂ« ditore. Mund tĂ« instalohet çdo sistem operativ, pĂ«rfshirĂ« nga imazhi juaj. Çdo server Ă«shtĂ« i lidhur me njĂ« kanal interneti prej 500 Megabit dhe Ă«shtĂ« i mbrojtur falas nga sulmet DDoS!

Doli një distribucion minimalistik Linux, Bottlerocket për të nisur konteinerët. E gjitha e rëndësishme për të

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster