Выпуск Bottlerocket 1.2, дистрибутива Π½Π° Π±Π°Π·Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²

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

Дистрибутив прСдоставляСт Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ ΠΈ автоматичСски обновляСмый Π½Π΅Π΄Π΅Π»ΠΈΠΌΡ‹ΠΉ систСмный ΠΎΠ±Ρ€Π°Π·, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ядро Linux ΠΈ минимальноС систСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ задСйствованы систСмный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ systemd, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Glibc, сборочный инструмСнтарий Buildroot, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ GRUB, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ сСти wicked, runtime для ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² containerd, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° оркСстровки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Kubernetes, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ aws-iam-authenticator ΠΈ Π°Π³Π΅Π½Ρ‚ Amazon ECS.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для оркСстровки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ управляСтся Ρ‡Π΅Ρ€Π΅Π· API ΠΈ AWS SSM Agent. Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·Π΅ отсутствуСт командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, сСрвСр SSH ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Ρ‚ Python ΠΈΠ»ΠΈ Perl) — срСдства для администратора ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ инструмСнты вынСсСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ слуТСбный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΎΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… дистрибутивов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Fedora CoreOS, CentOS/Red Hat Atomic Host являСтся пСрвичная ориСнтация Π½Π° прСдоставлСниС максимальной бСзопасности Π² контСкстС усилСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ систСмы ΠΎΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡƒΠ³Ρ€ΠΎΠ·, услоТнСния эксплуатации уязвимостСй Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ОБ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ изоляции ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ядра Linux — cgroups, пространств ΠΈΠΌΡ‘Π½ ΠΈ seccomp. Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ изоляции Π² дистрибутивС примСняСтся SELinux Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «enforcing».

ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» монтируСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π° Ρ€Π°Π·Π΄Π΅Π» с настройками /etc монтируСтся Π² tmpfs ΠΈ восстанавливаСт исходноС состояниС послС пСрСзапуска. ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ /etc/resolv.conf ΠΈ /etc/containerd/config.toml, Π½Π΅ поддСрТиваСтся — для постоянного сохранСния настроСк слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API ΠΈΠ»ΠΈ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. Для криптографичСской Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ цСлостности ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° задСйствован ΠΌΠΎΠ΄ΡƒΠ»ΡŒ dm-verity, Π° Π² случаС выявлСния ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства систСма пСрСзагруТаСтся.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² написаны Π½Π° языкС Rust, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ срСдства для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ уязвимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ области памяти послС Π΅Ρ‘ освобоТдСния, Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π°. ΠŸΡ€ΠΈ сборкС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌΡ‹ компиляции «—enable-default-pie» ΠΈ «—enable-default-ssp» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ адрСсного пространства исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (PIE) ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ пСрСполнСния стСка Ρ‡Π΅Ρ€Π΅Π· подстановку ΠΊΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ. Для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², написанных Π½Π° языкС C/C++, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ„Π»Π°Π³ΠΈ «-Wall», «-Werror=format-security», «-Wp,-D_FORTIFY_SOURCE=2», «-Wp,-D_GLIBCXX_ASSERTIONS» ΠΈ «-fstack-clash-protection».

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π΅Ρ€ΠΊΠ°Π» рССстра ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования самоподписанных сСртификатов.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для настройки ΠΈΠΌΠ΅Π½ΠΈ хоста.
  • ОбновлСна вСрсия ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ административного ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки topologyManagerPolicy ΠΈ topologyManagerScope для kubelet.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сТатия ядра ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° zstd.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² VMware Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ OVA (Open Virtualization Format).
  • ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° дистрибутива aws-k8s-1.21 c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Kubernetes 1.21. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° aws-k8s-1.16.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ зависимости для языка Rust.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru