Demostración NAP con DHCP en Ambiente de Prueba

Posted on 14/08/2009

0


En esta se utilizará un ambiente de dominio con Windows Server 2008 y Vista, donde se desarrollará una configuración simple demostrando las posibilidades de NAP (Network Access Protection) en relación al servicio DHCP (Dynamic Host Configuration Protocol).

A tal fin se mostrará lo que sucede cuando se conecta a la red, un cliente que no cumple con los requerimientos de NAP, luego con un cliente que sí cumple, y por último con un cliente que cumple al conectarse, pero luego no tiene los requerimientos exigidos por la directiva de NAP.

Para esto dispondremos inicialmente de una infraestructura como muestra el siguiente diagrama:

 

Tanto los nombres de máquina utilizados como las direcciones IP pueden ser cambiados con tal que se respete el procedimiento.

NPS1 pertenece al dominio. En cambio, inicialmente, CL1 no pertenece al dominio existente.

Tanto en DC1 como en NPS1 vamos a deshabilitar el cortafuegos y deshabilitar Ipv6, para evitar que interfiera con los resultados de NAP.

El equipo NPS1 cumplirá ambas funciones (NPS y DHCP) para simplificar el desarrollo.

 

Introducción

El equipo NPS1 controlará determinadas configuraciones de seguridad de CL1, y de acuerdo al estado reportado, el servicio DHCP le suministrará diferentes parámetros de configuración limitando su conectividad.

Las configuraciones que el NPS puede controlar en el cliente Vista son:

  • Cortafuegos instalado y funcionando
  • Antivirus funcionando y actualizado
  • Antispyware funcionando y actualizado
  • Configuradas las actualizaciones automáticas

Las posibilidades de NPS sobre los clientes son:

  • Acceso total
  • Acceso limitado
  • Acceso total por un tiempo limitado

Además existe la posibilidad de permitir al cliente el contacto con "Remediation Servers" que corrijan su configuración para cumplir con los requerimientos. En esta demostración, sólo por simplicidad, el Remediation Server será DC1

SHAs (System Health Agents): es el agente que se ejecuta en los clientes, que se encargará de reportar el estado del mismo

SHVs (System Health Validators): es el componente del NPS encargado de recibir los reportes del SHA del cliente y notificar al mismo

Health Policies: definen cuáles SHVs deben ser utilizados (DHCP, VPN, IPSec, etc.) para evaluar los SHAs enviados por el cliente, y cómo son estos considerados (cumple, no cumple o no es capaz de cumplir)

Network Policies: determinan condiciones, configuraciones y restricciones para determinar si puede conectarse a la red. Deben existir por lo menos dos: una para los que cumplen, y otra para los que no cumplen.

Connection Request Policies: son las condiciones y configuraciones que validan el requerimiento de acceso a la red

Remediation Server Groups: permite especificar un grupo de servidores que el cliente que no cumple podrá contactar, para poder corregir su configuración, y pasar al estado requerido.

 

Procedimientos Iniciales

DC1

Ya es controlador de dominio de "contoso.msft" en nivel funcional Nativo Windows 2003. Igualmente el nivel funcional del Bosque. Por supuesto, tiene instalado el servicio DNS y es Catálogo Global ya que es el único controlador de dominio del dominio en un único Bosque.

Crearemos un grupo Global de Seguridad llamado "NAP Computers" que permitirá luego filtrar la aplicación de la GPO que hace las configuraciones necesarias en los clientes.

NPS1

Este servidor ya es miembro del dominio. Desde Server Manager instalaremos el servicio DHCP y NPS.

Instalación de DHCP y NPS en NPS1

Tener en cuenta que NPS es un componente de Network Policies and Access Services, y en el asistente de instalación marcar solamente Network Policy Server.

Dejaremos todos los valores por omisión, salvo:

Y lo siguiente:

 

Configuración de Network Policy Server

Abrimos Administrative Tools / Network Policy Server, y seleccionamos Configure NAP

Y luego

En este caso:

  • No usaremos RAIDUS (Next)
  • No hace falta especificar el scope de DHCP porque será el único
  • Tampoco hace falta seleccionar grupos para esta demostración
  • No seleccionemos Remediation Server, lo haremos luego
  • Verifiquemos que la pantalla de Health Validators esté así:

  • Y seguir hasta llegar a Finish

Ahora configuraremos el SHV (System Health Validator)

  • En la consola NPS, expandimos Network Access Protection y buscamos System Health Validators
  • Sobre la derecha (Detalles) hacemos botón derecho sobre Windows Security Health Validator y elegimos Properties y el botón Configure
    Lo dejamos como se muestra en la figura, ya que para este ejemplo consideraremos sólo si el cliente tiene el cortafuegos activo.

Notemos que hay una ficha específica para XP. Atención es para XP-SP3

  • Cerramos las ventanas abiertas eligiendo Ok

 

Configuración de DHCP

Desde Administrative Tools abrimos la consola DHCP

  • Creamos un ámbito IPv4, yo lo llamaré NAP Scope con direcciones 192.168.0.50 al .99 con máscara de subred 255.255.255.0, tomando el resto de las opciones por omisión, salvo lo siguiente:

Simulación de un router para acceso a Internet por ejemplo
Y esta:

Estas opciones son las que recibirán los clientes que cumplen con los requerimientos (Compliant)

  • Ahora configuraremos el Scope para su uso con NAP, para lo cual vamos a las Propiedades del Scope, y en la ficha Network Access Protection, seleccionamos Enable for This Scope

  • El paso siguiente es configurar las opciones que recibirán los clientes No-Compliant. Para esto, sobre Scope Options con botón derecho entramos a Configure Options, ficha Advanced y en User Class, elegimos Default Network Access Protection Class

  • Para estos clientes elegimos, por ejemplo:
    • El mismo DNS (006): 192.168.0.1
    • Diferente sufijo (015): "restricted.contoso.msft"
    • Y no le proporcionamos Router (003)
  • Finalmente quedará como muestra la figura

Configuración de GPOs para Clientes

No es la única posibilidad, pero lo haré configurando una GPO a nivel de dominio, y filtrándola para que aplique únicamente al grupo NAP Computers, y que llamaré NAP Settings Policy. Vamos entonces a DC1 y con Group Policy Management la creamos y configuramos.

Las configuraciones son:

  • Computer Configuration / Policies / Windows Settings /Security Settings / System Services /
    Network Access Protection Agent definido con Startup Automatic
  • Computer Configuration / Policies / Windows Settings /Security Settings / Network Access Protection / NAP Client Configuration / Enforcement Clients /
    DHCP Quarantine Enforcement Client configurado Enabled
  • Computer Configuration / Policies / Administrative Templates / Windows Components / Security Center
    Turn on Security Center (Domain PCs only) configurado en Enabled

Estas tres configuraciones nombradas, son necesarias, ya que el Security Center notifica, el Network Access Protection Agent por omisión no está arrancado, y el SHA (NAP Client Configuration) no está configurado.

Como configuración final de la GPO, modificamos su alcance para que se aplique únicamente al grupo NAP Computers.

 

Demostración de Funcionalidad NAP

Cliente que no está en el dominio

Primero vamos a ver qué sucede cuando se conecta a la red una máquina cliente que no forma parte del dominio, simulando el equipo de alguien externo a nuestra red. Recordemos que CL1 está en grupo de trabajo, con el cortafuegos bajo, y la siguiente configuración de red:

Procedimientos en CL1

Si hacemos un IPCONFIG /ALL observamos que

  • El sufijo es "restricted.contoso.msft"
  • No tiene configurado Default Gateway
  • La máscara de subred es 255.255.255.255

Esta máscara de subred implica que cualquier dirección IP, la verá como remota, y como no tiene Default Gateway configurado, la consecuencia es que no podrá acceder a otro equipo.
Esto lo podemos verificar porque PING 192.168.0.1 no responderá.

Puede acceder únicamente a NPS1 (192.168.0.2) porque existe una Host Route específica que podemos ver si hacemos ROUTE PRINT -4

Además, tengamos en cuenta que como CL1 no pertenece al dominio, no le está aplicacando la GPO que hemos configurado, por lo tanto lo considera No-capable (que no es lo mismo que No-compliant)

Configuración de DC1 como Remediation Server
En NPS1 volvamos a la consola NPS:

  • Seleccionemos Policies / Network Policies / NAP DHCP Non NAP-Capable, botón derecho Properties
  • Ficha Settings, seleccionamos NAP Enforcement y botón Configure (para los Remediation Servers)
  • Creamos un nuevo Remediation Group y agregamos a nuestro Remediation Server. Elegí DC1 para simplificar la demostración

Ahora volvemos a CL1, hacemos un IPCONFIG /RELEASE, luego IPCONFIG /RENEW y vemos que ahora sí podemos hacer PING 192.168.0.1 que simula ser el Remediation Server.

Si hacemos un ROUTE PRINT vemos que se crea una host-route a DC1

Cliente del dominio

Ahora procedemos a unir a CL1 al dominio. El procedimiento es el habitual para unir máquinas al dominio. Para ahorrar tiempo, una vez unido el cliente al dominio, pero antes de reiniciar, incluyamos a CL1 en el grupo NAP Computers.

El valor por omisión del cortafuegos de Vista, es que esté activo, por lo tanto en este caso el cliente cumplirá con los requerimientos.

Una vez que CL1 arranca iniciamos sesión con CONTOSO\Administrator, abrimos el CMD.EXE y observamos que:

  • Podemos hacer PING 192.168.0.1
  • Podemos hacer PING 192.168.0.2
  • Y si hacemos IPCONFIG /ALL obtenemos:

    Observen el estado de System Quarantine State, Máscara de subred y Default Gateway. Noten además la salida de un ROUTE PRINT
  • Si ejecutamos NETSH NAP CLIENT SHOW STATE podemos observar información detallada

 

Veamos ahora qué sucede si una vez que cumplimos con los requerimientos queremos dejar de cumplirlos. Para eso vamos a deshabilitar el cortafuegos en CL1

¿Pudieron? A que no pudieron, apenas lo ponemos en Off (Not recommended) y damos al botón Ok en el cuadro se vuelve a poner verde, y el cortafuegos se vuelve a habilitar. Eso lo está produciendo el Remediation Server (DC1)

Inclusive cuesta un poco verlo pero junto al reloj puede aparecer un icono que si lo pulsamos mostrará primero uno de las figuras que sigue y luego la otra.

 

Por último, veamos qué sucede si el Remediation Server no puede "remediar" el problema. Podemos hacer la prueba, poniendo como requisito que el cliente además del cortafuegos, tenga instalado un antivirus. En este caso DC1 no podrá solucionar el problema y CL1 quedará restringido.

En NPS1 abrimos la consola Network Policy Server, y vamos a Network Access Protection, System Health Validators y con botón derecho a las Properties de Windows System Health Validator, botón Configure y marcamos la opción de requerir un antivirus.

Luego en CL1 forzamos la renovación de dirección con IPCONFIG /RELEASE & IPCONFIG /RENEW, y vemos que junto al reloj, aparece el icono que avisa que no cumplimos con los requerimientos y si lo pulsamos, obtenemos:

Y además un IPCONFIG /ALL mostrará que el cliente está restringido:

Como en este caso, el Remediation Server no puede suministrar un antivirus, el cliente queda restringido.

Resumen

Hemos verificado que a través del uso de NAP con DHCP

  • Cliente que no reconoce NAP
    Queda restringida su comunicación en la red
  • Cliente que reconoce NAP, y cumple los requerimientos
    Tiene conectividad completa
  • Cliente que reconoce NAP y no cumple los requerimientos
    • Si se puede remediar, pasa a cumplir requerimientos
    • Si no se puede remediar, queda restringido
Posted in: Active Directory