
Linux VM (ホストは VirtualBox を実行している Windows 10) で信頼できないアプリケーションを 1 つ実行したいと考えています。LAN 上の別のサーバーにアクセスする必要がありますが、1 つの IP 上のこの 1 つのポート以外のネットワーク アクセスはすべてブロックしたいと考えています。
AppArmor では、このようなきめ細かいネットワーク制限は許可されないようです。
たとえば、 を実行できるようにしたいので、ゲスト OS のネットワーク アクセス全体をブロックしたくありませんsudo apt-get update
が、それが最善の方法であれば、受け入れられます。
最善の解決策は何でしょうか? このプログラムを起動する前に、一時的なシステム全体のファイアウォール ルールを設定するスクリプトでしょうか?
答え1
VMはLinuxなので、Linuxを活用します名前空間そのアプリをサンドボックス化された環境、例えばファイアージェイルあなたの場合、1つの可能なアプローチは、仮想ネットワークインターフェース範囲が限定されており、LAN 上の他のサーバーにのみアクセスできます。
次に、Firejail を使用してアプリを起動し、制限された 1 つのネットワーク インターフェイスのみを「認識」できるようにします。
コマンドラインからの結果のコマンドは次のようになります。
firejail --net=veth0 yourapp
ただし、カスタム プロファイルを作成することもできます。