Perusahaan Amazon
Bottlerocket (kanthi cara, jeneng sing diwènèhaké kanggo roket bubuk ireng krasan cilik) ora OS pisanan kanggo kontaner, nanging kamungkinan sing bakal nyebar thanks kanggo integrasi standar karo layanan AWS. Sanajan sistem kasebut fokus ing awan Amazon, kode sumber mbukak ngidini supaya bisa dibangun ing endi wae: lokal ing server, ing Raspberry Pi, ing sembarang awan saingan, lan malah ing lingkungan tanpa wadah.
Iki minangka panggantos sing cocog kanggo distribusi CoreOS sing dikubur Red Hat.
Nyatane, divisi Layanan Web Amazon wis duwe Amazon Linux, sing bubar metu ing versi kapindho: minangka distribusi tujuan umum sing bisa ditindakake ing wadhah Docker utawa nganggo Linux KVM, Microsoft Hyper-V, lan VMware. ESXi hypervisor. Iki dioptimalake kanggo mbukak awan AWS, nanging kanthi rilis Bottlerocket, kabeh wong disaranake kanggo nganyarke menyang sistem anyar sing luwih aman, modern, lan nggunakake sumber daya sing luwih sithik.
AWS ngumumake Bottlerocket
Minimalis ekstrem
Linux dicopot kabeh sing ora dibutuhake kanggo mbukak wadah. Desain iki, miturut perusahaan, nyuda permukaan serangan.
Iki tegese luwih sithik paket sing diinstal ing sistem dhasar, sing nggawe luwih gampang kanggo njaga lan nganyari OS, lan uga nyuda kemungkinan masalah amarga dependensi, nyuda panggunaan sumber daya. Sejatine, kabeh ing kene bisa digunakake ing wadhah sing kapisah, lan sistem dhasare meh ora ana.
Amazon uga wis ngilangi kabeh cangkang lan juru basa, ngilangi risiko digunakake utawa pangguna ora sengaja nambah hak istimewa. Kanggo minimalisme lan keamanan, gambar dhasar ora kalebu cangkang perintah, server SSH, utawa basa sing diinterpretasikake kaya Python. Piranti administrator diselehake ing wadhah layanan sing kapisah, sing dipateni kanthi standar.
Sistem kasebut dikelola kanthi rong cara: liwat API lan orkestrasi.
Tinimbang manajer paket sing nganyari piranti lunak individu, Bottlerocket ndownload gambar sistem file lengkap lan miwiti maneh. Yen mbukak gagal, iku kanthi otomatis muter maneh, lan Gagal workload bisa micu rollback kanthi manual (printah liwat API).
Kerangka /etc
dipasang karo sistem file ing RAM /etc
ora didhukung: kanggo nyimpen setelan sampeyan kudu nggunakake API utawa mindhah fungsi menyang wadhah kapisah.
Skema nganyari API
Keamanan
Wadah digawe kanthi mekanisme standar kernel Linux - cgroups, namespaces lan seccomp, lan digunakake minangka sistem kontrol akses paksa, yaiku, kanggo isolasi tambahan.
Kanthi gawan, kabijakan diaktifake kanggo nuduhake sumber daya antarane wadhah lan kernel. Binari dilindhungi karo panji kanggo nyegah pangguna utawa program nglakokake. Lan yen ana sing mlebu sistem file, Bottlerocket nawakake alat kanggo mriksa lan nglacak owah-owahan sing ditindakake.
Mode "boot diverifikasi" dileksanakake liwat fungsi device-mapper-verity (
Ana uga saringan ing sistem
Model Eksekusi
Pangguna ditetepake
Kompilasi
Keamanan
Mode gagal
Akses menyang sumber daya
Pangguna
sawijining tugas
ya
apa wae
hak panganggo
ngganggu eksekusi
panggilan sistem, kesalahan
Inti
sawijining tugas
ora
statis
ora
panik kernel
sakcara
GMP
acara
ya
JIT, CO-RE
verifikasi, JIT
pesen kesalahan
helpers winates
Kepiye BPF beda karo pangguna biasa utawa kode level kernel
AWS ngandika Bottlerocket "makaryakke model operasi sing luwih nambah keamanan dening nyegah sambungan menyang server produksi karo hak istimewa administratif" lan "cocog kanggo sistem mbagekke gedhe ngendi kontrol liwat saben host individu diwatesi."
Wadah administrator diwenehake kanggo administrator sistem. Nanging AWS ora mikir manawa admin kudu kerja ing Bottlerocket: "Tindakan mlebu menyang conto Bottlerocket sing kapisah ditujokake kanggo operasi sing jarang: debugging lan ngatasi masalah,"
Basa karat
Instrumentasi OS ing ndhuwur kernel biasane ditulis ing Rust. Basa iki nduweni sifat
GendΓ©ra ditrapake kanthi gawan nalika mbangun --enable-default-pie
ΠΈ --enable-default-ssp
kanggo ngaktifake acak ruang alamat file eksekusi (
Kanggo paket C/C ++, gendera tambahan kalebu -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
ΠΈ -fstack-clash-protection
.
Kejabi Rust lan C / C ++, sawetara paket ditulis ing Go.
Integrasi karo layanan AWS
Bentenane saka sistem operasi wadhah sing padha yaiku Amazon wis ngoptimalake Bottlerocket kanggo mbukak ing AWS lan nggabungake karo layanan AWS liyane.
Orkestra kontainer sing paling populer yaiku Kubernetes, mula AWS wis ngenalake integrasi karo Enterprise Kubernetes Service (EKS) dhewe. Piranti orkestrasi kasedhiya ing wadhah kontrol sing kapisah
Bakal menarik kanggo ndeleng yen Bottlerocket njupuk, amarga gagal sawetara inisiatif sing padha ing jaman kepungkur. Contone, PhotonOS saka Vmware dadi ora diklaim, lan RedHat tuku CoreOS lan
Integrasi Bottlerocket menyang layanan AWS ndadekake sistem iki unik kanthi cara dhewe. Iki bisa uga dadi sebab utama sawetara pangguna luwih seneng Bottlerocket tinimbang distro liyane kayata CoreOS utawa Alpine. Sistem kasebut wiwitane dirancang kanggo nggarap EKS lan ECS, nanging mbaleni manawa iki ora perlu. Kaping pisanan, Bottlerocket bisa
Kode sumber Bottlerocket diterbitake ing GitHub miturut lisensi Apache 2.0. Pangembang wis
Ing Hak Iklan
VDSina nawakake
Source: www.habr.com