Linux の Landlock セキュリティモジュールはカーネル 5.13 から利用可能ですが、その強力なサンドボックス機能にもかかわらず、複雑な API のため普及が限られていました。 Landrun という新しいツールは、シンプルなコマンドラインインターフェースを通じて Landlock のセキュリティ機能を利用しやすくすることを目指しています。
Go で書かれた軽量な CLI ツールである Landrun は、非特権プロセスが細かなファイルシステムとネットワークアクセス制御を持つ安全なサンドボックスを作成できるようにします。root 権限や複雑なコンテナセットアップを必要とする従来のサンドボックスソリューションとは異なり、 Landrun はカーネルネイティブの Landlock LSM(Linux Security Module)を活用して、最小限のオーバーヘッドで堅牢なセキュリティを提供します。
非特権プロセスのためのシンプル化されたセキュリティ
Landrun は、強力だが複雑な Landlock の API を日常のユーザーにアクセスしやすくすることで、Linux セキュリティツールの重要なギャップに対処します。このツールにより、プロセスが読み取り、書き込み、または実行できるディレクトリや、バインドまたは接続できる TCP ポートを正確に制御できます。
「Linux Landlock はカーネルネイティブのセキュリティモジュールで、非特権プロセスが自身をサンドボックス化できますが、API が...難しいため誰も使っていません!」
このセキュリティアプローチは、ディスカッションで多くのユーザーがシンプルさを称賛した OpenBSD の pledge と unveil システムコールを思わせます。Linux の厳格な ABI 互換性要件のため Landlock の実装は必然的に複雑ですが、 Landrun はこの複雑さを抽象化し、より使いやすいインターフェースを提供します。
既存のソリューションとの比較
コミュニティディスカッションでは、 Landrun と Firejail、Bubblewrap、nsjail などの既存のサンドボックスツールとの比較がいくつか強調されました。これらのツールは分離のために Linux 名前空間を使用することが多いですが、 Landrun による Landlock の使用はいくつかの明確な利点を提供します。
名前空間は強力ですが、大きな攻撃対象領域を導入する可能性があり、通常、自身をサンドボックス化したいアプリケーションにより実質的な変更を必要とします。また、多くの場合、root 権限や特別なシステム構成が必要です。対照的に、 Landlock は特に非特権プロセスによって使用されるように設計されており、既存のセキュリティメカニズムとうまく統合されます。
複数のユーザーが、Firejail も最近 Landlock サポートを追加したことを指摘し、Linux エコシステム全体でこのセキュリティメカニズムへの関心が高まっていることを示しています。
ネットワーク制限と将来の開発
Landrun について最も議論された側面の一つは、そのネットワーク制限機能でした。現在、 Landrun は TCP ポートベースの制限(バインドと接続)をサポートしていますが、これは Linux カーネル 6.8 以降で Landlock ABI v5 を使用する場合のみです。
開発者たちは、将来のリリースでネットワークフィルタリング機能を拡張する計画を示しており、UDP サポートやより細かな制御が含まれる可能性があります。機能開発へのこの段階的なアプローチは、Linux カーネルにおける Landlock 自体の進化と一致しています。
一部のユーザーは、プロセスごとのファイアウォール設定に関心を示し、これが Linux セキュリティにおける長年の課題であることを指摘しました。 Landrun はこの問題を完全に解決するわけではありませんが、その TCP 制限は制御されたネットワークアクセスを必要とするアプリケーションにとって、その方向への一歩を提供します。
Landrun の特徴
- Landlock LSM を使用したカーネルレベルのセキュリティ
- 軽量で高速な実行
- ディレクトリに対する細かなアクセス制御
- 読み取りと書き込みパスのサポート
- パス固有の実行権限
- TCP ネットワークアクセス制御(バインドと接続)
カーネル互換性表
機能 | 最小カーネルバージョン | Landlock ABI バージョン |
---|---|---|
基本的なファイルシステムサンドボックス | 5.13 | 1 |
ファイル参照/再親設定の制御 | 5.19 | 2 |
ファイル切り詰め制御 | 6.2 | 3 |
ネットワーク TCP 制限 | 6.7 | 4 |
特殊ファイルに対する IOCTL | 6.10 | 5 |
実用的なアプリケーション
コミュニティメンバーは、選択的なネットワーク権限を持つウェブサーバーの保護から、制御された環境での信頼されないコードの実行まで、 Landrun のさまざまなユースケースを共有しました。あるユーザーは、サードパーティソフトウェアのビルドを制限するために同様のツールを使用していることを述べ、日常の開発ワークフローにおける実用的なセキュリティ上の利点を強調しました。
デスクトップユーザーにとって、一部はアプリケーションが特定のディレクトリへのアクセスを要求しなければならない macOS のパーミッションシステムとの類似点を指摘しました。 Landrun は現在、インタラクティブなパーミッションシステムを実装していませんが、将来的にそのような機能を可能にする基礎的なメカニズムを提供しています。
このツールの軽量な性質と依存関係の少なさは、完全なコンテナ化のオーバーヘッドなしに追加の保護層を加えたいセキュリティ意識の高いユーザーにとって特に魅力的です。
Linux がセキュリティ機能を進化させ続ける中、 Landrun のようなツールは高度なセキュリティ機能をより広範な層にアクセス可能にする上で重要な役割を果たします。 Landlock へのインターフェースを簡素化することで、 Landrun は強力なカーネルレベルのセキュリティメカニズムと実用的な日常のユースケースの間のギャップを埋めるのに役立ちます。
参考: landrun