ΠΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠΏΡΡΠΊ 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