"Después del juego es antes del juego"
Sepp Herberger

lunes, 19 de junio de 2017

Proxmox (IV): Unimos un cliente Windows al dominio Zentyal y probamos el login de usuarios de dominio y las GPO.

Bueno, pues ya tenemos nuestro controlador de dominio funcionando en la máquina con Zentyal, vamos ahora a darle uso. Necesitamos un Windows para que se una al dominio y hacer pruebas con él. Además vamos a instalar las herramientas RSAT para administrar el dominio y crear las GPO a través de las cuales administraremos nuestros clientes Windows.

Podríamos usar un Windows en una máquina física, pero al igual que Esteban prefiero crear (ya que estamos en ello) una máquina virtual en Proxmox donde meter el Windows que usaremos para el RSAT y las pruebas. Así queda todo recogidito.

1. Instalación de Windows 10 en una máquina virtual en Proxmox.

Necesitamos una ISO de Windows 10 que bajamos de aquí. Yo he bajado la version "Windows 10 Anniversary Update", la más reciente. No olvidemos tener a mano el código de licencia para ponerlo en su momento.

Ya sabemos los pasos, subimos a Storage->local la ISO descargada:


Creamos la maquina virtual con nombre "rsat" o el que sea, y seguimos todos los pasos ya vistos en la entrada anterior:


Al final estas son las características de la máquina creada:


No olvidar marcar "Start at boot" con "Yes" para que la máquina arranque sola con Proxmox:


Una vez definida, le damos a Start y nos vamos a consola, viendo el logotipo usual de Mordor:


Seguimos los pasos habituales de instalación:





Elegimos "Cuenta sin conexión", nada de crear una cuenta en microsoft.live.com. A la cuenta local la llamamos "usuario", ponemos la contraseña que nos parezca y decimos que tururú de Cortana:




Y finalmente ya tenemos el escritorio en marcha:


Le cambiamos el nombre a la máquina a "rsat64" y dejamos que reinicie.


2. Unir la máquina al dominio.

Ahora vamos a unir rsat64 al dominio instituto.extremadura.es alojado en la máquina Zentyal. Lo primero que vamos a hacer es irnos al panel de control de Zentyal en https://zentyal64:8443 y crear un nuevo usuario en el dominio que nos servirá para probar el proceso de login y añadir máquinas al mismo. Podríamos usar el usuario "Administrador" que ya existe en el dominio, pero tengo la costumbre de hacerlo con un usuario distinto de cuando trabajaba en ICM en Madrid.


Damos el boton "+" de color verde y rellenamos el formulario:


Ya está creado el usuario "admin" en el árbol ldap:


Vamos a unir ahora rsat64 al dominio usuando el usuario admin. Abrimos el menú y vamos a "Sistema":


Elegimos "Conectarse a la red del trabajo o el colegio", que traducido significa "Unirse a un dominio":


Elegimos "Conectar" y la opción de abajo "Unir este dispositivo a un dominio local de Active Directory":


Y cuando nos pida el dominio le decimos "instituto.extremadura.es".


Vaya, nos da error. Dice que no encuentra el dominio, ¿qué está pasando?. Vamos a explicarlo: no se está resolviendo "instituto.extremadura.es" ya que no lo encuentra usando el servicio DNS proporcionado por el centro. Debemos darnos cuenta de que ahora hay 2 servicios DNS en marcha dentro de nuestra red: el propio del centro y el nuevo que hemos añadido con Zentyal. Este último es imprescindible para que el Dominio funcione.

Si no tuviesemos un DNS propio anterior al que hemos montado con Zentyal sería sencillo de resolver configurando dicho DNS en la configuración de red del Windows. Esto también puede hacerse así si los Windows están dentro de una VLAN privada independiente de la red general, pero no es ese mi caso.

Hay varias soluciones para esto:
  1. Cambiar la configuración del Windows 10 (o del DHCP que le sirve) para que tenga como servidor DNS el que trae el propio Zentyal64, poniendo su IP como servidor DNS del centro. El problema es que eso hará que no usemos el DNS que ya tenemos en la red y no puedan resolverse otros servicios propios del centro dentro. No es una buena solución.
  2. Cambiar la configuración del servicio DHCP para que proporcione 2 IP de servidores DNS a todas la máquinas: la propia del centro y la del Zentyal64. No está mal, pero estaremos dando a máquinas Linux y Android un servidor DNS que no les va a servir para nada.
  3. En nuestros centros tenemos un servicio de PowerDNS Recursor que nos permite añadir servidores DNS especiales en función de dominio. Podemos decirle que para las búsquedas de .extremadura.es use el Zentyal64, sin tocar para nada el resto de configuración en los clientes. Es un método transparente, centralizado y que funciona, así que es el que he adoptado para mi caso.
Mi compañero Esteban usa una técnica similar.

Para ello me voy al servidor donde corre powerdns y retoco su configuración añadiendo la parte en negrita:

root@servidor:/etc/powerdns# head /etc/powerdns/recursor.conf 
#################################
# forward-zones Zones for which we forward queries, comma separated domain=ip pairs
#
# forward-zones=
# Antes era: forward-zones=gobex.pri=xx.yy.zz.aa,juntaextremadura.pri=xx.yy.zz.aa,eco.pri=xx.yy.zz.aa,gob.es=xx.yy.zz.aa

forward-zones=gobex.pri=xx.yy.zz.aa,juntaextremadura.pri=xx.yy.zz.aa,eco.pri=xx.yy.zz.aa,gob.es=xx.yy.zz.aa,extremadura.es=ip.del.servidor.zentyal

#################################
# forward-zones-recurse Zones for which we forward queries with recursion bit, comma separated domain=ip pairs
............
............
............
............
Reinicimos el servicio:
root@servidor:/etc/powerdns# /etc/init.d/pdns-recursor restart
[ ok ] Restarting pdns-recursor (via systemctl): pdns-recursor.service.
root@servidor:/etc/powerdns# 
Ahora desde una máquina linux hacemos ping al dominio viendo que ya si resuelve. El resto de los pings a otras máquinas de la red y hacia el exterior también resuelven correctamente.
root@INFOLAB-OXX:/root# ping instituto.extremadura.es
PING instituto.extremadura.es (ip.del.servidor.zentyal) 56(84) bytes of data.
64 bytes from zentyal64.vguadalupe (ip.del.servidor.zentyal): icmp_seq=1 ttl=64 time=0.409 ms
64 bytes from zentyal64.vguadalupe (ip.del.servidor.zentyal): icmp_seq=2 ttl=64 time=0.443 ms
^C
Ahora volvemos a intentar unir el Windows 10 a "instituto.extremadura.es"...¡bingo! ahora pide usuario y contraseña para hacerlo. Especificamos el usuario "admin" que definimos anteriormente.


Se agrega esa cuenta al pc local:


Y nos pide reiniciar para hacer efectiva la unión al dominio.

Vemos ahora que la pantalla de login muestra el nuevo usuario y permite validar contra el dominio con la sintaxis típica de las redes windows "instituto\nombre-usuario". Para validar con usuarios locales se haría "rsat64\nombre-usuario".


Simplemente entraremos con el usuario "instituto\admin" y la contraseña indicada, se creará el perfil de usuario (proceso que siempre tarda una eternidad en la primera entrada) y con eso habremos confirmado que el equipo está unido al dominio y funcionando.

Por supuesto, si en el directorio activo tenemos mas usuarios creados (por ejemplo, usuarios para el personal o los alumnos del centro), tambien podremos probar a autenticarnos con ellos en cualquier máquina que unamos al dominio.

3. Instalar herramientas de administración del dominio.

Una vez unidos al dominio y autenticados, vamos a instalar en nuestro Windows 10 virtualizado las herramientas de Administacion Remota de Windows. Las descargamos de la página web e instalamos:




Puede ser que no se deje instalar al principio, ya que un Windows 10 recién instalado tiene que actualizarse varias veces. Si hace falta reiniciamos y repetimos la instalación hasta que funcione correctamente.

Una vez instalado podemos hacer uso de las herramientas de administración, como son varias las sacamos al escritorio desde el menú de Herramientas Administrativas de Windows. Las utilidades añadidas por el paquete RSAT que usaremos son:

  • Usuarios y equipos de Active Directory
  • Group Policy Management
  • DNS

Las sacamos al escritorio para acceder fácilmente a ellas:


Si entramos en "Usuarios y equipos de Active Directory" veremos el arbol ldap donde están esos datos en el servidor Zentyal. Veamos los usuarios:


Desde aquí podríamos añadir o borrar usuarios tal como hicimos desde el interfaz web de Zentyal.

Una vista de los equipos (de momento, solo hemos añadido uno al dominio):


La misma vista desde el interfaz web de Zentyal:


La utilidad de "Usuarios y equipos de Active Directory" realmente puede ser sustituida por el interfaz Web de Zentyal, aunque no está mal tenerla para algunas tareas.

En cambio, la creación de Directivas de Grupo si que debe realizarse impepinablemente desde una de las utilidades RSAT, ya que no existe herramienta web en Zentyal para ellas. Vamos a verlo en el siguiente apartado.

4. Creación y aplicación de directivas de grupo.

Como dijimos antes, las directivas de grupo o GPO permiten aplicar configuraciones generales de todo tipo a las máquinas del dominio de forma centralizada. Hay gran variedad de ellas como bien vemos en el blog de mi compañero Esteban o buscando en Internet. No son tan flexibles como las tareas puppet de un sistema Linux con las que se puede configurar cualquier cosa, ya que las GPO ofrecen un sistema de cerrado de configuraciones posibles, pero aún así son útiles para fijar (de tal forma que el usuario no podrá cambiar localmente) muchas configuraciones de forma global y sin tener que meternos a editar el registro de los Windows.

Vamos a ver un ejemplo de como crear una GPO tal como nos cuesta Esteban, inspeccionar como se almacena en Zentyal y como se aplican a una máquina unida al dominio.

Abrimos la herramienta Group Policy Management y vamos a la rama "Objetos de Directiva de Grupo":


Con el botón derecho abrimos el menú contextual y damos a "Nuevo", creando un nuevo objeto llamado Politicas_IES, donde se guardarán configuraciones que se aplicarán a todas las máquinas del dominio.


Seleccionamos el objeto Politicas_IES y damos a "Editar". Eso nos lleva al editor de políticas para definir toda la configuración. No voy a entrar en detalles porque está profusamente explicado en Internet, simplemente comentar que voy a meter tres políticas:

  • La primera para quitar la opción "Instalar actualizaciones y apagar" en el apagado de los Windows del dominio.
  • La segunda para indicar un fondo de escritorio fijo para todos los Windows del dominio.
  • Otra para fijar https://www.educarex.es como página de inicio en Internet Explorer en todos los Windows del dominio.

En las dos capturas siguientes, en el panel de la derecha podemos seleccionar la pestaña "Configuración" y ver todas las configuraciones definidas dentro de la política.



Las políticas así definidas se guardan dentro del servidor Zentyal, en la ruta /var/lib/samba/sysvol, como podemos ver en la siguiente captura:


Por último hay que vincular el objeto para que se aplique sobre todo el dominio. Vamos a la rama instituto.extremadura.es y con el botón derecho seleccionamos "Vincular un GPO existente", eligiendo "Politicas_IES".



Aquí aparece ya conectada a la rama:


Ahora sí reiniciamos la maquina rsat64 y entramos con un usuario de dominio vemos como se aplican las directivas (tanto las de equipo como de usuario):


Desde una ventana de comandos del Windows podemos forzar la aplicacion de politicas
Microsoft Windows [Versión 10.0.15063]
(c) 2017 Microsoft Corporation. Todos los derechos reservados.

C:\Users\admin>gpupdate /force
Actualizando directiva...

La actualización de la directiva de equipo se completó correctamente.
Se completó correctamente la Actualización de directiva de usuario.
Y ver si se han aplicado a posteriori:
C:\Users\admin>gpresult /r

Herramienta de resultados para la Directiva de grupos del
sistema operativo Microsoft (R) Windows (R) v2.0
© 2017 Microsoft Corporation. Todos los derechos reservados.

Creado el ‎16/‎06/‎2017 a las 13:23:18


RSOP datos para INSTITUTO\admin en RSAT64 : modo de inicio de sesión
---------------------------------------------------------------------

Configuración del sistema operativo: Estación de trabajo miembro
Versión del sistema operativo:       10.0.15063
Nombre de sitio:                   n/a
Perfil móvil:             n/a
Perfil local:                        C:\Users\admin
¿Conectado a un vínculo de baja velocidad?: No


CONFIGURACIÓN DE USUARIO
-------------------------
    CN=administrador dominio,CN=Users,DC=instituto,DC=extremadura,DC=es
    Última vez que se aplicó la Directiva de grupo: 16/06/2017 a las 13:21:56
    Directivas de grupo aplicadas desdezentyal64.instituto.extremadura.es
    Umbral del vínculo de baja velocidad de las Directivas de grupo:500 kbps
    Nombre de dominio:                   INSTITUTO
    Tipo de dominio:                     Windows 2000

    Objetos de directiva de grupo aplicados
    ----------------------------------------
        Politicas_IES

    Los objetos GPO siguientes no se aplicaron porque fueron filtrados
    -------------------------------------------------------------------
        Directiva de grupo local
            Filtrar:  No aplicado (vacío)

        Default Domain Policy
            Filtrar:  No aplicado (vacío)

    El usuario es parte de los siguientes Grupos de seguridad
    ---------------------------------------------------------
        Domain Users
        Todos
        Administradores
        Usuarios
        NT AUTHORITY\INTERACTIVE
        INICIO DE SESIÓN EN LA CONSOLA
        Usuarios autentificados
        Esta compañía
        LOCAL
        Domain Admins
        Denied RODC Password Replication Group
        Nivel obligatorio alto

C:\Users\admin>
Por otro lado, también existe la herramienta "rsop.msc" que nos muestra de forma gráfica las políticas aplicadas.

Bueno, pues con esto acabamos esta parte. Ya solo es cuestión de crear usuarios (alumnos y profesores), añadir equipos Windows al dominio y crear políticas para ellos. También puede ser interesante en el futuro explorar el tema del uso de carpetas personales y/o carpetas compartidas.

Nos vemos pronto con un último reto (por ahora) con Proxmox.

2 comentarios:

  1. Buen día, excelente articulo.
    Yo estoy tratando de hacer lo mismo, mi duda es en la resolución dns. En mi red ya tenemos un bind trabajando con un dominio de búsqueda ya configurado
    * El dominio del zentyal debe ser distinto al del bind, o puede ser igual?
    * No estoy muy claro en la configuración del archivo de powerdns, los primeros dominios que pones en el forward-zones son de tu red local? si usa dos ip como agrego las dos?
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola, gracias.

      Sobre si el dominio puede ser igual o distinto entre zentyal y bind no lo tengo muy claro (nunca he trabajado con bind), pero sospecho que sí. Yo probaría a configurar el mismo dominio en ambos y ver si se resuelven bien las peticiones.



      En la línea:

      forward-zones=gobex.pri=xx.yy.zz.aa,juntaextremadura.pri=xx.yy.zz.aa,eco.pri=xx.yy.zz.aa,gob.es=xx.yy.zz.aa,extremadura.es=ip.del.servidor.zentyal

      los dominios .pri y gob.es son dominios internos de mi red, que son resueltos por servidores dns internos. De no tener esa circunstancia solo pondría el extremadura.es que me resuelve el dns de zentyal.

      Si quieres poner varias ip para resolver un mismo dominio usas ; para separarlas, por ejemplo:

      forward-zones extremadura.es=172.23.11.12;172.23.11.13





      Eliminar