Linux アプリのネットワーク アクセスをロックダウンする

Linux アプリのネットワーク アクセスをロックダウンする

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

ただし、カスタム プロファイルを作成することもできます。

関連情報