Firejailは、Linuxシステムを保護するために設計された軽量なセキュリティツールであり、(潜在的に信頼できない)アプリケーションを実行するための制限された環境をセットアップします。
より具体的には、Linux名前空間、seccomp-bpf、およびLinuxケーパビリティを使用してセキュリティ侵害のリスクを低減するSUIDサンドボックスプログラムです。プロセスとそのすべての子孫が、ネットワークスタック、プロセステーブル、マウントテーブルなど、グローバルに共有されるカーネルリソースに対して独自のプライベートビューを持てるようにします。FirejailはSELinuxまたはAppArmor環境で動作し、Linux Control Groupsと統合されています。
C言語で書かれ、依存関係が事実上ないため、このソフトウェアは3.x以降のカーネルバージョンを持つ任意のLinuxコンピュータで動作します。サーバー、グラフィカルアプリケーション、さらにはユーザーログインセッションなど、あらゆるタイプのプロセスをサンドボックス化できます。このソフトウェアには、Mozilla Firefox、Chromium、VLC、Transmissionなど、より一般的なLinuxプログラム向けのサンドボックスプロファイルが含まれています。
サンドボックスは軽量で、オーバーヘッドは低いです。編集する複雑な設定ファイルもなく、開かれたソケット接続もなく、バックグラウンドで実行されるデーモンもありません。すべてのセキュリティ機能はLinuxカーネルに直接実装されており、任意のLinuxコンピュータで利用できます。
クイックスタート |
高度なブラウザセキュリティ |
Tor Browserセキュリティ |
SECURITY.mdを参照してください。
サポートされているバージョンについては、SECURITY.mdを参照してください。
注: Debian stableおよびbackportsのバージョンは古くなっている可能性が高いため、現在は最新リリースから.debパッケージをダウンロードしてインストールすることを推奨します:
またはソースからのビルドを行ってください。
Debian stable (bullseye): backportsパッケージの使用を推奨します。
注: ディストリビューションおよびPPAのバージョンは古くなっている可能性が高いため、現在は最新リリースから.debパッケージをダウンロードしてインストールすることを推奨します:
またはソースからのビルドを行ってください。
注: PPAの推奨は主にfirejail自体に対するものです。firetoolsおよびfirejail関連のツールは、PPAに含まれていない場合はディストリビューションから直接インストールしても問題ありません。これらは更新頻度が低い傾向があるためです。
Ubuntu 18.04以降およびその派生版(Linux Mintなど)のユーザーは、PPAの使用を強く推奨します。
PPAを追加してインストールする方法:
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
理由: Ubuntu 20.04用のfirejailパッケージは、Launchpadにパッチが投稿された後も数ヶ月間CVE-2021-26910に対して脆弱なままでした:
https://wiki.ubuntu.com/SecurityTeam/FAQも参照してください:
What software is supported by the Ubuntu Security team?
Ubuntu is currently divided into four components: main, restricted, universe and multiverse. All binary packages in main and restricted are supported by the Ubuntu Security team for the life of an Ubuntu release, while binary packages in universe and multiverse are supported by the Ubuntu community.
さらに、PPAのバージョンはより新しく、より多くのプロファイル修正が含まれている可能性が高いです。
詳細については、以下のディスカッションを参照してください:
Firejailは複数のLinuxディストリビューションで利用可能です:
前述の例外を除き、お使いのディストリビューションがfirejailのサポートされているバージョンを提供している限り、一般的にはディストリビューションからインストールするのが良いでしょう。
バージョンはインストール後にfirejail --versionで確認できます。
リリースされたパッケージのいずれかをインストールすることもできます。
現在の開発バージョンをソースからビルドおよびインストールする手順です。
該当する場合は、以下に示すディストリビューション固有の手順を使用することを推奨します。これらはネイティブパッケージを生成するため、システムの残りの部分やパッケージ管理との統合が容易になるはずです。
その他のディストリビューションについては、汎用手順を参照してください。
ディストリビューション固有のビルドがCIでどのように行われるかについては、.gitlab-ci.ymlも参照してください。
注: AURパッケージは当方ではメンテナンスしていません。
AURからfirejail-gitをインストールします。
例:
yay -S firejail-git
Debian、Ubuntuおよびその派生版向け:
注: ./configureフラグはmkdeb.shに渡す必要があります(例: ./mkdeb.sh --enable-foo)。
sudo apt-get update -qy
sudo apt-get install -qy \
git build-essential fakeroot lintian libapparmor-dev pkg-config gawk
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./mkdeb.sh &&
sudo dpkg -i ./*.deb &&
make installcheck
Fedoraおよびその派生版向け:
注: ./configureフラグはmkrpm.shに渡す必要があります(例: ./platform/rpm/mkrpm.sh --enable-foo)。