Hay dos formas principales por las que una máquina virtual invitada dañada / malvada puede dañar su host:
-
Hablando con el host a través de la red; esto es similar a tener una máquina malvada en la misma LAN que el host, aunque puede haber detalles, dependiendo de cómo funciona la red en su VM particular.
-
Al "escapar" de la capa de virtualización, un escape exitoso que otorga (por ejemplo) acceso de lectura / escritura al proceso de VM en el host, o secuestro del hipervisor, o cualquier cosa del mismo nivel.
La segunda forma es de qué se tratan las "fallas de seguridad del proveedor". Si la implementación de la máquina virtual es segura, debería evitar tales incidencias.
Los cortafuegos actúan en el lado de la red, por lo que es relevante solo para la primera vía. Sin embargo, si está trabajando con máquinas virtuales potencialmente hostiles, entonces, de hecho, debe hacer algo con respecto a los ataques basados en la red, y eso puede implicar firewalls.
En una máquina virtual típica , el host proporciona servicios de red al huésped. Estos servicios son configurables. Por ejemplo, si observa lo que Virtualbox , el invitado puede:
- no tiene ninguna red (el motor de VM no proporciona al huésped una interfaz de red virtual);
- tener una interfaz de red vinculada con otra máquina virtual en el mismo motor, pero separada de la Internet real;
- tener una interfaz de red vinculada con otra VM y con el host , pero por lo demás separada de Internet;
- tiene una interfaz de red que el host ve, y para la cual el host proporciona servicio NAT (pero esto no corresponde a una tarjeta Ethernet real en el host).
- tiene una interfaz de red puenteada, lo que permite a la VM enviar y recibir tramas Ethernet como si fuera otra máquina física conectada a la LAN.
En los dos primeros casos, la máquina virtual no puede hablar con el host y eso es definitivo. En los casos 3 y 5, la máquina virtual puede comunicarse con el host a través de lo que el host ve como una tarjeta de red (una nueva tarjeta basada en software en el caso 3; su tarjeta física real en el caso 5). En el caso 4, el sistema operativo host no ve los paquetes del invitado como paquetes; son una matriz de bytes en el proceso del motor de la máquina virtual, pero ese proceso los traduce como conexiones a otras máquinas, que pueden ser el propio host.
Los firewalls no tienen nada que ver con los casos 1 y 2. Un firewall puede funcionar con los casos 3 y 5, aunque en distintas interfaces Ethernet; tenga en cuenta que, en esos casos, el invitado hostil envía marcos de ethernet arbitrarios, que pueden no necesariamente aparecer en el enlace como relevante para la dirección IP que usted cree que el invitado debe usar. Debe manejar estas situaciones de la misma manera que lo haría para una máquina hostil conectada a la LAN. Si lo prefiere, suponga que su anfitrión está en un WiFi abierto en un restaurante de comida rápida. Para el caso 4, los firewalls son irrelevantes, ya que cualquier conexión con el host o cualquier otra máquina parecerá que el sistema operativo del host proviene del propio proceso del motor de la máquina virtual.
Lo anterior es sobre lo que sucede con Virtualbox; los detalles pueden variar con otras soluciones de virtualización.