Bottlerocket 1.8 が利用可能になりました。隔離されたコンテナーに基づいたディストリビューションです。

Bottlerocket 1.8.0 Linux ディストリビューションのリリースが公開されました。これは、分離されたコンテナーを効果的かつ安全に実行するために 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」フラグが追加されます。保護が含まれています。

新しいリリースでは:

  • 管理コンテナと制御コンテナの内容が更新されました。
  • 分離されたコンテナーのランタイムは、containerd 1.6.x ブランチに更新されました。
  • コンテナーの作業を調整するバックグラウンド プロセスは、証明書ストアの変更後に再起動されます。
  • [ブート構成] セクションを通じてカーネルのブート パラメーターを設定する機能が提供されます。
  • dm-verity を使用してルート パーティションの整合性をチェックするときに、空のブロックを無視できるようにしました。
  • /etc/hosts でホスト名を静的にバインドする機能が提供されました。
  • netdog ユーティリティを使用してネットワーク構成を生成する機能が提供されました (generate-net-config コマンドが追加されました)。
  • Kubernetes 1.23 をサポートする新しい配布オプションが提案されています。 configMapAndSecretChangeDetectionStrategy モードを無効にすることで、Kubernetes でのポッドの起動時間が短縮されました。 新しい kubelet 設定 (provider-id と podPidsLimit) を追加しました。
  • Amazon Elastic Container Service (Amazon ECS) の新しい「aws-ecs-1-nvidia」ディストリビューションが提案されており、NVIDIA ドライバーが付属しています。
  • Microchip Smart Storage および MegaRAID SAS ストレージ デバイスのサポートが追加されました。 Broadcom チップに基づくイーサネット カードのサポートが拡張されました。
  • Go および Rust 言語のパッケージと依存関係のバージョン、およびサードパーティ プログラムを含むパッケージのバージョンが更新されました。 Bottlerocket SDK がバージョン 0.26.0 に更新されました。

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

コメントを追加します