Hyper-V 2016 – Shielded Vms con Virtual TPM
Buenas
Una de las novedades que trae Hyper-V en windows server 2016 es shielded VMS la cual nos proporciona una capa de protección a nuestras máquinas virtuales con una combinación de tecnologías conocidas como shielded vms. Esta tecnologías nos permiten encriptar de las vms con Bitlocker o con otra solución de encriptado así como aislar de manera segura las tareas de administración entre los administradores de el Fabric de las administración de la propio role que se ejecuta en la máquina virtual.
Las Shielded Vms solo se puede ejecutar en el fabric en el que se crean el cual será el propietario y se encargará de encriptar la máquina virtual.
Para convertir una máquina virtual standard en una Shielded vm “máquina virtual protegida” tenemos dos posibilidades:
1- Mediante Active Directory: Simplemente requiere introducir los host the hyper-V en un grupo creado para tal propósito en directorio activo de tal manera que solo los administradores de hyper-v que tienen credenciales en ese dominio podrán administrar las vms protegidas con este mecanismo.
2- Mediante Virtual TPM: Creo un TPM virtual el cual se encarga de encriptar todo el contenido de la máquina virtual usando Bitlocker. Evidentemente esta funcionalidad requiere que host que ejecuta las máquinas virtuales tenga un TPM físico
Igualmente es importante mencionar que las shielded vms tienen los siguientes prerrequisitos:
1- Correr en un host con Windows server 2016
2- La máquina virtual debe ser de generación
3- El sistema guest de la vm será Windows server 2012, Windows 8 o superiores
Una vez hecha este breve intro acerca de cómo podemos proteger nuestras vms corriendo bajo hyper-v en Windows 10 y Server 2016 pasamos a ver de manera práctica como habilitar la protección en una de nuestras máquinas virtuales mediante virtual TPM.
1- Comprobamos que nuestro host tiene un chip TPM. Para ello accedemos al administrador de dispositivos y lo comprobamos dentro de los Security devices. Es recomendable que el tpm sea versión 2.0 aunque en esta demo use uno versión 1.2
2- Ejectuamos el siguiente script de powershell para habilitar el modo aislado en nuestro Host de Hyper-V
Install-WindowsFeature Isolated-Usermode
New-Item -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 1 -PropertyType DWord –Force
3- Accedemos a la configuración de la vm sobre la que queremos habilitar el tpm virtual, opciones de seguridad y habilitamos el virtual tpm
Por ultimo me gustaría mencionar que podemos definir las tres siguientes opciones dentro de security profile.
– No adittional protection: Su propio nombre lo indica.
– Data protection: Encripta las máquinas virtuales en saved state y el tráfico de lives migrations
– Shielding: Ademas de encriptar las máquinas virtuales en saved state y el trafico de lives migrations deshabilita las consolas de gestión de las máquinas para los administradores de el fabric.
Espero que resulte de utilidad y tener la posibilidad de ampliar este post incluyendo información de el role host guardian service para gestionar las shielded vms.
Un saludo