Paglabas ng Bottlerocket 1.7, isang pamamahagi batay sa mga nakahiwalay na lalagyan

Ang paglabas ng Bottlerocket 1.7.0 Linux distribution ay nai-publish, na binuo kasama ang partisipasyon ng Amazon upang epektibo at ligtas na magpatakbo ng mga nakahiwalay na lalagyan. Ang toolkit at mga bahagi ng kontrol ng pamamahagi ay nakasulat sa Rust at ipinamahagi sa ilalim ng mga lisensya ng MIT at Apache 2.0. Sinusuportahan nito ang pagpapatakbo ng Bottlerocket sa mga cluster ng Amazon ECS, VMware, at AWS EKS Kubernetes, pati na rin ang paglikha ng mga custom na build at edisyon na nagbibigay-daan para sa iba't ibang mga tool sa orkestrasyon at runtime para sa mga container.

Ang pamamahagi ay nagbibigay ng atomically at awtomatikong na-update na hindi mahahati na imahe ng system na kinabibilangan ng Linux kernel at isang minimal na kapaligiran ng system na kinabibilangan lamang ng mga sangkap na kailangan para magpatakbo ng mga container. Kasama sa kapaligiran ang systemd system manager, ang Glibc library, ang Buildroot build tool, ang GRUB bootloader, ang masamang network configurator, ang containerd isolated container runtime, ang Kubernetes container orchestration platform, ang aws-iam-authenticator, at ang Amazon ECS agent .

Ang mga tool sa orchestration ng container ay nasa isang hiwalay na lalagyan ng pamamahala na naka-enable bilang default at pinamamahalaan sa pamamagitan ng API at AWS SSM Agent. Ang batayang imahe ay walang command shell, isang SSH server, at mga na-interpret na wika (halimbawa, walang Python o Perl) - ang mga tool sa administratibo at pag-debug ay inililipat sa isang hiwalay na lalagyan ng serbisyo, na hindi pinagana bilang default.

Ang pangunahing pagkakaiba sa mga katulad na distribusyon gaya ng Fedora CoreOS, CentOS/Red Hat Atomic Host ay ang pangunahing pagtutok sa pagbibigay ng maximum na seguridad sa konteksto ng pagpapalakas ng proteksyon ng system laban sa mga posibleng banta, pagpapakumplikado sa pagsasamantala ng mga kahinaan sa mga bahagi ng OS at pagtaas ng pagkakahiwalay ng container. Ang mga lalagyan ay nilikha gamit ang mga regular na mekanismo ng Linux kernel - cgroups, namespaces at seccomp. Para sa karagdagang paghihiwalay, ang pamamahagi ay gumagamit ng SELinux sa "pagpapatupad" na mode.

Ang root partition ay naka-mount sa read-only na mode, at ang partition na may mga setting ng /etc ay naka-mount sa tmpfs at naibalik sa orihinal nitong estado pagkatapos ng restart. Ang direktang pagbabago ng mga file sa direktoryo ng /etc, gaya ng /etc/resolv.conf at /etc/containerd/config.toml, ay hindi suportado - upang permanenteng i-save ang mga setting, dapat mong gamitin ang API o ilipat ang functionality sa hiwalay na mga container. Para sa cryptographic na pag-verify ng integridad ng root partition, ginagamit ang dm-verity module, at kung may nakitang pagtatangkang baguhin ang data sa block device level, magre-reboot ang system.

Karamihan sa mga bahagi ng system ay nakasulat sa Rust, na nagbibigay ng mga tool na ligtas sa memorya upang maiwasan ang mga kahinaan na dulot ng pagtugon sa isang lugar ng memorya pagkatapos itong mapalaya, pag-derefer ng mga null pointer, at pag-overrun ng buffer. Kapag bumubuo, ang mga compilation mode na "--enable-default-pie" at "--enable-default-ssp" ay ginagamit bilang default para paganahin ang executable address space randomization (PIE) at proteksyon laban sa mga stack overflow sa pamamagitan ng canary label substitution. Para sa mga package na nakasulat sa C/C++, ang mga flag na "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" at "-fstack-clash" kasama -proteksyon.

Sa bagong release:

  • ΠŸΡ€ΠΈ установкС RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² обСспСчСна Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ списка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² host-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» /var/lib/bottlerocket/inventory/application.json для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ доступных ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ….
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Β«adminΒ» ΠΈ Β«controlΒ».
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ зависимости для языков Go ΠΈ Rust.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² со сторонними ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ tmpfilesd для kmod-5.10-nvidia.
  • ΠŸΡ€ΠΈ установкС tuftool обСспСчСна привязка вСрсий зависимостСй.

Pinagmulan: opennet.ru

Magdagdag ng komento