
我想確保主機無法存取網際網路。雖然網路流量可以自由地往返於虛擬機器來賓,但更重要的是,我想確保網路流量無法到達主機作業系統。我猜我的大部分問題是需要什麼 iptables 規則才能實現這一點?
目前,每當我連接到網路時,我都會啟動到主機硬碟上的另一個分割區。我卸載了資料分區並關閉了許多服務。為了方便起見,我想在這裡用虛擬機器做同樣的事情。
是否可以將主機作業系統與進出虛擬機器訪客的網路流量完全隔離?或者,當我需要上網時,我是否最好繼續保留目前的做法,重新啟動到另一個分割區。
答案1
阻止主機存取網路(或網際網路):
Bridged adapter
在虛擬機器的配置中啟用。這將允許您的訪客獨立於您的主機連接到網路。iptables
使用以下配置在主機上啟動:
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
- 要僅阻止互聯網訪問,同時保留本地網路(假設
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
- 確保
iptables
在您的主機上作為服務啟用。例如,您可以使用 packageiptables-persistent
為您提供可以在systemd
/中啟用的服務腳本initscripts
。
將主機與流向訪客的網路流量隔離:
由於Bridged adapter
流量在用戶空間中被隔離,因此它也不會通過主機iptables
。然而,來賓仍然在主機作業系統內運行。具有 root 存取權限的攻擊者始終能夠監視和欺騙來賓發送或接收的資料。VirtualBox 不存在完全隔離。