%EB%A5%BC%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
호스트가 인터넷에 액세스할 수 없도록 하고 싶습니다. 인터넷 트래픽은 vm 게스트로 자유롭게 이동할 수 있지만 더 중요한 것은 인터넷 트래픽이 호스트 OS에 도달할 수 없도록 하고 싶습니다. 여기서 내 질문의 대부분은 이것을 실현하기 위해 필요한 iptables 규칙이 무엇인지 추측하고 있습니다.
현재 저는 인터넷에 연결할 때마다 호스트 하드 디스크의 다른 파티션으로 부팅합니다. 데이터 파티션을 마운트 해제하고 많은 서비스를 종료했습니다. 편의상 가상 머신 대신 여기서 동일한 작업을 수행하고 싶습니다.
VM 게스트로 들어오고 나가는 인터넷 트래픽으로부터 호스트 OS를 완전히 분리할 수 있습니까? 아니면 온라인에 접속해야 할 때 다른 파티션으로 재부팅하는 현재 관행을 유지하는 것이 더 낫습니다.
답변1
네트워크(또는 인터넷) 액세스로부터 호스트 차단:
Bridged adapter
VM 구성에서 활성화하세요 . 이렇게 하면 게스트가 호스트와 독립적으로 네트워크에 연결할 수 있습니다.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
호스트에서 서비스로 활성화되어 있는지 확인하세요 . 예를 들어 패키지를 사용하여 /iptables-persistent
에서 활성화할 수 있는 서비스 스크립트를 제공할 수 있습니다 .systemd
initscripts
게스트로 이동하는 인터넷 트래픽에서 호스트를 격리합니다.
Bridged adapter
트래픽은 사용자 공간에서 격리되므로 호스트 공간도 통과하지 않습니다 iptables
. 그러나 게스트는 여전히 호스트 OS 내부에서 실행됩니다. 루트 액세스 권한이 있는 공격자는 항상 게스트가 보내거나 받는 데이터를 모니터링하고 스푸핑할 수 있습니다.VirtualBox에는 완전한 격리가 없습니다.