Konpayi Amazon
Bottlerocket (nan chemen an, non yo bay ti fize poud nwa endijèn) se pa premye eksplwatasyon an pou resipyan, men li posib ke li pral vin gaye toupatou gras a entegrasyon default ak sèvis AWS. Malgre ke sistèm nan konsantre sou Amazon nwaj la, kòd sous louvri a pèmèt li dwe bati nenpòt kote: lokalman sou yon sèvè, sou yon Franbwaz Pi, nan nenpòt nwaj konpetisyon, e menm nan yon anviwònman san veso.
Sa a se yon ranplasman konplètman merite pou distribisyon CoreOS ke Red Hat antere l.
An reyalite, Amazon Web Services divizyon an deja gen Amazon Linux, ki dènyèman te soti nan dezyèm vèsyon li yo: li se yon distribisyon jeneral ki ka kouri nan yon veso Docker oswa ak Linux KVM, Microsoft Hyper-V, ak VMware. ESXi hypervisors. Li te optimize pou kouri sou nwaj AWS, men ak lage Bottlerocket, yo ankouraje tout moun pou yo ajou ak yon nouvo sistèm ki pi an sekirite, ki pi modèn, epi ki itilize mwens resous.
AWS te anonse Bottlerocket
Minimalism ekstrèm
Linux retire tout bagay ki pa nesesè pou kouri kontenè yo. Sa a konsepsyon, dapre konpayi an, diminye sifas la atak.
Sa vle di ke mwens pakè yo enstale sou sistèm baz la, sa ki fè li pi fasil pou kenbe ak mete ajou OS la, epi tou redwi chans pou pwoblèm akòz depandans, diminye itilizasyon resous yo. Fondamantalman, tout bagay isit la ap travay andedan resipyan separe, ak sistèm ki kache a se pratikman fè.
Amazon tou te retire tout kokiy ak entèprèt, elimine risk pou yo itilize yo oswa itilizatè yo aksidantèlman ogmante privilèj yo. Pou dedomajman pou minimalist ak sekirite, imaj de baz la pa gen ladan yon kokiy lòd, yon sèvè SSH, oswa lang entèprete tankou Python. Zouti administratè yo mete yo nan yon resipyan sèvis separe, ki se enfim pa default.
Sistèm nan jere nan de fason: atravè API a ak orchestration.
Olye pou yon manadjè pake ki mete ajou moso endividyèl nan lojisyèl, Bottlerocket telechaje yon imaj sistèm fichye konplè epi rdemare nan li. Si yon chaj echwe, li otomatikman woule tounen, epi yon echèk chaj travay ka deklanche yon rollback manyèlman (kòmand atravè API).
Kad /etc
monte ak sistèm nan dosye nan RAM /etc
pa sipòte: pou konsève pou anviwònman ou ta dwe itilize API a oswa deplase fonksyonalite a nan resipyan separe.
Konplo aktyalizasyon API
Безопасность
Kontenè yo kreye pa mekanis estanda nan nwayo Linux - cgroups, namespaces ak seccomp, epi yo itilize kòm yon sistèm kontwòl aksè fòse, se sa ki, pou izolasyon adisyonèl.
Pa default, règleman yo pèmèt yo pataje resous ant resipyan ak nwayo a. Binè yo pwoteje ak drapo yo anpeche itilizatè yo oswa pwogram nan egzekite yo. Men, si yon moun rive nan sistèm dosye a, Bottlerocket ofri yon zouti pou tcheke ak swiv nenpòt chanjman ki fèt.
Mòd "bòt verifye" aplike atravè fonksyon aparèy-mapper-verity (
Genyen tou yon filtè nan sistèm lan
Modèl ekzekisyon
Itilizatè defini
Konpilasyon
Безопасность
Mòd echèk
Aksè nan resous yo
Itilizatè
travay la
repons lan se wi
nenpòt ki
dwa itilizatè
entèwonp ekzekisyon
apèl sistèm, fòt
Nwayo a
travay la
нет
estatik
нет
panik nwayo
dwat
BPF
evènman
repons lan se wi
JIT, CO-RE
verifikasyon, JIT
mesaj erè
èd limite
Ki jan BPF diferan de itilizatè regilye oswa kòd nivo nwayo
AWS te di Bottlerocket "anplwaye yon modèl opere ki plis amelyore sekirite lè li anpeche koneksyon ak sèvè pwodiksyon ak privilèj administratif" epi li "apwopriye pou gwo sistèm distribiye kote kontwòl sou chak lame endividyèl limite."
Yo bay yon veso administratè pou administratè sistèm yo. Men, AWS pa panse ke yon administratè ap bezwen souvan travay andedan Bottlerocket: "Aksyon pou antre nan yon egzanp Bottlerocket separe fèt pou operasyon ki pa souvan: debogaj avanse ak depanaj,"
Lang rouye
Instrumentation OS sou tèt nwayo a sitou ekri nan Rust. Lang sa a se pa nati li
Drapo yo aplike pa default lè bati --enable-default-pie
и --enable-default-ssp
pou pèmèt owaza espas adrès la nan dosye ègzèkutabl (
Pou pakè C/C++, drapo adisyonèl yo enkli -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
и -fstack-clash-protection
.
Anplis Rust ak C/C++, kèk pakè yo ekri nan Go.
Entegrasyon ak sèvis AWS
Diferans ak sistèm operasyon veso ki sanble se ke Amazon te optimize Bottlerocket pou kouri sou AWS epi entegre ak lòt sèvis AWS.
Orchestrator veso ki pi popilè a se Kubernetes, kidonk AWS te prezante entegrasyon ak pwòp Enterprise Kubernetes Service (EKS). Zouti orchestrasyon yo vini nan yon veso kontwòl separe
Li pral enteresan yo wè si Bottlerocket dekole, bay echèk nan kèk inisyativ menm jan an nan tan lontan an. Pou egzanp, PhotonOS soti nan Vmware te tounen soti yo pa reklame, ak RedHat te achte CoreOS ak
Entegrasyon Bottlerocket nan sèvis AWS fè sistèm sa a inik nan pwòp fason li. Sa a se petèt rezon prensipal poukisa kèk itilizatè ka prefere Bottlerocket pase lòt distros tankou CoreOS oswa Alpine. Okòmansman sistèm nan fèt pou travay ak EKS ak ECS, men nou repete ke sa a pa nesesè. Premyèman, Bottlerocket kapab
Kòd sous Bottlerocket pibliye sou GitHub anba lisans Apache 2.0. Devlopè yo gen deja
Sou Dwa yo nan Piblisite
VDSina ofri
Sous: www.habr.com