Bottlerocket 1.1 ning chiqarilishi, izolyatsiya qilingan konteynerlarga asoslangan tarqatish

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

Tarqatish Linux yadrosi va minimal tizim muhitini o'z ichiga olgan atomik va avtomatik ravishda yangilanadigan bo'linmas tizim tasvirini taqdim etadi, faqat konteynerlarni ishlatish uchun zarur bo'lgan komponentlarni o'z ichiga oladi. Atrof-muhitga tizimli tizim menejeri, Glibc kutubxonasi, Buildroot qurish vositasi, GRUB yuklash moslamasi, yomon tarmoq konfiguratori, izolyatsiyalangan konteynerlar uchun konteyner ish vaqti, Kubernetes konteyner orkestr platformasi, aws-iam-authenticator va Amazon kiradi. ECS agenti.

Konteynerlarni boshqarish vositalari sukut bo'yicha yoqilgan va API va AWS SSM Agent orqali boshqariladigan alohida boshqaruv konteynerida keladi. Asosiy tasvirda buyruq qobig'i, SSH serveri va talqin qilingan tillar yo'q (masalan, Python yoki Perl yo'q) - ma'muriy vositalar va disk raskadrovka vositalari alohida xizmat konteyneriga joylashtirilgan, ular sukut bo'yicha o'chirib qo'yilgan.

Fedora CoreOS, CentOS/Red Hat Atomic Host kabi shunga o'xshash distribyutorlardan asosiy farqi tizimning mumkin bo'lgan tahdidlardan himoyasini kuchaytirish kontekstida maksimal xavfsizlikni ta'minlash, OT komponentlaridagi zaifliklardan foydalanishni qiyinlashtirish va konteyner izolyatsiyasini oshirishga qaratilgan asosiy e'tibordir. . Konteynerlar standart Linux yadro mexanizmlari - guruhlar, nomlar va seccomp yordamida yaratiladi. Qo'shimcha izolyatsiya uchun tarqatish SELinux-dan "majburiy" rejimida foydalanadi.

Ildiz bo'limi faqat o'qish uchun o'rnatiladi va /etc sozlamalari bo'limi tmpfs-ga o'rnatiladi va qayta ishga tushirilgandan so'ng asl holatiga tiklanadi. /etc/resolv.conf va /etc/containerd/config.toml kabi /etc katalogidagi fayllarni to'g'ridan-to'g'ri o'zgartirish qo'llab-quvvatlanmaydi - sozlamalarni doimiy saqlash uchun siz API dan foydalanishingiz yoki funksionallikni alohida konteynerlarga ko'chirishingiz kerak. dm-verity moduli ildiz bo'limining yaxlitligini kriptografik tekshirish uchun ishlatiladi va blokli qurilma darajasida ma'lumotlarni o'zgartirishga urinish aniqlansa, tizim qayta ishga tushadi.

Aksariyat tizim komponentlari Rust-da yozilgan bo'lib, u xotiradan bo'sh vaqtdan keyin foydalanish, null ko'rsatkichni yo'qotish va buferni haddan tashqari oshirib yuborish natijasida yuzaga keladigan zaifliklarni oldini olish uchun xotira xavfsizligini ta'minlaydi. Sukut bo'yicha qurishda "-enable-default-pie" va "-enable-default-ssp" kompilyatsiya rejimlari bajariladigan fayl manzil maydonini (PIE) tasodifiylashtirishni va kanareykalarni almashtirish orqali stekning to'lib ketishidan himoya qilish uchun ishlatiladi. C/C++ da yozilgan paketlar uchun β€œ-Wall”, β€œ-Werror=format-security”, β€œ-Wp,-D_FORTIFY_SOURCE=2”, β€œ-Wp,-D_GLIBCXX_ASSERTIONS” va β€œ-fstack-clash” bayroqlari qo'shimcha ravishda hisoblanadi. yoqilgan - himoya".

Yangi nashrda:

  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° дистрибутива 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.

Manba: opennet.ru

a Izoh qo'shish