Minimalísk Linux dreifing, Bottlerocket, hefur verið gefin út til að keyra gáma. Það mikilvægasta við hann

Minimalísk Linux dreifing, Bottlerocket, hefur verið gefin út til að keyra gáma. Það mikilvægasta við hann

Amazon fyrirtæki tilkynnt um lokaútgáfuna Pottapoki — sérhæfða dreifingu til að keyra gáma og stjórna þeim á áhrifaríkan hátt.

Bottlerocket (við the vegur, nafnið gefið litlum heimagerðum svartduftseldflaugum) er ekki fyrsta stýrikerfið fyrir gáma, en líklegt er að það muni verða útbreitt þökk sé sjálfgefna samþættingu við AWS þjónustu. Þrátt fyrir að kerfið sé einbeitt að Amazon skýinu, gerir opinn frumkóði það kleift að byggja það hvar sem er: staðbundið á netþjóni, á Raspberry Pi, í hvaða skýi sem er í samkeppni og jafnvel í gámalausu umhverfi.

Þetta er algjörlega verðugur staðgengill fyrir CoreOS dreifinguna sem Red Hat gróf.

Reyndar er Amazon Web Services deildin nú þegar með Amazon Linux, sem nýlega kom út í annarri útgáfu sinni: það er almenn dreifing sem hægt er að keyra í Docker gámum eða með Linux KVM, Microsoft Hyper-V og VMware ESXi hypervisorar. Það var fínstillt til að keyra á AWS skýinu, en með útgáfu Bottlerocket eru allir hvattir til að uppfæra í nýtt kerfi sem er öruggara, nútímalegra og notar færri auðlindir.

AWS tilkynnti Bottlerocket í mars 2020. Hún viðurkenndi strax að þetta væri ekki fyrsta „Linux fyrir gáma,“ og vitnaði í CoreOS, Rancher OS og Project Atomic sem innblástur. Hönnuðir skrifuðu að stýrikerfið sé „afrakstur þeirra lærdóma sem við höfum dregið af því að reka framleiðsluþjónustu á mælikvarða Amazon í langan tíma, og reynslunnar sem við höfum öðlast á síðustu sex árum um hvernig á að keyra gáma.

Mikil naumhyggja

Linux er svipt öllu sem ekki þarf til að keyra gáma. Þessi hönnun, samkvæmt fyrirtækinu, dregur úr árásarfletinum.

Þetta þýðir að færri pakkar eru settir upp á grunnkerfinu, sem gerir það auðveldara að viðhalda og uppfæra stýrikerfið og dregur einnig úr líkum á vandamálum vegna ósjálfstæðis, sem dregur úr auðlindanotkun. Í grundvallaratriðum virkar allt hér í aðskildum gámum og undirliggjandi kerfi er nánast bert.

Amazon hefur einnig fjarlægt allar skeljar og túlka og útilokað hættuna á að þeir séu notaðir eða notendur auka réttindi fyrir slysni. Vegna naumhyggju og öryggis inniheldur grunnmyndin ekki skipanaskel, SSH netþjón eða túlkuð tungumál eins og Python. Stjórnandi verkfæri eru sett í sérstakt þjónustuílát, sem er sjálfgefið óvirkt.

Kerfinu er stjórnað á tvo vegu: í gegnum API og hljómsveit.

Í stað pakkastjóra sem uppfærir einstaka hugbúnaðarhluta, hleður Bottlerocket niður heilli skráarkerfismynd og endurræsir hana. Ef hleðsla mistekst fer hún sjálfkrafa til baka og bilun í vinnuálagi getur leitt til afturköllunar handvirkt (skipun í gegnum API).

Umgjörð TUF (Uppfærsluramminn) hleður niður uppfærslum sem byggjast á myndum á skiptis eða „afsettar“ skiptingar. Tveimur disksneiðum er úthlutað fyrir kerfið, annað þeirra inniheldur virka kerfið, og uppfærslan er afrituð í annað. Í þessu tilviki er rót skiptingin sett upp í skrifvarinn ham og skiptingin /etc tengt með skráarkerfinu í vinnsluminni tmpfs og endurheimtir upprunalegt ástand eftir endurræsingu. Bein breyting á stillingarskrám í /etc ekki stutt: til að vista stillingar ættirðu að nota API eða færa virknina í aðskilda ílát.

Minimalísk Linux dreifing, Bottlerocket, hefur verið gefin út til að keyra gáma. Það mikilvægasta við hann
API uppfærslukerfi

öryggi

Gámar eru búnir til með stöðluðum aðferðum Linux kjarnans - cgroups, namespaces og seccomp, og eru notaðir sem þvingað aðgangsstýringarkerfi, það er til viðbótar einangrun SELinux í „framfylgjandi“ ham.

Sjálfgefið er að reglur séu virkjaðar til að deila auðlindum á milli íláta og kjarnans. Tvöföld eru varin með fánum til að koma í veg fyrir að notendur eða forrit geti keyrt þau. Og ef maður kemst í skráarkerfið býður Bottlerocket upp á tæki til að athuga og fylgjast með öllum breytingum sem gerðar eru.

„Staðfest ræsing“ hátturinn er útfærður í gegnum tæki-mapper-verity aðgerðina (dm-verity), sem athugar heilleika rótarskiptingarinnar við ræsingu. AWS lýsir dm-verity sem „eiginleika í Linux kjarnanum sem veitir heilleikaskoðun til að koma í veg fyrir að spilliforrit keyri á stýrikerfinu, svo sem að skrifa yfir kjarnakerfishugbúnað.

Einnig er sía í kerfinu eGMP (framlengdur BPF, þróað af Alexey Starovoitov), sem gerir kleift að skipta út kjarnaeiningum fyrir öruggari BPF forrit fyrir kerfisaðgerðir á lágu stigi.

Framkvæmdarlíkan
Notandi skilgreindur
Samantekt
öryggi
Bilunarhamur
Aðgangur að auðlindum

Notandi
verkefnið

allir
notendaréttindum
trufla framkvæmd
kerfiskall, bilun

Kjarna
verkefnið
ekki
kyrrstöðu
ekki
kjarna læti
beint

Styrktaráætlun
atburður

JIT, CO-RE
sannprófun, JIT
villu skilaboð
takmarkaðir aðstoðarmenn

Hvernig BPF er frábrugðið venjulegum notenda- eða kjarnakóða uppspretta

AWS sagði að Bottlerocket „noti rekstrarlíkan sem eykur öryggi enn frekar með því að koma í veg fyrir tengingar við framleiðsluþjóna með stjórnunarréttindi“ og sé „hentugt fyrir stór dreifð kerfi þar sem stjórn yfir hverjum einstökum hýsingaraðila er takmörkuð.

Stjórnandaílát er til staðar fyrir kerfisstjóra. En AWS telur að stjórnandi þurfi ekki oft að vinna inni í Bottlerocket: „Skráðan að skrá sig inn á sérstakt Bottlerocket tilvik er ætluð fyrir sjaldgæfar aðgerðir: háþróaða villuleit og bilanaleit,“ skrifa verktaki.

Ryðmál

OS tækjabúnaðurinn ofan á kjarnanum er að mestu leyti skrifaður í Rust. Þetta tungumál er í eðli sínu dregur úr líkum á óöruggum aðgangi að minniOg útilokar keppnisskilyrði milli þráða.

Fánar eru sjálfgefnir notaðir við byggingu --enable-default-pie и --enable-default-ssp til að virkja slembival á vistfangarými keyranlegra skráa (stöðuóháð executable, PIE) og stafla yfirfallsvörn.

Fyrir C/C++ pakka eru viðbótarflögg innifalin -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

Fyrir utan Rust og C/C++ eru sumir pakkar skrifaðir í Go.

Samþætting við AWS þjónustu

Munurinn frá svipuðum gámastýrikerfum er að Amazon hefur fínstillt Bottlerocket til að keyra á AWS og samþætta öðrum AWS þjónustu.

Vinsælasti gámasveitarmaðurinn er Kubernetes, svo AWS hefur kynnt samþættingu við sína eigin Enterprise Kubernetes Service (EKS). Hljómsveitarverkfæri koma í sérstökum stjórnunaríláti bottlerocket-control-gámur, sem er sjálfgefið virkt og stjórnað í gegnum API og AWS SSM Agent.

Það verður fróðlegt að sjá hvort Bottlerocket taki kipp, í ljósi þess að nokkur svipuð frumkvæði hafa mistekist áður fyrr. Til dæmis reyndist PhotonOS frá Vmware vera ósótt og RedHat keypti CoreOS og lokað verkefninu, sem þótti brautryðjandi á því sviði.

Samþætting Bottlerocket í AWS þjónustu gerir þetta kerfi einstakt á sinn hátt. Þetta er kannski aðalástæðan fyrir því að sumir notendur kjósa Bottlerocket fram yfir aðrar dreifingar eins og CoreOS eða Alpine. Kerfið er upphaflega hannað til að vinna með EKS og ECS, en við endurtökum að það er ekki nauðsynlegt. Í fyrsta lagi getur Bottlerocket setja saman sjálfur og notaðu það til dæmis sem hýst lausn. Í öðru lagi munu EKS og ECS ​​notendur enn hafa möguleika á að velja stýrikerfi sitt.

Bottlerocket frumkóði er birtur á GitHub undir Apache 2.0 leyfinu. Hönnuðir hafa þegar bregðast við villutilkynningum og beiðnum um eiginleika.

Um réttindi auglýsinga

VDSina tilboð VDS með daglegri greiðslu. Það er hægt að setja upp hvaða stýrikerfi sem er, þar á meðal frá eigin mynd. Hver netþjónn er tengdur við 500 megabita netrás og er varinn gegn DDoS árásum ókeypis!

Minimalísk Linux dreifing, Bottlerocket, hefur verið gefin út til að keyra gáma. Það mikilvægasta við hann

Heimild: www.habr.com

Bæta við athugasemd