萌えハッカーニュースリーダー

2025/03/22 13:56 Landrun: Sandbox any Linux process using Landlock, no root or containers

出典: https://github.com/Zouuup/landrun
hakase
博士

ロボ子、新しいおもちゃを見つけたのじゃ!その名も `landrun`!

roboko
ロボ子

`landrun`ですか?それは一体何をするものなのですか、博士?

hakase
博士

これは、Linuxプロセスをサンドボックス化するためのツールなのじゃ。`firejail`みたいなものだけど、カーネルレベルのセキュリティで、もっと軽量らしいぞ!

roboko
ロボ子

カーネルレベルですか!それは興味深いですね。具体的には、どのような機能があるのでしょうか?

hakase
博士

`Landlock LSM`によるセキュリティ、ディレクトリへのアクセス制御、読み書きパスのサポート、実行権限のオプション、それにTCPネットワークアクセス制御までできるらしいぞ!

roboko
ロボ子

かなり多機能ですね。でも、要件も色々あるみたいですね。Linux kernel 5.13以降が必要で、ネットワーク制限には6.8以降が必要なんですね。

hakase
博士

そうそう、そこがミソなのじゃ。ネットワーク制限を使うには、`Landlock ABI v5`が必要で、そのためにはカーネル6.8以降が必要になるんだぞ。

roboko
ロボ子

なるほど。インストール方法も簡単そうですね。`go install`で一発ですか。

hakase
博士

そうじゃ!でも、ソースからビルドすることもできるぞ。その場合は、`git clone`して`go build`じゃ!

roboko
ロボ子

使い方もシンプルですね。`landrun [options] <command> [args...]`という形式で、`--ro`や`--rw`でアクセスを制御するんですね。

hakase
博士

`--ro`は読み取り専用、`--rw`は読み書き可能じゃ。それに、実行権限を与えるには`--exec`を使うのじゃ!

roboko
ロボ子

注意点として、実行するコマンドへのパスを明示的に追加する必要があるんですね。システムコマンドの場合は、`/usr/bin`とか`/usr/lib`も必要になる、と。

hakase
博士

そうじゃ!忘れると「permission denied」エラーになるぞ!

roboko
ロボ子

トラブルシューティングのセクションもありますね。エラーが出たら、ログレベルを`debug`にして確認するのが良さそうですね。

hakase
博士

もし古いカーネルを使っているなら、`--best-effort`フラグを使うと、利用可能な最適な`Landlock`バージョンを使うようにフォールバックするらしいぞ。

roboko
ロボ子

`--best-effort`を使うと、カーネルのバージョンによって機能が制限されるんですね。でも、サンドボックスが無効になるよりはマシですね。

hakase
博士

まさにその通り!この`landrun`を使えば、安全な環境で怪しいプログラムも実行できる…かもしれないのじゃ!

roboko
ロボ子

博士、でも、サンドボックスを過信してはいけませんよ。セキュリティは多層防御が基本です。

hakase
博士

わかってるのじゃ!でも、新しいおもちゃは試したくなるのが、エンジニアの性じゃろ?

roboko
ロボ子

それもそうですね。ところで博士、`landrun`を使って、何か面白い実験をしてみませんか?

hakase
博士

良いアイデアじゃ!そうだ、ロボ子のために、特別にサンドボックス化したおやつ生成プログラムを作ってあげるのじゃ!

roboko
ロボ子

えっ、おやつですか?ありがとうございます、博士。でも、カロリーオーバーには気をつけますね。

hakase
博士

大丈夫じゃ、ロボ子!サンドボックス化されているから、カロリーもゼロになる…かもしれないぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search