Demostración de NAP con VPN en Ambiente de Laboratorio

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 acceso remoto de un cliente por VPN

A tal fin se mostrará lo que sucede cuando se conecta a la red, un cliente que cumple con los requerimientos de NAP, luego veremos la opción de "autoremediation", y por último con un cliente que no cumple con 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.

Todas las máquinas fueron unidas al dominio, se deshabilitó IPv6, y se deshabilitó el cortafuegos en los tres servidorse para que no complicar el procedimiento y evitar su interferencia con el objetivo final.

Como es habitual, en la interfaz externa de VPN1 se dejó habilitado solamente TCPIP v4, se deshabilitó NetBIOS sobre TCP/IP, Client for Microsoft Networks, File and Print Sharing for Microsoft Networks y la registración de la interfaz en DNS.

Introducción

El equipo NPS1 controlará determinadas configuraciones de seguridad de CL1, y de acuerdo al estado reportado, VPN1 le dará diferentes posibilidades de acceso, irrestricto o limitado, o inclusive podrá dar acceso para que solucione la configuración.
Este equipo NPS1 tendrá los roles de NAP Health Policy Server y RADIUS Server (NPS)

El uso de NAP con acceso VPN requiere el uso de certificados digitales en las máquinas, por lo que se instalará en DC1 una Autoridad Certificadora de tipo Enterprise Root.

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 Server" que corrija su problema 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, evaluar si cumple con lo requerido, 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 o no cumple)

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 en Users, llamado NAP Computers que permitirá luego filtrar la aplicación de la GPO que hace las configuraciones necesarias en los clientes. Hacemos a CL1 miembro de este grupo.

 

Luego, mediante Server Manager instalamos el rol Active Directory Certificate Services, que para este caso podemos dejar todos los valores por omisión hasta finalizar el asistente. Quedando como autoridad certificadora de tipo Enterprise Root.

Utilizando Group Policy Mangement creamos una GPO que enlazaremos a nivel del dominio y que será filtrada para que aplique únicamente al grupo NAP Computers que ya hemos creado. La llamaremos NAP VPN-Clients Policy.

Para ello usando GPMC, creamos la GPO y filtramos para que se aplique únicamente al grupo NAP Computers. Configuramos las siguientes opciones:

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

 

 

VPN1

Utilizando el Server Manager, agregamos el rol de Routing and Remote Access. Para esto marcamos primeramente Network Policy and Access Services, y luego Routing and Remote Access Services.

Finalizada la instalación vamos a la consola de Routing and Remote Access y con botón derecho sobre el server elegimos Configure and Enable Routing and Remote Access.
Elegimos Remote Access (dial-up or VPN), VPN, marcamos la interfaz externa

Optamos por asignar a los clientes una red específica por lo que elegimos From a specified range of addresses y elegimos el rango de IPs para las conexiones 172.16.0.1 a 172.16.0.10

Dado que necesitaremos RADIUS elegimos la opción Yes, set up this server to work with a RADIUS server y completamos los datos correspondientes eligiendo un Shared Secret.

No preocuparse por el mensaje de DHCP Relay Agent ya que no lo necesitaremos.

En las propiedades de VPN1 verifiquemos que estén admitidos los métodos de autenticación EAP y MS-CHAP v2.

 

 

NPS1

Este servidor ya es miembro del dominio. Desde Server Manager instalaremos el rol de Network Policy and Access Services y luego dejamos marcado solamente Network Policy Server.

 

Este servidor requiere un certificado digital de máquina, así que creamos una consola MMC con el snap-in Certificates sobre Computer Account, y desde la carpeta Personal hacemos el Request New Certificate… seleccionando Computer

 

Si no ofreciera la opción, hay que darle un tiempo y a veces reiniciar los equipos.

System Health Validators (SHVs)
Los SHVs definen los requerimientos de los equipos que se conectarán a la red por VPN.
Para esta práctica usaremos las exigencias de Firewall activo y Antivirus presente

Health Policies
Las Health Policies definen cuáles SHVs son evaluados, y cómo son usados para la validación de la configuración de los equipos que intentan conectarse. De acuerdo a los resultados de los SHVs clasifican a los clientes. En nuestro caso habrá dos estados: Compliant o NoCompliant.

Network Policies
Estas utilizan condiciones, configuraciones y restricciones para determinar si el cliente puede conectarse a la red. Deben existir dos Network Policies: una para los que son Compliant y otra para los NoCompliant. En nuestra práctica los Compliant tendrán acceso irrestricto, y los NoCompliant tendrán filtros IP aplicados. A los NoCompliant se le dará la posibilidad de solucionar el problema (Firewall) para luego darle el acceso total.

Connection Request Policies
Las Connection Request Policies son las condiciones y configuraciones que validan pedidos de acceso y determinan dónde se ejecuta la validación. En este caso se requerirá autenticación PEAP antes de dar acceso.

RADIUS
Los RADIUS Clients son los dispositivos que permiten el acceso a una red (NAS = Network Access Server) reenviando la información a un RADIUS Server que se encargará de la autenticación y autorización del mismo, notificando al RADIUS Client. En esta práctica el RADIUS Client es VPN1, y el RADIUS Server es NPS1.

Remediation Server (Groups)
Son los servidores que permiten cambiar una configuración de forma que un cliente No-Compliant pase a ser Compliant

 

En NPS1, Administrative Tools abrimos la consola Network Policy Server y elegimos Configure NAP

Y en el asistente vamos eligiendo Virtual Private Network (VPN), en el paso de RADIUS Clients agregamos a VPN1 y con un Shared Secret que coincida con lo ingresado en la configuración hecha en VPN1, no necesitamos configurar User and Machine Groups en este caso, y confirmemos que para la autenticación se utilice el certificado antes obtenido.

Para los Remediation Servers, debemos crear un grupo (Remediation Servers) y agregar a DC1. Importante: Los clientes No-Compliant automáticamente les es otorgado acceso a los Remediation Servers.

Por último verificamos que estén listados el Windows Security Health Validator y habilitado Enable auto-remediation of client computers, y confirmamos en la última pantalla.

Ahora, en la consola NPS, abrimos Network Access Protection y System Health Validators, y entrando a las propiedades de Windows Security Health Validator, botón Configure, dejamos marcado únicamente la opción de requerir el firewall activo (A firewall is enabled for all network connections)

Como VPN1 es un server Windows 2008 que soporta NAP, éste debe ser marcado como RADIUS Client NAP-Capable. Para esto en la carpeta RADIUS Clients and Servers / Radius Clients, marcamos sobre el panel derecho a VPN1 y en Properties marcamos RADIUS Client is NAP-capable.

 

 

CL1

Si CL1 estuviera online antes de haberla incluido en el grupo NAP Computer deberíamos reiniciarla para incluir la pertenencia en el grupo NAP Computers.

Desde un Command Prompt con privilegios elevados ejecutamos:
NETSH NAP CLIENT SHOW GROUPPOLICY
Y verificamos que en Remote Access Quarantine Enforcement Client, el Admin status esté Enabled

 

Para simular el acceso de CL1 desde un sitio remoto por VPN, cambiamos la configuración de IP a 131.107.0.2/16 y lo conectamos a la red externa del server VPN1.

Ahora debemos reiniciar a CL1.

Por omisión el Firewall está levantado en el cliente, así que al primer intento que hagamos para conectarnos por VPN debería darnos acceso irrestricto.

Vamos a crear una conexión de discado (Dial-up) para conectarnos a la red interna, así que en el Network and Sharing Center elegimos Setup a Connection or Network, Connect to a Workplace, Use my Internet Connection (VPN), I’ll set up an Internet Connection Later, y ponemos la dirección externa de VPN1 que es 131.107.0.1

Y aprovechando que estamos en una práctica donde no debemos preocuparnos por cuestiones de seguridad ingresamos los datos de usuario/contraseña (Administrator), el dominio (CONTOSO) y marcamos que los recuerde

Antes de conectarnos, debemos indicar que usaremos autenticación PEAP, así que entramos en Manage Network Connections, seleccionamos la conexión recién creada, y en las Propiedades, ficha Security elegimos Advanced (custom options), entramos por el botón Settings y seleccionamos Use Extensible Authentication Protocol (EAP) y en la lista desplegable Protected EAP (PEAP) (encryption enabled). En la misma pantalla ahora entramos por el botón Properties, desmarcamos Connecto to These Servers, y marcamos Enable Quarantine Checks.

Bien ya tenemos todo listo para probar.

 

Vamos a la interfaz de VPN creada y con botón derecho elegimos Connect, botón Connect y Ok

La primera vez que nos conectemos nos pedirá confirmación del certificado usado por VPN, que inclusive podemos revisar, y por supuesto aprobaremos pues lo hemos creado nosotros durante la práctica.

Deberíamos poder conectarnos sin problemas ni restricciones.

Podemos verificarlo ejecutando:

  • PING 192.168.1.200
  • PING 192.168.1.1

Ahora, estando conectados por la VPN, veamos qué sucede si deshabilitamos el Firewall de CL1

En cuanto deshabilitemos el Firewall, en unos pocos segundos el Remediation Server (DC1) lo volverá a levantar (lo remediará)

Podemos también probar que si deshabilitamos el Firewall y luego nos conectamos, automáticamente éste volverá al estado requerido.

 

Vamos a ver qué sucede si el Remediation Server no puede solucionar el problema, por ejemplo, exigir tener instalado un antivirus. Desconectemos la VPN.

Para eso vamos a NPS1, consola NPS, y abrimos Network Access Protection, System Health Validators, propiedades de Windows Security Health Validator, botón Configure, y marcamos la opción de requerir un antivirus (An antivirus application is on).

En cuanto volvamos a conectarnos, recibiremos un mensaje en el cliente, sobre la barra de tareas informándonos que no cumplimos y que tenemos acceso limitado, haciendo click sobre el icono al lado del reloj, se desplegará el siguiente cuadro

Podemos verificar que al estar limitados, aunque podemos acceder al Remediation Server, no podemos acceder a otro equipo

 

Resumen

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

  • Cliente que no cumple con las condiciones requeridas por NAP
    Queda restringida su comunicación en la red
  • Cliente que cumple con las condiciones requeridas por 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: Redes