Debian Stretch ホスト上に VirtualBox VM インターネット サンドボックス (Linux ゲスト) を作成する方法

Debian Stretch ホスト上に VirtualBox VM インターネット サンドボックス (Linux ゲスト) を作成する方法

ホストがインターネットにアクセスできないようにしたいです。インターネット トラフィックは VM ゲストとの間で自由にやり取りできますが、さらに重要なのは、インターネット トラフィックがホスト OS に到達できないようにしたいということです。ここでの私の質問の大部分は、これを実現するためにどのような iptables ルールが必要かということだと思います。

現在、インターネットに接続するたびに、ホスト ハード ディスク上の別のパーティションで起動しています。データ パーティションをアンマウントし、多くのサービスをシャットダウンしています。利便性のために、代わりに仮想マシンを使用して同じことを行いたいと思います。

ホスト OS を、VM ゲストとの間でやり取りされるインターネット トラフィックから完全に分離することは可能ですか? それとも、オンラインにする必要があるときに他のパーティションで再起動するという現在の方法を維持したほうがよいでしょうか。

答え1

ホストのネットワーク(またはインターネット)アクセスをブロックする:

  1. VM の構成で有効にしますBridged adapter。これにより、ゲストはホストから独立してネットワークに接続できるようになります。
  2. iptables次の構成でホスト上で起動します。

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]

-A INPUT -i lo -j ACCEPT

  1. ローカル ネットワーク (とします192.168.0.0/24)を維持しながらインターネット アクセスのみをブロックするには、iptables次のようにルールを拡張します。

-A INPUT -i {your-adapter} -s 192.168.0.0/24 -j ACCEPT
-A OUTPUT -o {your-adapter} -d 192.168.0.0/24 -j ACCEPT

  1. がホスト上のサービスとして有効になっていることを確認してくださいiptables。たとえば、パッケージを使用して、/iptables-persistentで有効にできるサービス スクリプトを提供できます。systemdinitscripts

ゲストに送信されるインターネット トラフィックからホストを分離する:

Bridged adapterトラフィックはユーザー空間で分離されているため、ホストを通過するiptablesこともありません。ただし、ゲストはホスト OS 内で実行されます。ルート アクセス権を持つ攻撃者は、ゲストが送受信するデータを常に監視および偽装できます。VirtualBox では完全な分離は実現できません。

関連情報