Bottlerocket 1.8 tersedia, pengedaran berdasarkan bekas terpencil

Keluaran pengedaran Linux Bottlerocket 1.8.0 telah diterbitkan, dibangunkan dengan penyertaan Amazon untuk pelancaran bekas terpencil yang cekap dan selamat. Alat pengedaran dan komponen kawalan ditulis dalam Rust dan diedarkan di bawah lesen MIT dan Apache 2.0. Ia menyokong menjalankan Bottlerocket pada kelompok Amazon ECS, VMware dan AWS EKS Kubernetes, serta mencipta binaan dan edisi tersuai yang membenarkan penggunaan pelbagai alat orkestrasi dan masa jalan untuk bekas.

Pengedaran menyediakan imej sistem tidak boleh dibahagikan secara atom dan automatik yang dikemas kini yang merangkumi kernel Linux dan persekitaran sistem yang minimum, termasuk hanya komponen yang diperlukan untuk menjalankan bekas. Persekitaran termasuk pengurus sistem systemd, pustaka Glibc, alat bina Buildroot, pemuat but GRUB, konfigurator rangkaian jahat, masa jalan kontena untuk bekas terpencil, platform orkestrasi kontena Kubernetes, aws-iam-authenticator dan Amazon Ejen ECS.

Alat orkestrasi kontena datang dalam bekas pengurusan berasingan yang didayakan secara lalai dan diurus melalui API dan Ejen SSM AWS. Imej asas tidak mempunyai shell arahan, pelayan SSH dan bahasa yang ditafsirkan (contohnya, tiada Python atau Perl) - alat pentadbiran dan alat penyahpepijatan diletakkan dalam bekas perkhidmatan yang berasingan, yang dilumpuhkan secara lalai.

Perbezaan utama daripada pengedaran serupa seperti Fedora CoreOS, CentOS/Red Hat Atomic Host ialah tumpuan utama untuk menyediakan keselamatan maksimum dalam konteks mengukuhkan perlindungan sistem daripada kemungkinan ancaman, menjadikannya lebih sukar untuk mengeksploitasi kelemahan dalam komponen OS dan meningkatkan pengasingan kontena . Bekas dicipta menggunakan mekanisme kernel Linux standard - cgroup, ruang nama dan seccomp. Untuk pengasingan tambahan, pengedaran menggunakan SELinux dalam mod "menguatkuasakan".

Pembahagian akar dipasang baca sahaja, dan pembahagian tetapan /etc dilekapkan dalam tmpfs dan dipulihkan kepada keadaan asalnya selepas dimulakan semula. Pengubahsuaian terus fail dalam direktori /etc, seperti /etc/resolv.conf dan /etc/containerd/config.toml, tidak disokong - untuk menyimpan tetapan secara kekal, anda mesti menggunakan API atau mengalihkan fungsi ke dalam bekas yang berasingan. Modul dm-verity digunakan untuk mengesahkan integriti partition akar secara kriptografi, dan jika percubaan untuk mengubah suai data pada tahap peranti blok dikesan, sistem akan but semula.

Kebanyakan komponen sistem ditulis dalam Rust, yang menyediakan ciri selamat memori untuk mengelakkan kelemahan yang disebabkan oleh capaian memori selepas bebas, penolakan penunjuk nol dan overrun penimbal. Apabila membina secara lalai, mod kompilasi "-enable-default-pie" dan "-enable-default-ssp" digunakan untuk mendayakan rawak ruang alamat fail boleh laku (PIE) dan perlindungan terhadap limpahan tindanan melalui penggantian kenari. Untuk pakej yang ditulis dalam C/C++, bendera "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" dan "-fstack-clash" adalah tambahan diaktifkan -perlindungan".

Dalam keluaran baharu:

  • Kandungan bekas pentadbiran dan kawalan telah dikemas kini.
  • Masa jalan untuk bekas terpencil telah dikemas kini kepada cawangan 1.6.x bekas.
  • Memastikan proses latar belakang yang menyelaraskan pengendalian bekas dimulakan semula selepas perubahan pada stor sijil.
  • Anda boleh menetapkan parameter but kernel melalui bahagian Konfigurasi Boot.
  • Didayakan mengabaikan blok kosong apabila memantau integriti partition akar menggunakan dm-verity.
  • Keupayaan untuk mengikat nama hos secara statik dalam /etc/hosts telah disediakan.
  • Keupayaan untuk menjana konfigurasi rangkaian menggunakan utiliti netdog telah disediakan (arahan generate-net-config telah ditambah).
  • Pilihan pengedaran baharu dengan sokongan untuk Kubernetes 1.23 telah dicadangkan. Masa permulaan untuk pod dalam Kubernetes telah dikurangkan dengan melumpuhkan mod configMapAndSecretChangeDetectionStrategy. Menambah tetapan kubelet baharu: provider-id dan podPidsLimit.
  • Versi baharu kit pengedaran "aws-ecs-1-nvidia" untuk Perkhidmatan Kontena Elastik Amazon (Amazon ECS), yang dibekalkan dengan pemacu NVIDIA, telah dicadangkan.
  • Sokongan tambahan untuk Storan Pintar Microchip dan peranti storan MegaRAID SAS. Sokongan untuk kad Ethernet pada cip Broadcom telah diperluaskan.
  • Versi pakej dan kebergantungan yang dikemas kini untuk bahasa Go dan Rust, serta versi pakej dengan program pihak ketiga. Bottlerocket SDK telah dikemas kini kepada versi 0.26.0.

Sumber: opennet.ru

Tambah komen