web-dev-qa-db-ja.com

DebianでIceweasel(Firefox)をサンドボックス化する方法は?

DebianシステムでIceweasel(Firefox)をサンドボックス化するためのツールはありますか?私は主にDebianが配布するツールに興味があります。 (同様に信頼できるソースが2番目に良いでしょう。)

(VirtualBoxをインストールしてIceweasel(またはFirefox)を実行すると、ブラウザを効果的にサンドボックス化すると思いますが、VirtualBoxインスタンスは多くのディスク容量を占有し、マシンのドライブはそれほど大きくありません。小さいディスクフットプリントで同じ結果を実現します。)

8
kjo

Linuxコンテナーを使用するdockerを使用できます。

これを行う方法を次に示します。

here からdockerをダウンロードしてインストールします

Dockerイメージを作成するコマンドを含む「Dockerfile」という名前のファイルを作成します。次のファイルは、FirefoxとOpenSSHサーバーがインストールされるUbuntuに基づくイメージを作成します。ユーザー「noone」が作成されます([公開鍵]を公開鍵に置き換えます)。これは、後でFirefoxを起動するために使用されます。

FROM ubuntu:14.04 RUN apt-get update RUN apt-get -y install openssh-server firefox RUN mkdir /var/run/sshd RUN useradd -m -U --Shell=/bin/bash noone RUN sed -ri 's/noone:!/noone:*/g' /etc/shadow RUN sed -ri 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config RUN mkdir /home/noone/.ssh RUN chown noone:noone /home/noone/.ssh RUN echo 'ssh-rsa [your public key] xxx' > /home/noone/.ssh/authorized_keys EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]

docker -dでdockerデーモンを起動します。

Dockerfileがあるディレクトリに移動し、docker build -t sandboxfirefoxを実行します。これにより、イメージsanboxfirefoxが作成されます。

上記で作成したイメージからdocker run -d -p 127.0.0.1:5001:22 sandboxfirefoxを使用してDockerコンテナーを起動します(コンテナーのポート22がホストのポート5001にエクスポートされます)

これで、次のようにユーザー「noone」でX転送を使用してSSH経由でfirefoxを起動できます。

ssh -o "UserKnownHostsFile/dev/null" -t -X -p 5001 noone @ localhost firefox

ファイルシステムへの変更は、イメージではなくコンテナにのみ影響します。コンテナを停止すると、すべての変更が失われます。

3
DanielE

アプリケーション(ゲームサーバー、ネットワーキングアプリケーションなど)を「サンドボックス化」するために使用する1つの方法は、アプリケーションごとに特定のユーザーを作成することです。例えば:

Sudo adduser firefoxuser # create a user for browsing the web

次に、終了して新しいユーザーとしてログインします。次に、実行する必要のあるアプリケーションを実行します。ユーザーがSudoアクセスを必要としない場合は、ユーザーがSudoを使用できないことを確認してください。

あなたの場合、あなたがウェブを閲覧したいときはいつもこのユーザーとしてログインするだけです。これにより、攻撃者がシステムに侵入できる場合、攻撃者はすぐに管理者アカウントにアクセスできなくなります。アクセスをさらに制限する場合は、特定のデフォルトグループからそれらを削除することも検討してください。


仮想ボックス

あなたの質問で言ったように、Virtual Box(VM Wareなど)には多くの欠点があります:

  1. 大量のRAMを使用
  2. 大量のディスク容量を使用する
  3. ずっと遅い

しかし、それを使用することにも多くの利点があります。仮想マシンを作成してから、スナップショットを作成できます。私は通常これを「ファクトリーステート」と呼びます。次に、仮想マシンの使用が終了したら、スナップショットに戻ります。仮想マシンにインストールされた可能性のあるマルウェアはすべて消去されます。

1
John

サンドボックスソフトウェア arkose をチェックアウトする必要があります。これは、プロセスが終了した後もファイルシステムをそのままにしておくように設計されたコピーオンライトサンドボックスです。

Afaik、arkoseにはファイルへの読み取りアクセスを制限するコントロールがないため、別のユーザーとしてブラウザーを実行することをお勧めします。

このようなサンドボックス化の欠点の1つは、ブラウザー内から更新されたプラグインがサンドボックスを生き残ることができないことです。プラグインを更新するには、通常どおりブラウザを定期的に実行する必要があります。

0