「Firejail」の版間の差分
細 (→インストール) |
(同期) |
||
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}}。 |
==使用方法== |
==使用方法== |
||
− | firejail で seccomp を使ってアプリケーションを実行するには (例: |
+ | firejail で seccomp を使ってアプリケーションを実行するには (例: okular)、以下を実行: |
− | $ firejail --seccomp |
+ | $ firejail --seccomp okular |
====プライベートモード==== |
====プライベートモード==== |
||
− | Firejail にはワンタイムのプライベートモードも存在します。プライベートモードでは chroot でホームディレクトリのマウントがされません。ディスクに何の痕跡も残さないでアプリケーションを実行することが可能です。例えば、 |
+ | Firejail にはワンタイムのプライベートモードも存在します。プライベートモードでは chroot でホームディレクトリのマウントがされません。ディスクに何の痕跡も残さないでアプリケーションを実行することが可能です。例えば、okular をプライベートモードで実行するには、以下を実行: |
− | $ firejail --seccomp --private |
+ | $ firejail --seccomp --private okular |
===デフォルトで Firejail を使う=== |
===デフォルトで Firejail を使う=== |
||
− | + | デフォルトで 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 はブラウザやデスクトップアプリケーション、デーモン/サーバーなどで使うのに適しています。
目次
インストール
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