Seguridad a nivel de VM

Que tal Gente, el día de hoy voy a tocar un tema que muchas veces no se le da la importancia que en realidad tiene, y esto es la seguridad a nivel de máquina virtual. Vamos a conocer algunos de los metodos mas comunes para poder aumentar la seguridad en nuestro ambiente vSphere.

Recordemos que las VMs están aisladas una de las otras, se ejecutan como un proceso diferente cada una de ellas teniendo su propio VMM (Virtual Machine Monitor) también recordemos que podemos ser muy específicos en cuanto a que permisos se le asigna a cada uno de los usuarios con respecto a las VMs.

VMware nos ofrece un whitepaper donde tenemos todas las recomendaciones para aumentar la seguridad en nuestro ambiente vSphere, este documento es “VMware vSphere 4.1 Security Hardening Guide”.

A continuación les mostraré algunas de las modificaciones básicas de seguridad a nivel de VM:

  • Limitar el numero de conexiones concurrentes a la consola de VM – Por default podemos ingresar a la consola de una VM desde distintas sesiones, esto puede representar un problema de seguridad debido a que podemos “espiar” o ver lo que algún usuario pueda estar haciendo. Para limitar este numero de conexiones concurrentes debemos editar el archivo de .VMX de nuestra VM y agregar la siguiente línea:

RemoteDisplay.maxConnections=1

  • Deshabilitar el copiado y pegado de archivos en la consola remota (Aplicable pre vsphere 4.1) – En vSphere 4.1 el copiado y pegado entre el cliente y la consola remota viene deshabilitado por default, en el caso de versiones anteriores para deshabilitar esta capacidad lo podemos lograr editando en archivo .VMX de dicha vm e ingresando las siguientes líneas:

isolation.tools.copy.disable = true
isolation.tools.paste.disable = true
isolation.tools.setGUIOptions.enable = false

  • Controlar el hardware virtual y dispositivos que puedan conectarse a la VM – Podemos controlar que hardware es presentado a una VM, para esto primero tenemos que editar el archivo .VMX de dicha VM y verificar que solo se encuentren aquellos dispositivos que nosotros como administradores deseamos que se presenten a dicha VM:

Una vez que definimos que dispositivos están disponibles, podemos limitar la edición del hardware virtual de dicha VM agregando las siguientes lineas al archivo VMX:

Una vez agregadas estas líneas podemos ver que ya no tenemos la capacidad de agregar o quitar dispositivos:

  • Deshabilitar el encogimiento de discos duros virtuales (Virtual disk shrinking) – Cualquier usuario incluso aquellos que no tienen permisos de administrador pueden realizar esta tarea desde las VMware tools, esto nos ayuda para poder reclamar espacio que esta libre en el disco duro virtual (vmdk). El problema que existe al tener esta opción habilitada es que si esta tarea se ejecuta bastantes veces el disco duro puede quedar fuera de servicio (Denial of service ,DoS):

Para deshabilitar esta función debemos agregar las siguientes líneas a nuestro archivo vmx:

isolation.tools.diskWiper.disable=TRUE
isolation.tools.diskShrink.disable=TRUE
Así quedara una vez que esta configuración sea aplicada:
  • Limitar la cantidad de mensajes enviados a archivo vmx – el sistema operativo guest a través de las VMware tools envía mensajes al archivo vmx, aquí el problema que existe es que un atacante que conozca esta vulnerabilidad podría crear un programa que enviara estos mensajes simulando ser las VMware tools lo cual nos llevaría a un crecimiento de este archivo y podriamos dener una caida del servicio, para limitarlo debemos agregar la siguiente linea a nuestro vmx:

tools.setInfo.sizeLimit=1048576

  • Limitar el tamaño de los logs de máquina virtual – Para prevenir que nuestro datastore se pueda saturar debemos limitar el tamaño de los logs de VM y la cantidad de los que se conservan, para eso agregamos la siguiente línea:
log.rotateSize = “100000”
log.keepOld = “10”
logging=FALSE
  • Restringir el api de VIX – Este api nos permite ejecutar tareas y scripts dentro de los sistemas operativos guest (entre bastante otras tareas) por lo cual puede ser una brecha de seguridad muy grande que podría ser explotada, para deshabilitar este api debemos agregar la siguiente línea a nuestro vmx:

guest.command.enabled=FALSE

  • Deshabilitar VMCI – VM communication interface es una interfaz de comunicación entre vms, este SDK o framework esta pensado para crear aplicaciones que utilicen esta interfaz de comunicación, claro esta que puede ser aprovechada para motivos distintos, para esto podemos deshabilitarlo de dos maneras, desde el vsphere client:

También lo podemos lograr agregando la siguiente línea al archivo vmx:
vmci0.unrestricted=FALSE

Leave a Reply