「Firejail」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→インストール: 英語版より転載および翻訳) |
Kusanaginoturugi (トーク | 投稿記録) (→インストール: 英語版より転載) |
||
7行目: | 7行目: | ||
== インストール == |
== インストール == |
||
− | {{Note|ユーザー名前空間 ({{ic|1=CONFIG_USER_NS=Y}}) はデフォルトの[[カーネル]]設定では有効になっていませんが、Firejail を正しく動作させるためには必要になります。デフォルトで名前空間が無効になっていることについて詳しくは {{Bug|36969}} を見てください。}} |
||
− | |||
{{pkg|firejail}} または {{aur|firejail-git}} パッケージを[[インストール]]してください。Firejail で使用するためのGUIアプリケーション、{{Pkg|firetools}} も用意されています。 |
{{pkg|firejail}} または {{aur|firejail-git}} パッケージを[[インストール]]してください。Firejail で使用するためのGUIアプリケーション、{{Pkg|firetools}} も用意されています。 |
||
+ | |||
+ | {{Note|For information about {{man|7|user_namespaces}} support in Arch Linux kernels see [[Security#Sandboxing applications]]. [https://github.com/netblue30/firejail/issues/1842#issuecomment-376642039 Firejail can use it even if it is disabled].}} |
||
+ | {{Warning|While upstream is gradually adopting whitelists, (cf {{ic|/etc/firejail/firefox.profile}},) most of the supplied profiles still rely heavily on blacklists. This means that anything not explicitly forbidden by the profile will be accessible to the application. For example, if you have btrfs snapshots available in {{ic|/mnt/btrfs}}, a jailed program may be forbidden from accessing {{ic|$HOME/.ssh}}, but would still be able to access {{ic|/mnt/btrfs/@some-snapshot/$HOME/.ssh}}. Make sure to audit your profiles, see [[#Testing profiles]]}} |
||
==設定== |
==設定== |
2021年1月27日 (水) 11:42時点における版
関連記事
Firejail は Linux の名前空間や seccomp-bpf、Linux のケイパビリティを使うことで、信頼のおけないアプリケーションの実行環境を制限することでセキュリティのリスクを減らす、使いやすい SUID サンドボックスプログラムです。単体で使えるだけでなく、Grsecurity などの他のカーネル防護システムと一緒に使用することでセキュリティをさらに高めることができます。Firejail はブラウザやデスクトップアプリケーション、デーモン/サーバーなどで使うのに適しています。
目次
インストール
firejail または firejail-gitAUR パッケージをインストールしてください。Firejail で使用するためのGUIアプリケーション、firetools も用意されています。
設定
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 アプリケーションが存在します: firetools。
トラブルシューティング
PulseAudio
Firejail で PulseAudio が上手く動作しないという 既知の問題 が存在します。一時的に解決する方法:
cp /etc/pulse/client.conf ~/.config/pulse/
echo "enable-shm = no" >> ~/.config/pulse/client.conf