Los puertos de una máquina virtual ¿son también virtuales?

Iniciado por Kyrie Eleison, 4 Junio 2020, 10:28 AM

0 Miembros y 2 Visitantes están viendo este tema.

Kyrie Eleison

Si en una máquina virtual accedo al terminal y empiezo a toquetear allí y allá, a abrir y cerrar puertos ¿esos puertos son una especie de puertos "virtuales" de la VM o son los puertos físicos reales de las tarjetas y dispositivos de la máquina anfitriona?
¿Se corre el peligro de joder algo o desproteger el PC si uno toquetea puertos dentro de la MV?
Lo de que el SO y el software es virtual me queda claro pero no estoy tan seguro de si cuando se va al bajo nivel los objetos siguen siendo virtuales.

MinusFour

Son virtuales en el sentido de que no hay una interface física para tus maquinas virtuales. Tecnicamente tu puedes también agregar interfaces físicas a tu maquina virtual (por ejemplo, una tarjeta de red o una tarjeta inalambrica USB).

Que tan seguro sea va a depender de la configuración de tus interfaces virtuales. En el peor de los casos, la VM puede ser comprometida desde el exterior. De ahí un atacante puede realizar varias cosas, como tratar de comprometer el equipo através de la red (si tu equipo lo permite). O quizás intenta escapar la VM (algo que no es fácil).

No se a que te refieras con abrir o cerrar puertos en la VM. El host tiene practicamente todo el control sobre que tráfico puede ver la VM. Si tu VM permite tráfico por un puerto, el equipo host todavía puede bloquear ese tráfico.

Por lo general, la configuración entre host y guest es de una NAT estricta. Dudo mucho que la maquina sea visible al exterior... Para empezar tu equipo tendría también que estar expuesto al exterior y luego tendrías que configurar la VM también.

Kyrie Eleison

Cita de: MinusFour en  4 Junio 2020, 22:07 PM
...
No se a que te refieras con abrir o cerrar puertos en la VM.
...

Un ejemplo. Tengo VM Oracle con una máquina virtual configurada con Windows 7. Enciendo esa máquina virtual, accedo a Windows Defender, el Defender de la VM, no el Defender del anfitrión. Dentro del Defender de la VM accedo a la configuración avanzada, me voy, por ejemplo, a las reglas de entrada y creo una nueva regla de entrada, especifico que la regla es para Puerto, en concreto el 8132, por ejemplo, y ahí puedo permitir la conexión, bloquearla o permitir solo las conexiones autenticadas mediante IPsec. Supongamos que permito cualquier conexión.

Pues bien, en ese contexto: ¿estoy permitiendo el acceso a un puerto 8132 "virtual" (ficticio) al que solamente se podrán conectar otras máquinas virtuales creadas en el entorno Oracle VM de mi ordenador? ¿o estoy permitiendo que se conecte al puerto 8132 real de mi ordenador una máquina externa ya sea por pertenecer a mi LAN de casa o incluso a través de internet?

MinusFour

No son "ficticias". Las reglas y aplicaciones que tu uses dentro de tu VM van a aplicar solo a tu VM. Tu equipo usa una interfaz virtual que se comunica con una interfaz de un dispositivo real en el anfitrion.

Algo así como esto (pero no exactamente):



El punto es que el host ve todo el tráfico que pasa a la VM. Tu VM no tiene control del host (a menos que se lo permitas). Puedes considerar a tu host como un router/firewall para tu VM.

¿Puedes configurar tu equipo host para que tu VM reciba tráfico de otros equipos por un determinado puerto? Si, pero si tu equipo host tuviera también su firewall tendrías que configurar una regla de entrada para ese puerto en el equipo host. Vamos, que si tu host no recibe nada del exterior tu VM tampoco.