Keluaran Bottlerocket 1.1, pengedaran berdasarkan bekas terpencil

ДоступСн выпуск Linux-дистрибутива Bottlerocket 1.1.0, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈ участии ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Amazon для эффСктивного ΠΈ бСзопасного запуска ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ дистрибутива написаны Π½Π° языкС Rust ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ лицСнзиями MIT ΠΈ Apache 2.0. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ запуск Bottlerocket Π² кластСрах Amazon ECS ΠΈ AWS EKS Kubernetes, Π° Ρ‚Π°ΠΊΠΆΠ΅ созданиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сборок ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструмСнтов оркСстровки ΠΈ runtime для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

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:

  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° дистрибутива aws-k8s-1.20 ΠΈ vmware-k8s-1.20 c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Kubernetes 1.20. Π’ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ aws-ecs-1, задСйствован Π½ΠΎΠ²Ρ‹ΠΉ выпуск ядра Linux 5.10. Π Π΅ΠΆΠΈΠΌ lockdown ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«integrityΒ» (Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ возмоТности, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ядро ΠΈΠ· пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ). ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° aws-k8s-1.15 Π½Π° Π±Π°Π·Π΅ Kubernetes 1.15.
  • Для Amazon ECS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСтСвого Ρ€Π΅ΠΆΠΈΠΌΠ° awsvpc, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сСтСвых интСрфСйсы ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ IP-адрСса для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки для управлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Kubernetes, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ QPS, Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° ΠΏΡƒΠ»Ρ‹ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ AWS.
  • Π’ bootstrap-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ обСспСчСно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ SELinux.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° resize2fs.

Sumber: opennet.ru

Tambah komen