fbpx

[和訳] 2017年Dockerブログ記事トップ5: LINUXKIT – 安全で無駄がなく可搬性に優れたLinuxサブシステムのためのツールキット #docker

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は Top 5 blogs of 2017: LinuxKit, A Toolkit for building Secure, Lean and Portable Linux Subsystems (2017/12/27) の和訳です。

読み逃してしまった読者のために、2017年にもっともよく読まれたDockerブログ記事トップ5の中から1つをご紹介します。今回は第3位のLinuxKitについての記事です。 LinuxKitは、安全で無駄がなく可搬性に優れたLinux サブシステムのためのツールキット です。

LinuxKit は、ランタイムプラットフォームが要求するコンポーネントのみを含む、独自のLinuxサブシステムを構築できるツールを有しています。すべてのシステムサービスは置き換え可能なコンテナで、必須でないサービスは削除も可能です。またすべてのコンポーネントは、特定のニーズに合致するものとの交換も可能です。したがってLinuxKitは、“すぐに使えて高機能でありながら、各種コンポーネントは交換可能”というDockerの主義と完全に一致しているツールキットなのです。オープンソースプロジェクトであるLinuxKitは、こちらから入手できます: https://github.com/linuxkit/linuxkit

“安全で無駄がなく可搬性に優れたOS”を実現するために、コンテナのためのコンテナから構築しました。“安全”は3つの要素の中でも特に重要であり、LinuxサブシステムはNISTの提唱する規格にも合致しています。NISTによる「アプリケーションコンテナセキュリティガイド」の草案には次のように記載されています:“攻撃対象となる領域を縮小するためには、汎用OSではなく、コンテナに特化したOSを使用するべきである。通常、コンテナに特化したOSは汎用OSよりも攻撃対象となる領域がはるかに小さいため、外部からの攻撃やセキュリティ侵害のリスクを低減することができる。”

前述のようにLinuxサブシステムは、コンテナを稼働させるという唯一の使用目的に限られたOSであれば、不要な機能を削除してあるという点で、“無駄のなさ”がセキュリティに直接貢献しています。LinuxKitは、コンテナネイティブでとても小さいサイズで、35MBであればブートタイムも最短です。システムサービスはすべてコンテナなので、削除や置き換えが自由にできます。

システムサービスは、必要な機能のみを有するコンテナ内というサンドボックス環境に存在しています。各種設定は、コンテナを使用するために設計されています。全体のシステムは、廃棄可能な(イミュータブルな)インフラストラクチャとして使用する目的で構築されています。そのため、CIパイプライン内で、構築およびテストができ、ユーザがアップグレードを望むときに新バージョンをデプロイできます。

私たちはLinuxのカーネルコミュニティと協力しています。例えば カーネルセルフプロテクションプロジェクト(KSPP) などのグループと共同してそのプロセスに参加し、LinuxKitのカーネルはそこからもたらされています。それにより、最新のカーネルに対しては、LinuxKitがサポートするプラットフォームにおける問題を解決するための最小限のパッチのみを適用するだけでよいのです。カーネルのセキュリティプロセスはとても大きいので、1つの企業が独自に開発するのは困難です。そのため様々な業界が協調しなければなりません。

それに加えて、LinuxKitはLinuxの安全性を確実に高めるためのセキュリティプロジェクトを生み出す場を提供しています。私たちは、WireguardLandlockMirageoKernel、そしてClear Containersなどを含む外部のオープンソースプロジェクトに関わっています。コンテナスペースにおけるイノベーションへの注力と製品化への道を探るため、 これらの外部プロジェクトにたたき台を提供しているのです。

LinuxKitは、現在Dockerが稼働している多くのプラットフォームに合わせて構築されたので可搬性に優れており、今後はより大きな可能性を秘めています。コンテナ技術は、マシンの大小、ベアメタルか仮想化か、メインフレームかIoTで使われている端末か…などの別を問わず、あらゆる分野でコンピューティングにおいて広がりを見せています。

Linuxkitについてもっと知りたい方は:

新規CTA