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

Linux ディストリビューション Bottlerocket 1.1.0 のリリースが利用可能になりました。これは、分離されたコンテナーを効率的かつ安全に起動するために Amazon の参加のもとに開発されました。 このディストリビューションのツールと制御コンポーネントは Rust で書かれており、MIT および Apache 2.0 ライセンスに基づいて配布されます。 Amazon ECS および 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」フラグが追加されます。保護が含まれています。

新しいリリースでは:

  • Kubernetes 8 をサポートする 1.20 つの新しい配布オプション aws-k8s-1.20 および vmware-k1.20s-1 が提案されています。 これらのバリアントと更新バージョンの aws-ecs-5.10 は、新しい Linux カーネル 8 リリースを使用します。 ロックダウン モードはデフォルトで「整合性」に設定されています (ユーザー空間から実行中のカーネルに変更を加えることができる機能はブロックされます)。 Kubernetes 1.15 に基づく aws-k1.15s-XNUMX バリアントのサポートは廃止されました。
  • Amazon ECS は awsvpc ネットワーク モードをサポートしているため、タスクごとに個別のネットワーク インターフェイスと内部 IP アドレスを割り当てることができます。
  • QPS、プール制限、AWS 以外のクラウドプロバイダーに接続する機能など、さまざまな Kubernetes パラメーターを制御するための設定が追加されました。
  • ブートストラップ コンテナーは、SELinux を使用してユーザー データへのアクセスを制限します。
  • size2fsユーティリティを追加しました。

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

コメントを追加します