鎖定 Linux 應用程式的網路訪問

鎖定 Linux 應用程式的網路訪問

我想在 Linux VM 中執行一個不受信任的應用程式(主機是執行 VirtualBox 的 Windows 10)。它需要存取我的 LAN 上的另一台伺服器,但我想阻止一個 IP 上除此連接埠之外的任何其他網路存取。

AppArmor 似乎不允許這種細粒度的網路限制。

我不想阻止整個來賓作業系統的網路訪問,因為我希望能夠運行 eg sudo apt-get update,但如果這是我能做的最好的事情,那就可以接受。

最好的解決方案是什麼?也許是在啟動該程式之前設定臨時系統範圍防火牆規則的腳本?

答案1

由於您的虛擬機器是 Linux,我會利用 Linux命名空間運行該應用程式沙箱化的環境,例如使用火獄。在你的情況下,一種可能的方法是創建一個虛擬網路介面範圍有限,只能到達 LAN 上的其他伺服器。

然後使用 Firejail 啟動您的應用程序,以便它只能「看到」一個網路介面 - 受限制的網路介面。

從命令列產生的命令將類似於以下內容:

firejail --net=veth0 yourapp

但您也可以建立自訂設定檔。

相關內容