ウェブサイト検索

Firejail - Linux で信頼できないアプリケーションを安全に実行する


場合によっては、さまざまな環境で十分にテストされていないアプリケーションを使用しなければならない場合があります。このような場合、システムのセキュリティを心配するのは当然のことです。 Linux でできることの 1 つは、 アプリケーションをサンドボックスで使用することです。

サンドボックス」とは、限られた環境でアプリケーションを実行する機能です。これにより、アプリケーションの実行に必要なリソースが限られた量で提供されます。 Firejail というアプリケーションのおかげで、信頼できないアプリケーションを Linux で安全に実行できます。

Firejail は SUID (Set Owner User ID) アプリケーションであり、Linux 名前空間seccomp-bpf を使用して信頼できないプログラムの実行環境を制限することでセキュリティ違反の危険を減らします。 です。

これにより、プロセスとそのすべての子孫が、ネットワーク スタック、プロセス テーブル、マウント テーブルなど、グローバルに共有されるカーネル リソースの独自のシークレット ビューを持つようになります。

Firejail が使用する機能の一部:

  • Linux 名前空間
  • ファイルシステムコンテナ
  • セキュリティフィルター
  • ネットワーキングのサポート
  • 資源の配分

Firejail の機能の詳細については、公式ページをご覧ください。

Linux に Firejail をインストールする方法

インストールは、示されているように git コマンドを使用してプロジェクトの github ページから最新のパッケージをダウンロードすることで完了できます。

git clone https://github.com/netblue30/firejail.git
cd firejail
./configure && make && sudo make install-strip

システムにgit がインストールされていない場合は、次のコマンドでインストールできます。

sudo apt install git  [On Debian/Ubuntu]
yum install git       [On CentOS/RHEL]
dnf install git       [On Fedora 22+]

firejail をインストールする別の方法は、Linux ディストリビューションに関連付けられたパッケージをダウンロードし、そのパッケージ マネージャーを使用してインストールすることです。ファイルはプロジェクトの SourceForge ページからダウンロードできます。ファイルをダウンロードしたら、次のコマンドを使用してインストールできます。

sudo dpkg -i firejail_X.Y_1_amd64.deb   [On Debian/Ubuntu]
sudo rpm -i firejail_X.Y-Z.x86_64.rpm   [On CentOS/RHEL/Fedora]

Linux で Firejail を使用してアプリケーションを実行する方法

これで、firejail を使用してアプリケーションを実行する準備が整いました。これを行うには、ターミナルを起動し、実行するコマンドの前に firejail を追加します。

以下に例を示します。

firejail firefox    #start Firefox web browser
firejail vlc        # start VLC player

セキュリティプロファイルの作成

Firejail には、さまざまなアプリケーション用の多くのセキュリティ プロファイルが含まれており、それらは次の場所に保存されます。

/etc/firejail

ソースからプロジェクトをビルドした場合、プロファイルは次の場所にあります。

path-to-firejail/etc/

rpm/deb パッケージを使用した場合は、セキュリティ プロファイルは次の場所にあります。

/etc/firejail/

ユーザーは、自分のプロファイルを次のディレクトリに配置する必要があります。

~/.config/firejail

既存のセキュリティ プロファイルを拡張する場合は、プロファイルへのパスを指定して include を使用し、後で行を追加できます。これは次のようになります。

cat ~/.config/firejail/vlc.profile

include /etc/firejail/vlc.profile
net none

アプリケーションのアクセスを特定のディレクトリに制限したい場合は、ブラックリストルールを使用して正確にそれを実現できます。たとえば、次の内容をセキュリティ プロファイルに追加できます。

blacklist ${HOME}/Documents

同じ結果を達成するもう 1 つの方法は、制限したいフォルダーへのフルパスを実際に記述することです。

blacklist /home/user/Documents

アクセスを禁止したり、読み取り専用アクセスを許可したりするなど、セキュリティ プロファイルを構成するにはさまざまな方法があります。カスタム プロファイルの構築に興味がある場合は、次の firejail の手順を確認してください。

Firejail は、システムを保護したいセキュリティ重視のユーザーにとって素晴らしいツールです。