Seguridad en Hyper-V : Administrador de autorización para su correcta delegación “Parte 3” Y FINAL !!!!!!!!

Hola a todos

En esta parte 3 y final veremos como delegar el control granular de ciertas maquinas a nuestro usuario tipo “CAPACITApablocampos” 

1.. LA PROBLEMATICA

El problema es que si le delegamos el control a “CAPACITApablocampos” de nuestro host de Hyper-v, el podrá ver todas las VMS de ese host, cosa que yo como admin no quiero, entonces que podemos hacer.

Para delegar el control de forma mas granular crearemos un nuevo ámbito llamado “Ambito de Prueba” en el cual asignaremos a “CAPACITApablocampos” como administrador en este ámbito

 Captura5

Después de esto debemos asignar las maquinas virtuales a este ámbito, para esto usaremos unos scripts que están disponibles en este sitio al final abajo BackupVMsAndScopeScripts.zip 

En una consola con permisos de administrador ejecutamos el script SetScope.vbs, en el cual como primer parámetro debemos pasar el nombre de la maquina virtual y como segundo parámetro debemos pasar el nombre del ámbito

cscript SetScope.vbs “Core” “Ambito de Prueba”
cscript SetScope.vbs “2008 AD” “Ambito de Prueba”

Captura6

El resultado de este comando debería ser un XML donde al final abajo debería salir un “cero” 0 , el cual indica que el proceso fue exitoso

De igual manera pueden utilizar el Script GetScope.vbs para ver a que ambito pertenece cada maquina

Captura9

En mi caso asigne al “Ambito de Prueba” mis maquinas llamadas “Core” y “2008 AD”

Tratamos de conectarnos al servicio de hyper-v yyyyyy no vemos nada 🙁

Captura2

El problema es que el usuario debe tener los permisos de lectura del Servicio de Hyper-v a nivel de Raíz, para lo cual crearemos en la raíz una nueva definición de rol llamada “Servicios” a la cual le asignaremos las siguientes operaciones

100 – Read Service Configuration
105 – Reconfigure Service

Captura3

Y asignaremos a nuestro usuario “CAPACITApablocampos” a este rol

Captura4

OJO RECUEREN QUE ESTO LO DEBEN HACER FUERA DEL AMBITO EN LA RAIZ

Despues de eso asignamos como administrador del ambito “Ambito de Prueba” al usuario “CAPACITApablocampos” y tratamos nuevamente de conectarnos a la consola del hyper-v yyyyy????

Captura7

Ahora “CAPACITApablocampos” solo puede ver las maquinas “Core” y “2008 AD”

Nos conectamos como administradores y vemos la consola FULL

Captura1

Les dejo un pantallazo de la consola del administrador y la de  “CAPACITApablocampos” juntas

Captura8 

Saludos

Seguridad en Hyper-V : Administrador de autorización para su correcta delegación “Parte 2”

Después de al anterior post ahora nos queda solamente probar si todo anda bien.

Desde un Cliente con Windows 7 Unido a un dominio, Instalamos las Herramientas de Administración Remota de Servidores RSAT para Windows 7.

Después simplemente abrimos el “Administrador de Hyper-v” con la cuenta de usuario que le delegamos el control el el post anterior ej : CAPACITApablocampos

Usaremos la opción de ejecutar como otro usuario…. ojo que si no ves ese menú, mantén presionado la tecla SHIFT y le das con el botón derecho del mouse al “Administrador de Hyper-v” y aparecerá

image image

Ahora en el administrador del hyper-v, en el menú derecho seleccionamos “Conectar al Servidor” y escribimos el nombre de nuestro Servidor…”Servidor1” y presionamos aceptar

image

Pero lamentablemente al conectarnos nos envía un muy feo error

“No dispone de los permisos necesarios para completar esta Tarea. Póngase en contacto con el administrador de la directiva de autorización del equipo”

image

Pero si el la parte 1 de este post me enseñaron a configurar bien la delegación con azman?????

El problema es que los usuarios “comunes y corrientes” para administrar remotamente un host de hyper-v, debes tener algunos privilegios y pertenecer a un grupo especifico

Primero agregamos a nuestro usuario CAPACITApablocampos al grupo local  de
“Usuarios COM Distribuidos”

image

Ahora debemos concederle permisos especiales de conexión dentro del Control WMI. Le damos clic derecho con el mouse en “Control WMI” y seleccionamos Propiedades

image

Una vez dentro del Control WMI seleccionamos la pestaña “seguridad”, Expandimos Root y seleccionamos CIMV2 y presionamos el botón Seguridad

image

Después Pinchamos “Opciones avanzadas” y veremos la siguiente pantalla sonde presionaremos el botón Agregar y buscaremos al usuario CAPACITApablocampos.

image

Una vez seleccionado el usuario procederemos a seleccionar la opción aplicar a “Este espacio de nombre y espacio de subnombre”, además debemos dejar seleccionadas las opciones
Habilita Cuenta y Llamada remota habilitada
No olvidar habilitar la casilla “Aplicar estos permisos solo ………”

 image

Después aplicar aceptar aceptar aceptar 🙂

Después debemos realizar los mismos pasos anteriores solo que ahora en el Contenedor de “Virtualization”

 image

Ahora Probamos si nos podemos conectar con la MMC de hyper-v …..

image

 

Conectado satisfactoriamente….

Ahora si trato de cambiar el estado de una amquina virtual … por ejemplo Guardar Estadio “Save State”

image

Con lo cual queda demostrado la correcta delegación de permisos

Saludos

Seguridad en Hyper-V : Administrador de autorización para su correcta delegación “Parte 1”

Hola a todos, después de montar exitosamente varios server con Hyper-v, ahora toca la no menor tarea de la administración y delegación del control del host de Maquinas Virtuales, tarea la que no es sencilla de hacer  y requiere de conocer bien ciertos términos.

AzMan es una función de control de acceso basado en roles (RBAC) la cual proporciona una herramienta administrativa para gestionar la política de autorización que permite a las aplicaciones realizar comprobaciones de acceso en contra de esa misma política.

La herramienta de administración AzMan (azman.msc) se suministra como una Microsoft Management Console (MMC), la cual carga un archivo XML que contiene la configuración de delegación de  control de nuestro hyper-v.

El archivo XML tiene como nombre InitialStore.XML la ubicación en un host con hyper-v es

C:ProgramDataMicrosoftWindowsHyper-VInitialStore.XML

Recuerde que si usted tiene instalado System Center Virtual Machine Manager la ubicación por defecto cambia

C:ProgramDataMicrosoftVirtual machine ManagerHyperVAuthSore.XML

Si quiere estar seguro donde esta el archivo XML siga esta ruta del registro

HKLMSoftwareMicrosoftWindows NTCurrentVersionVirtualization

image

Ahora vemos el valor de StoreLocation

image

 

 

Después de encontrar nuestro XML de configuración procedemos a abrir la aplicación azman.msc y cargar nuestro archivo XML  InitialStore o HyperVAuthSore

image image

Como podemos ver en la siguiente imagen Existe contenedores de Definiciones de rol, definiciones de Tareas y Asignación de Roles.
Mas abajo se ven contenedores con IDs que realmente se llaman Ámbitos, los cuales los explicaremos mas adelante

image

Basado en Roles, la directiva de autorización de acceso se especifica basándose en los roles de usuario, los cuales reflejan los requisitos de autorización de una aplicación especifica.
Los usuarios se asocian a los roles basados en sus funciones de trabajo y a estos roles se les otorgan los permisos necesarios para realizar tareas relacionadas.
Los administradores usan el complemento AzMan para administrar las funciones que deben tener acceso a las tareas.
A medida que el negocio evoluciona, las funciones deben ser modificadas, el administrador realiza cambios en la política de autorización, la aplicación empresarial subyacente no necesita ser cambiado.

Comencemos explicando de lo mas general a lo mas especifico

Alcance “Scope”: Un alcance le permite definir que objetos son propiedades de que rol. Si tienes un sistema donde quieres conceder derechos administrativos a solo un par de maquinas virtuales de un host hyper-v a un usuario especifico, debería crear un alcance para esas maquinas virtuales y aplicar los cambios de configuración  solo a ese ámbito

Roles : Un rol define un trabajo o responsabilidad que se lleva a cabo por un usuario. Por ejemplo, “Administrador_de_Redes”. Este rol debería tener todas las operaciones relacionadas con la administración de redes virtuales. Entonces este rol se le asignará a ciertos usuarios según corresponda.

Tareas: Las tareas un un conjunto de operaciones

Operaciones: Esta es la parte mas básica de la administración de autorización, y representa alguna acción que puede ser realizada por un usuario. Ejemplo:
“Start Virtual Machine”

Comenzaremos viendo las Tareas

En el menú izquierdo del azman veremos varios contenedores, entre los cuales de encuentra definiciones, tanto de rol como de Tarea.

Daremos click derecho con el mouse sobre definición de tarea y seleccionaremos “Definición de Nueva Tarea”

image
Ahora creamos una nueva tarea llamada “Tarea de solo Conexión”, le ponemos una descripción y presionamos el botón agregar

image

En esta pantalla seleccionamos la pestaña operaciones donde saldrá el listado completo de operaciones delegables sobre el Hyper-v. Nosotros elegiremos sólo las operaciones necesarias para poderse conectar y ver las maquinas virtuales

Allow Input to Virtual Machine
Allow Output from Virtual Machine
Read Service Configuration

Ahora simplemente aceptar

image image

Les dejo el listado con sus respectivos ids de todas las operaciones 🙂

100 – Read Service Configuration
105 – Reconfigure Service
200 – Create Virtual Switch
205 – Delete Virtual Switch
210 – Create Virtual Switch Port
215 – Delete Virtual Switch Port
220 – Connect Virtual Switch Port
225 – Disconnect Virtual Switch Port
230 – Create Internal Ethernet Port
235 – Delete Internal Ethernet Port
240 – Bind External Ethernet Port
245 – Unbind External Ethernet Port
250 – Change VLAN Configuration on Port
255 – Modify Switch Settings
260 – Modify Switch Port Settings
265 – View Switches
270 – View Switch Ports
275 – View External Ethernet Ports
280 – View Internal Ethernet Ports
285 – View VLAN Settings
290 – View LAN Endpoints
295 – View Virtual Switch Management Service
300 – Create Virtual Machine
305 – Delete Virtual Machine
310 – Change Virtual Machine Authorization Scope
315 – Start Virtual Machine
320 – Stop Virtual Machine
325 – Pause and Restart Virtual Machine
330 – Reconfigure Virtual Machine
335 – View Virtual Machine Configuration
340 – Allow Input to Virtual Machine
345 – Allow Output from Virtual Machine
350 – Modify Internal Ethernet Port
355 – Allow Virtual Machine Snapshot

Ahora veremos los Roles

Daremos clic derecho con el mouse sobre definición de rol y seleccionaremos “Nueva definición de rol”

image
Crearemos una definición de rol llamada  “Solo Conectar”, la cual habilitara a los usuarios para conectarse a la consola MMC del hyper-v y ver todas las VMS y poder entrar en ellas, OJO que estos usuarios no pueden cambiar la configuración de esas maquinas ni las pueden apagar, iniciar,guardar ,exportar etc

image

Presionamos Agregar y podemos seleccionar otro rol, tareas u operaciones

En nuestro caso le agregaremos la tarea anteriormente creada “Tarea de solo Conexión”

image

Asignando usuarios a nuestro Rol

Ahora ya tenemos listo nuestra definición de Rol y nuestra definición de tareas, lo único que nos falta es la asignación de Roles, para esto seleccionaremos con el botón derecho del mouse sobre “Asignación de roles” y seleccionaremos “Nueva Asignación de roles”

image

En esta sección obviamente seleccionaremos nuestro Rol Creado con anterioridad
“Solo Conectar”

image image

Ahora solo nos queda seleccionar nuestros usuarios y asignarlos al Rol “Solo Conectar”

Damos clic derecho del mouse sobre el rol “solo conectar” y seleccionamos “Asignar usuarios y grupos”  -> “de Windows y Active Directory” y seleccionamos al usuario indicado para realizar esta delegación

image

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Los espero en la Parte 2 donde solucionaremos posibles problemas de conexión mediante la MMC de hyper-v

La parte 3 se tratara específicamente de como delegar el control de solo un subconjunto de maquinas virtuales

Y la parte 4 y final veremos que pasa si se nos corrompe o borra nuestro archivo XML  InitialStore.XML

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@