Ubuntu 16.04(バージョン0.9.38)にインストールされたばかりの firejail そしてこれによるとlinux-magazine記事 、デフォルトでは、ファイルシステム全体をR/Oにする必要があります。
サンドボックス内のプログラムは、すべてのディレクトリへの読み取りアクセスのみを持っているため、重要なファイルを操作することはできません。
今、私は自分のコンピューターで次のことを試しました。
touch /disk5/test.txt
firejail gvim /disk5/test.txt
wq!
)cat /disk5/test.txt
これは予想される動作ですか? firejailは、元のファイルの上書きから私を保護するはずではありませんでしたか?私は何を間違えましたか? /disk5
は、私の/home
の外部のルートファイルシステムにマウントされていることに注意してください。
github でバグを発生させました
firejail
は、すべてを正しくする魔法のツールではありません。これは、yoものの処理方法に関する独自のルールを定義できるセキュリティツールです。たとえば、次の引数は次のとおりです。
firejail --noprofile
何の保護も与えません。制約を指定しなかったため、firejailはデフォルトで許容されます。一部のdirを読み取り専用にするには、明示的に記述する必要があります。何かのようなもの:
firejail --noprofile --read-only=/ --read-only=~ --read-only=/tmp
(私は/
、~
、および/tmp
を別々に記述しました。これは、firejailには、ディレクティブをそれほど重要ではないルールでソートし、独自の~
マウントを作成するという意外な動作があるためです。途中で。)
また、--caps.drop=all
引数がないと、--seccomp
などのプログラムは安全ではありません。プロセスは、UNIXソケット、抽象ソケットなどを介して他のプロセスと通信し、それらのバグを悪用する可能性があるためです。比較的OKの「jail」が必要な場合は、少なくともseccomp、caps.drop = all、およびnonewprivsディレクティブを追加します。
編集:あなたが言及した引用はおそらくちょうど間違っています。 (またはそう思います。)「すべてが読み取り専用」よりも複雑です。