發布 Bottlerocket 1.3,一個基於隔離容器的發行版

該期內容已發布 LinuxBottlerocket 1.3.0 是與亞馬遜合作開發的發行版,旨在有效且安全地運行隔離容器。此發行版的工具和控制元件均採用 Rust 編寫,並遵循 MIT 和 Apache 2.0 授權。 Bottlerocket 可在 Amazon ECS、VMware 和 AWS EKS Kubernetes 叢集上執行,同時支援自訂建置和版本,以相容於各種容器編排和執行時間工具。

該發行版提供了一個原子性且自動更新的不可分割的系統映像,其中包括核心。 Linux 以及一個最小化的系統環境,僅包含運作容器所需的元件。此環境包括 systemd 系統管理器、Glibc 庫、Buildroot 建置工具鏈、GRUB 引導程式、wicked 網路配置器、用於隔離容器的 containerd 執行時間、Kubernetes 容器編排平台、aws-iam-authenticator 驗證程式和 Amazon ECS 代理程式。

容器編排工具部署在一個獨立的管理容器中,該容器預設為啟用,並透過 API 和 AWS SSM 代理進行管理。基礎鏡像不包含命令列 shell。 服務器 SSH 和解釋型語言(例如,不支援 Python 或 Perl)-管理和偵錯工具位於一個單獨的服務容器中,預設為停用狀態。

與 Fedora CoreOS 等類似發行版的主要區別在於: CentOSRed Hat Atomic Host 的主要目標是透過增強系統對潛在威脅的防護、增加作業系統元件漏洞利用的難度以及提高容器隔離度,從而提供最高等級的安全性。容器是使用原生核心機制建立的。 Linux — cgroups、命名空間和 seccomp。為了進一步隔離,發行版使用了 SE。Linux 處於“強制執行”模式。

根分割區以唯讀方式掛載,/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”啟用保護」。

在新版本中:

  • 修正了 docker 和執行時間 containerd 工具中的漏洞(CVE-2021-41089、CVE-2021-41091、CVE-2021-41092、CVE-2021-41103),這些漏洞與錯誤設定存取權,導致基礎並執行外部程式。
  • 已新增至 kubelet 和 pluto IPv6 支援.
  • 提供在更改容器設定後重新啟動容器的功能。
  • eni-max-pods 套件已更新,以支援 Amazon EC2 M6i 執行個體。
  • open-vm-tools 現在支援基於 Cilium 工具包的裝置過濾器。
  • 針對x86_64平台,實作了混合啟動模式(支援EFI和BIOS)。
  • 更新了 Rust 語言的套件版本和相依性。
  • 基於 Kubernetes 8 的 aws-k1.17s-1.17 發行版本變體已棄用。建議使用支援 Kubernetes 8 的 aws-k1.21s-1.21 變體。 Kubernetes 變體使用 cgroup 的 Runtime.slice 和 System.slice 設定。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster