如何在 debianstretch 主機上建立 virtualbox 虛擬機器互聯網沙箱(linux guest)

如何在 debianstretch 主機上建立 virtualbox 虛擬機器互聯網沙箱(linux guest)

我想確保主機無法存取網際網路。雖然網路流量可以自由地往返於虛擬機器來賓,但更重要的是,我想確保網路流量無法到達主機作業系統。我猜我的大部分問題是需要什麼 iptables 規則才能實現這一點?

目前,每當我連接到網路時,我都會啟動到主機硬碟上的另一個分割區。我卸載了資料分區並關閉了許多服務。為了方便起見,我想在這裡用虛擬機器做同樣的事情。

是否可以將主機作業系統與進出虛擬機器訪客的網路流量完全隔離?或者,當我需要上網時,我是否最好繼續保留目前的做法,重新啟動到另一個分割區。

答案1

阻止主機存取網路(或網際網路):

  1. 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在您的主機上作為服務啟用。例如,您可以使用 packageiptables-persistent為您提供可以在systemd/中啟用的服務腳本initscripts

將主機與流向訪客的網路流量隔離:

由於Bridged adapter流量在用戶空間中被隔離,因此它也不會通過主機iptables。然而,來賓仍然在主機作業系統內運行。具有 root 存取權限的攻擊者始終能夠監視和欺騙來賓發送或接收的資料。VirtualBox 不存在完全隔離。

相關內容