隔離されたコンテナに基づくディストリビューション、Bottlerocket 1.2 のリリース

Linux ディストリビューション Bottlerocket 1.2.0 のリリースが利用可能になりました。これは、分離されたコンテナーを効率的かつ安全に起動するために Amazon の参加のもとに開発されました。 このディストリビューションのツールと制御コンポーネントは Rust で書かれており、MIT および Apache 2.0 ライセンスに基づいて配布されます。 Amazon ECS、VMware、AWS EKS Kubernetes クラスターでの Bottlerocket の実行をサポートするだけでなく、コンテナー用のさまざまなオーケストレーションおよびランタイム ツールの使用を可能にするカスタム ビルドとエディションの作成もサポートします。

このディストリビューションは、Linux カーネルと、コンテナーの実行に必要なコンポーネントのみを含む最小限のシステム環境を含む、アトミックかつ自動的に更新される分割できないシステム イメージを提供します。 この環境には、systemd システム マネージャー、Glibc ライブラリ、Buildroot ビルド ツール、GRUB ブートローダー、wicked network configurator、containerd 分離コンテナ ランタイム、Kubernetes コンテナ オーケストレーション プラットフォーム、aws-iam-authenticator、および Amazon ECS エージェントが含まれます。 。

コンテナ オーケストレーション ツールは、デフォルトで有効になり、API および AWS SSM エージェントを通じて管理される別の管理コンテナに含まれています。 基本イメージには、コマンド シェル、SSH サーバー、およびインタープリタ言語 (たとえば、Python や Perl がありません) がありません。管理ツールとデバッグ ツールは別のサービス コンテナに移動され、デフォルトでは無効になっています。

Fedora CoreOS、CentOS/Red Hat Atomic Host などの同様のディストリビューションとの主な違いは、潜在的な脅威に対するシステム保護の強化、OS コンポーネントの脆弱性の悪用の複雑化、コンテナの分離の強化という観点から、最大限のセキュリティを提供することに主に焦点を当てていることです。 コンテナーは、Linux カーネルの通常のメカニズム (cgroup、名前空間、seccomp) を使用して作成されます。 分離を強化するために、ディストリビューションでは SELinux を「強制」モードで使用します。

ルート パーティションは読み取り専用モードでマウントされ、/etc 設定を持つパーティションは tmpfs にマウントされ、再起動後に元の状態に復元されます。 /etc/resolv.conf や /etc/containerd/config.toml など、/etc ディレクトリ内のファイルの直接変更はサポートされていません。設定を永続的に保存するには、API を使用するか、機能を別のコンテナに移動する必要があります。 ルート パーティションの整合性の暗号検証には dm-verity モジュールが使用され、ブロック デバイス レベルでデータを変更しようとする試みが検出されると、システムが再起動されます。

ほとんどのシステム コンポーネントは Rust で書かれており、解放後のメモリ領域のアドレス指定、null ポインタの逆参照、バッファ オーバーランによって引き起こされる脆弱性を回避するためのメモリ安全なツールを提供します。 ビルド時に、デフォルトでコンパイル モード「--enable-default-pie」および「--enable-default-ssp」が使用され、実行可能ファイル (PIE) のアドレス空間ランダム化と、カナリア ラベル置換によるスタック オーバーフローに対する保護が有効になります。 C/C++ で書かれたパッケージの場合、「-Wall」、「-Werror=format-security」、「-Wp,-D_FORTIFY_SOURCE=2」、「-Wp,-D_GLIBCXX_ASSERTIONS」、および「-fstack-clash」フラグが追加されます。保護が含まれています。

新しいリリースでは:

  • コンテナー イメージ レジストリ ミラーのサポートが追加されました。
  • 自己署名証明書を使用する機能が追加されました。
  • ホスト名を構成するオプションを追加しました。
  • 管理コンテナのデフォルトバージョンが更新されました。
  • kubelet の topologyManagerPolicy および topologyManagerScope 設定を追加しました。
  • zstd アルゴリズムを使用したカーネル圧縮のサポートが追加されました。
  • 仮想マシンを OVA (Open Virtualization Format) 形式で VMware にロードする機能が提供されます。
  • ディストリビューション バージョン aws-k8s-1.21 が更新され、Kubernetes 1.21 がサポートされるようになりました。 aws-k8s-1.16 のサポートは終了しました。
  • Rust 言語のパッケージ バージョンと依存関係を更新しました。

出所: オープンネット.ru

コメントを追加します