コンテンツにスキップ

「Firejail」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
同期
2行目: 2行目:
[[Category:セキュリティ]]
[[Category:セキュリティ]]
[[en:Firejail]]
[[en:Firejail]]
{{Related articles start}}
{{Related|セキュリティ}}
{{Related articles end}}
[https://firejail.wordpress.com/ Firejail] は Linux の名前空間や seccomp-bpf、Linux のケイパビリティを使うことで、信頼のおけないアプリケーションの実行環境を制限することでセキュリティのリスクを減らす、使いやすい SUID サンドボックスプログラムです。単体で使えるだけでなく、[[Grsecurity]] などの他のカーネル防護システムと一緒に使用することでセキュリティをさらに高めることができます。Firejail はブラウザやデスクトップアプリケーション、デーモン/サーバーなどで使うのに適しています。
[https://firejail.wordpress.com/ Firejail] は Linux の名前空間や seccomp-bpf、Linux のケイパビリティを使うことで、信頼のおけないアプリケーションの実行環境を制限することでセキュリティのリスクを減らす、使いやすい SUID サンドボックスプログラムです。単体で使えるだけでなく、[[Grsecurity]] などの他のカーネル防護システムと一緒に使用することでセキュリティをさらに高めることができます。Firejail はブラウザやデスクトップアプリケーション、デーモン/サーバーなどで使うのに適しています。


== インストール ==
== インストール ==
{{Note|ユーザー名前空間 ({{ic|1=CONFIG_USER_NS=Y}}) はデフォルトの[[カーネル]]設定では有効になっていませんが、Firejail を正しく動作させるためには必要になります。デフォルトで名前空間が無効になっていることについて詳しくは {{Bug|36969}} を見てください。}}


{{pkg|firejail}} または {{aur|firejail-git}} パッケージを[[インストール]]してください。使用するのに必要なものが全て入っています。
{{pkg|firejail}} または {{aur|firejail-git}} パッケージを[[インストール]]してください。使用するのに必要なものが全て入っています。
14行目: 18行目:
===空白が含まれるパス===
===空白が含まれるパス===


カスタムプロファイルを使ってディレクトリを参照したりホワイトリスト・ブラックリストに入れる場合、以下のように絶対パスを使ってください (例: {{aur|palemoon}}): {{ic|/home/user/.moonchild productions}}。
カスタムプロファイルを使ってディレクトリを参照したりホワイトリスト・ブラックリストに入れる場合、のように絶対パスを使ってください (例: {{aur|palemoon}}): {{ic|/home/user/.moonchild productions}}。


==使用方法==
==使用方法==


firejail で seccomp を使ってアプリケーションを実行するには (例: Firefox)、以下を実行:
firejail で seccomp を使ってアプリケーションを実行するには (例: okular)、以下を実行:


$ firejail --seccomp firefox
$ firejail --seccomp okular


====プライベートモード====
====プライベートモード====


Firejail にはワンタイムのプライベートモードも存在します。プライベートモードでは chroot でホームディレクトリのマウントがされません。ディスクに何の痕跡も残さないでアプリケーションを実行することが可能です。例えば、Firefox をプライベートモードで実行するには、以下を実行:
Firejail にはワンタイムのプライベートモードも存在します。プライベートモードでは chroot でホームディレクトリのマウントがされません。ディスクに何の痕跡も残さないでアプリケーションを実行することが可能です。例えば、okular をプライベートモードで実行するには、以下を実行:


$ firejail --seccomp --private firefox
$ firejail --seccomp --private okular


===デフォルトで Firejail を使う===
===デフォルトで Firejail を使う===


コンソー {{ic|.desktop}} ファイルからアプリケーションを起動してい場合それぞれアプリケーションのランチャーを {{ic|/usr/local/bin}} に作成することができます。例えば、Firefox なら以下ファイル[[ヘルプ:読み方#追加, 作成, 編集 そして source|作成]]して実行可能権限を付与してください:
デフォトで Firejail アプリケーションを実行すには以下ように {{ic|/usr/bin/firejail}} のシンボリックリンクを作成してください:
$ ln -s /usr/bin/firejail /usr/local/bin/okular


また、コンソールや {{ic|.desktop}} ファイルからアプリケーションを起動している場合、それぞれのアプリケーションのランチャーを {{ic|/usr/local/bin}} に作成することができます。例えば、okular なら以下のファイルを[[ヘルプ:読み方#追加, 作成, 編集 そして source|作成]]して実行可能権限を付与してください:
{{hc|/usr/local/bin/firefox|

firejail --seccomp /usr/bin/firefox $@}}
{{hc|/usr/local/bin/okular|
firejail --seccomp /usr/bin/okular $@}}


====デスクトップファイル====
====デスクトップファイル====
61行目: 68行目:
{{hc|1=cp /etc/pulse/client.conf ~/.config/pulse/
{{hc|1=cp /etc/pulse/client.conf ~/.config/pulse/
|2=echo "enable-shm = no" >> ~/.config/pulse/client.conf}}
|2=echo "enable-shm = no" >> ~/.config/pulse/client.conf}}

==参照==
* [https://github.com/netblue30/firejail Firejail GitHub プロジェクトページ]

2017年2月24日 (金) 00:10時点における版

関連記事

Firejail は Linux の名前空間や seccomp-bpf、Linux のケイパビリティを使うことで、信頼のおけないアプリケーションの実行環境を制限することでセキュリティのリスクを減らす、使いやすい SUID サンドボックスプログラムです。単体で使えるだけでなく、Grsecurity などの他のカーネル防護システムと一緒に使用することでセキュリティをさらに高めることができます。Firejail はブラウザやデスクトップアプリケーション、デーモン/サーバーなどで使うのに適しています。

インストール

ノート ユーザー名前空間 (CONFIG_USER_NS=Y) はデフォルトのカーネル設定では有効になっていませんが、Firejail を正しく動作させるためには必要になります。デフォルトで名前空間が無効になっていることについて詳しくは FS#36969 を見てください。

firejail または firejail-gitAUR パッケージをインストールしてください。使用するのに必要なものが全て入っています。

設定

Firejail は実行するアプリケーションごとにプロファイルを使います。デフォルトのプロファイルは /etc/firejail/application.profile にあります。デフォルトのプロファイルを修正したり、デフォルトに含まれていないアプリケーションのカスタムプロファイルを作成する場合、~/.config/firejail に新しいルールやデフォルトのコピーを配置することができます。

空白が含まれるパス

カスタムプロファイルを使ってディレクトリを参照したりホワイトリスト・ブラックリストに入れる場合、次のように絶対パスを使ってください (例: palemoonAUR): /home/user/.moonchild productions

使用方法

firejail で seccomp を使ってアプリケーションを実行するには (例: okular)、以下を実行:

$ firejail --seccomp okular

プライベートモード

Firejail にはワンタイムのプライベートモードも存在します。プライベートモードでは chroot でホームディレクトリのマウントがされません。ディスクに何の痕跡も残さないでアプリケーションを実行することが可能です。例えば、okular をプライベートモードで実行するには、以下を実行:

$ firejail --seccomp --private okular

デフォルトで Firejail を使う

デフォルトで Firejail でアプリケーションを実行するには、以下のように /usr/bin/firejail のシンボリックリンクを作成してください:

$ ln -s /usr/bin/firejail /usr/local/bin/okular

また、コンソールや .desktop ファイルからアプリケーションを起動している場合、それぞれのアプリケーションのランチャーを /usr/local/bin に作成することができます。例えば、okular なら以下のファイルを作成して実行可能権限を付与してください:

/usr/local/bin/okular
firejail --seccomp /usr/bin/okular $@

デスクトップファイル

標準のパスを使わないアプリケーションも存在します。そのようなアプリケーションでは /usr/share/applications/*.desktop.desktop ランチャーを ~/.local/share/applications/ にコピーして EXEC 行に firejail (や seccomp) を記述すれば firejail を使うことができます。

デーモン

デーモンの場合、デーモンの systemd ユニットファイルを上書きして firejail を呼び出すようにしてください。systemd#ユニットファイルの編集を参照。

ノート

Firejail では上手く動作しないアプリケーションや、特別な設定を必要とするアプリケーションが存在します。特定のアプリケーションで全てのディレクトリが使用できない、ブラックリストに入れられている場合、プロファイルを編集してアプリケーションからアクセスする必要がある非標準のディレクトリを有効化してください。例えば Wine がそれに当てはまります。Wine は大抵の場合 seccomp を使用していると動作しません。

他の設定も存在します。firejail の開発は変更が激しいので詳しくは firejail の man ページを参照してください。

Firetools

Firejail を使用するための GUI アプリケーションが存在します: firetoolsAUR

トラブルシューティング

PulseAudio

Firejail で PulseAudio が上手く動作しないという 既知の問題 が存在します。一時的に解決する方法:

cp /etc/pulse/client.conf ~/.config/pulse/
echo "enable-shm = no" >> ~/.config/pulse/client.conf

参照