Firejail-サンドボックスを実装するソフトウェア
今月の気になるオープンソース情報(2017年6月号)
OSS研究室 大野 公善
「サンドボックス」という言葉はご存知でしょうか?
コンピュータシステムの中に隔離された領域を作成し、その内部で特定のプログラムを動作させる技術のことを言います。サンドボックスの中で実行されるプログラムは、その影響をサンドボックス内に 限定することができます。例えば、インターネットに接続するウェブブラウザやインターネットから届くメールを読むメーラをサンドボックスの中で実行すれば、たとえコンピュータウィルスを持ち込んでしまったとしても、 コンピュータ全体に被害を及ぼすことがなくなり、安心してインターネット接続ができるようになります。
今回は、Linuxでサンドボックスを実装するためのソフトウェアであるFirejailをご紹介します。
Firejailは、Linuxの標準機能であるLinux名前空間とseccomp-bpfを利用してサンドボックスを実現しています。Linux名前空間はネットワークやプロセステーブルを独立させた特別な空間を作成する機能、seccomp-bpfはアプリケーションがLinuxシステムに出す命令を制限する機能です。これらの機能を利用し、「機能が制限された区切られた空間」を作成しています。
Firejailを使用したサンドボックス作成は、単純な手順で行うことができます。例えば、ウェブブラウザのfirefoxをサンドボックス内で起動するには "firejail firefox" と指定するだけです。アプリケーション毎に設定ファイ ルを作成することができるようになっていますので、様々なアプリケーションをFirejail内で容易に実行することができます。また、Firejailを利用するために特別なデーモンプログラムが動作するようなこともなく、とても軽量に動 作しますので、コンピュータシステムへの負荷も心配ありません。
デージーネットでは、インターネットに接続するサーバをより安全に運用できるようにする時にFirejailを利用しています。例えば、SaMMAを使用したメール無害化サーバにFirejailを利用することを提案しています。SaMMAのメール無害 化機能はインターネットから受信したメールを無害化して各ユーザのメールボックスに配信する仕組みです。Firejailを使用してサンドボックスを作成し、その中でSaMMAを起動することで、有害なコンテンツを含む可能性があるメール を安全に扱うことができるようになりました。
Firejailは、利用者が自分のコンピュータを守るために利用されることが多いですが、Linuxサーバ上でも十分に利用することができます。Linuxシステムをより安心して運用するためにFirejailを使用してみてはいかがでしょうか?