HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: gVisorサポート付きのルートレスLinuxサンドボックス「Drop」

Show HN: Drop – a rootless Linux sandbox with gVisor support (droprun.sh)

65 pointsby mixedbit13 コメント

要約

開発者が、サードパーティ製プログラムをメインユーザーアカウントで実行することへの懸念から、ルートレスLinuxサンドボックス「Drop」を開発しました。Dropは、Linuxネームスペースを使用して分離を実現し、gVisorをオプションで利用することでホストカーネルの脆弱性に対する保護を強化します。これにより、開発者はローカル環境で安全かつ生産的に作業できるようになります。

全文翻訳

Dropを作成したのは、常にサードパーティ製プログラムをメインユーザーアカウントでインストールして実行することに不安を感じていたからです。単一の侵害された依存関係は、システム全体の侵害を意味します。さらに悪いことに、私が自分のコンピューターからソフトウェアを出荷しているため、単一の侵害された依存関係は私のソフトウェアのすべてのユーザーの侵害につながる可能性があります。 コンテナとVMは一つの解決策ですが、ローカル作業では生産性を損なうことがよくあります。生産的な作業に必要なすべてのツールと設定でマシンを構成するには労力がかかりますが、コンテナやVMはこれらのツールをすべて剥ぎ取られます。これは、最小限の依存関係を持つ再現可能なシステムを目的とする本番環境のデプロイメントには最適ですが、生産的なローカル作業の妨げになる可能性があります。 Dropは言語に依存しませんが、ワークフローはPythonのvirtualenvに触発されています。virtualenvでは、環境分離はインストールされた依存関係が良い市民であることを前提とした単なる規約です。Dropでは、分離が強制されます。 各Drop環境には、独自の書き込み可能で簡単に破棄できるホームディレクトリが用意されており、元のホームから選択された設定ファイルとディレクトリのみが、ほとんど読み取り専用でマウントされます。 Dropは分離のためにLinuxネームスペース(ユーザー、マウント、ネットワーク、PID、IPC、cgroup)を使用し、rootを必要としません。オプションとして、gVisorユーザー空間カーネルを使用し、サンドボックスからのエスケープをホストカーネルの脆弱性から保護します。 紹介投稿を長すぎるものにしたくありませんが、質問に答えたり、追加の技術情報を提供したりするためにここにいます。 注:これはプロジェクトの3回目の提出です。最初の2つは注目を集めませんでした。それ以来、gVisorのサポートを追加し、コンセプトをより良く説明し、ドキュメントを整理するためのプロジェクトウェブサイトを作成しました。