Amazon nyebarkeun Bottlerocket 1.0.0, distribusi Linux dumasar kana wadah terasing

Perusahaan Amazon ditepikeun release signifikan munggaran tina distribusi Linux Ubuntu dedicated Botol 1.0.0, dirancang pikeun ngajalankeun peti terasing éfisién jeung aman. Alat distribusi sareng komponén kontrol ditulis dina Rust sareng nyebar handapeun MIT jeung Apache 2.0 lisensi. Proyék ieu dikembangkeun dina GitHub sareng sayogi pikeun partisipasi ku anggota komunitas. Gambar panyebaran sistem dibangkitkeun pikeun x86_64 sareng arsitéktur Aarch64. OS diadaptasi pikeun ngajalankeun dina Amazon ECS sareng AWS EKS Kubernetes klaster. Disadiakeun alat pikeun nyieun rakitan jeung édisi sorangan, nu bisa ngagunakeun parabot orkestrasi séjén, kernels na runtime pikeun wadahna.

Distribusi nyadiakeun kernel Linux Ubuntu jeung lingkungan sistem minimal, kaasup ukur komponén diperlukeun pikeun ngajalankeun peti. Diantara bungkusan anu aub dina proyék nyaéta sistem manajer sistem, perpustakaan Glibc, sareng alat-alat assembly
Buildroot, GRUB bootloader, configurator jaringan jahat, Runtime pikeun peti terasing wadah, platform orkestrasi wadah Kubernetes, aws-iam-authenticator, sareng agén Amazon ECS.

Distribusi diropéa sacara atom sareng dikirimkeun dina bentuk gambar sistem anu teu tiasa dibagi. Dua partisi disk dialokasikeun pikeun sistem, salah sahijina ngandung sistem aktip, sareng pembaruan disalin ka kadua. Saatos apdet dipasang, partisi kadua janten aktip, sareng anu kahiji, dugi ka pembaruan salajengna, versi sistem sateuacana disimpen, dimana anjeun tiasa ngagulung deui upami aya masalah. Pembaruan dipasang sacara otomatis tanpa campur tangan administrator.

Beda konci tina distribusi anu sami sapertos Fedora CoreOS, CentOS / Red Hat Atomic Host mangrupikeun fokus utama dina nyayogikeun kaamanan maksimum dina konteks strengthening panyalindungan sistem tina ancaman mungkin, sahingga leuwih hese mangpaatkeun kerentanan dina komponén OS jeung ngaronjatkeun isolasi wadahna. Wadahna didamel nganggo mékanisme kernel Linux standar - cgroups, namespaces sareng seccomp. Pikeun isolasi tambahan, distribusi ngagunakeun SELinux dina mode "enforcing", sarta modul dipaké pikeun verifikasi cryptographic tina integritas partisi root. dm-kabeneran. Upami aya usaha pikeun ngarobih data dina tingkat alat blok dideteksi, sistem reboots.

Partisi akar dipasang ngan ukur dibaca, sareng partisi setélan /etc dipasang dina tmpfs sareng disimpen deui ka kaayaan aslina saatos ngamimitian deui. modifikasi langsung file dina /etc diréktori, kayaning /etc/resolv.conf na /etc/containerd/config.toml, teu dirojong - pikeun nyimpen setelan permanén, anjeun kudu make API atawa mindahkeun fungsionalitas kana wadahna misah.

Seuseueurna komponén sistem ditulis dina Rust, anu nyayogikeun fitur anu aman-memori pikeun nyegah kerentanan anu disababkeun ku aksés mémori saatos gratis, deréferensi pointer nol, sareng overruns panyangga. Nalika ngawangun sacara standar, mode kompilasi "--enable-default-pie" sareng "--enable-default-ssp" dianggo pikeun ngaktipkeun randomisasi rohangan alamat file anu tiasa dieksekusi (SAKAP) jeung panyalindungan overflow tumpukan via substitusi kanaria.
Pikeun bungkusan ditulis dina C / C ++, umbul tambahan kaasup
"-Wall", "-Werror = format-kaamanan", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" jeung "-fstack-clash-protection".

Parabot orkestrasi wadah disayogikeun nyalira wadahna kontrol, nu diaktipkeun sacara standar tur dikawasa via API sarta AWS SSM Agen. Gambar dasarna henteu gaduh cangkang paréntah, server SSH sareng basa anu diinterpretasi (contona, henteu aya Python atanapi Perl) - alat administratif sareng alat debugging aya di wadahna jasa misah, nu ditumpurkeun sacara standar.

sumber: opennet.ru

Tambahkeun komentar