Windows Server 2012: Demostración de NAP (Network Access Protection) con VPN

La implementación de NAP (Network Access Protection) no es algo muy difundido por varios motivos:

  • Primero y principal: pocos lo conocen
  • NAP controlan que los clientes que se conectan a la red a través de VPN, DHCP, DirectAccess, IPSec o 802.1x) cumplan con ciertos requisitos de configuración
  • Estos requisitos que se pueden comprobar por ahora son pocos. Aunque no he podido acceder tengo entendido que Cisco ha contribuido con un “Health Validator” que agrega más opciones, pero por part de Microsoft disponemos solamente de:
  • Cortafuegos activado
  • Antivirus activo y actualizado
  • Antispyware activo y actualizado
  • Actualizaciones automáticas activadas
  • Nivel aceptable de las actualizaciones incluidas
  • La configuración no es “muy simple”
  • Por mi parte la documentación que he podido acceder no es realmente clara, no explica muchas opciones, y a mi entender sólo han hecho un “copiar y pegar” de la documentación de versiones anteriores :-(

Así que ahora en serio, vamos a implementarlo :-)

Algo importante a tener en cuenta, para esta demostración descuento que los que la lean tienen conocimientos básicos sobre de qué se trata NAP, eso está disponible fácilmente buscando en la web

Lo mismo sobre las diferentes opciones para aplicar NAP, en esta ocasión lo haremos sobre los clientes de VPN

La infraestructura de partida es según la figura de más abajo: un Controlador de Dominio (DC1.root.guillermod.com.ar) que además tiene instalada una Autoridad Certificadora de tipo Enterprise, un servidor miembro donde instalaremos Network Policy Service (NPS1.root.guillermod.com.ar), un servidor miembro que hará de servidor VPN (VPN1.root.guillermod.com.ar) y un cliente Windows 8 (CL1.root.guillermod.com.ar)

Lo primero que haré será crear un grupo (NAP-Computers) al que agregaré las máquinas a las cuales le aplicaré la configuración necesaria, esto me permitirá enlazar la GPO con las configuraciones necesarias para el cliente a nivel de Dominio, pero filtrada para que se aplique únicamente a un grupo de máquinas

Si CL1, ya estuviera prendida recordemos que debemos reiniciarla para que esté incluida en el grupo.

Lo podemos verificar con “GPRESULT /R” como se muestra

Así que comencemos creando la GPO con las configuraciones necesarias para el cliente, ya que por omisión el sistema operativo no está configurado para soportar NAP

Filtramos por seguridad para que se aplique solamente al grupo que queremos

Y comencemos a configurar la GPO

Debemos configurar, que el servicio esté ejecutándose, por omisión no arranca; el “Enforcement Client” que necesitemos; y el Security Center

  • 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 / EAP Quarantine Enforcement Client en Enabled
  • Computer Configuration / Policies / Administrative Templates / Windows Components / Security Center / Turn on Security Center (Domain PCs only) en Enabled

Teniendo preparada la GPO a nivel de Dominio, ahora vamos a a VPN1 y agregaremos el rol necesario para que sea servidor VPN

En Windows Server 2012, está integrado VPN y DirectAccess

No lo usaremos en esta práctica, lo requiere DirectAccess, igual lo dejaré

Vamos a configurar el servicio ahora

Sólo servidor VPN

Y configuraremos RRAS como servidor VPN usando el asistente

Atención a qué conexión seleccionamos, cada tanto aparece alguien que lo hace al revés. Quedan totalmente expuestos a Internet, y bloqueados desde la red interna :-)
Atención también a la marca “Enable security …” Teniendo esto marcado el único tráfico que pasará por la interfaz externa es el de VPN, tanto entrada como salida

Como no tengo DHCP interno crearé un rango de IPs para asignar a la VPN

Las direcciones pueden ser de la misma red interna, u otra cualquiera, pero prefiero en general asignar una red diferente ya que permite controlar el tráfico más fácilmente

El Network Policy Server que configuraremos y usaremos más adelante es también un servidor RADIUS, así que debemos seleccionarlo ahora

Cuidado con la siguente figura que contiene un error: el nombre correcto del servidor RADIUS debe ser “nps1.root.guillermod.com.ar”

De todas formas, el error es esperable, pues no está aún configurado

Aceptamos el conocido mensaje del “DHCP Relay Agent”

Y ahora debemos asegurarnos que la autenticación es la necesaria para este caso

Asegurémosnos de tener la configuración como indica la figura de abajo

Si utilizamos NAP el servidor VPN requiere un Certificado Digital para autenticarse ante el cliente, y por lo tanto debemos obtener un certificado de máquina

Para eso, creamos una consola (MMC.EXE) donde cargamos el complemento (Snap-in) de Certificados para la cuenta de máquina

Y solicitamos un certificado de máquina

Ahora vamos a configurar el Network Policy Server en NPS1. Agregaremos la funcionalidad con el procedimiento habitual

No olvidarse de registrar el NPS en AD …

Y ahora si, al fin, comencemos la configuración de NAP :-)

Seleccionemos desde la lista desplegable “Virtual Private Network (VPN)” que nos ahorrará mucho trabajo

Debemos configurar quienes son los “RADIUS Clients”. En nuestro caso es el servidor VPN1 que enviará los pedidos de autenticación de los clientes. No se olviden de poner el mismo “Shared secret” que se configuró en el servidor VPN

a

A los efectos de esta demostración crearé un grupo de “Remediation Servers” en un lugar “poco apropiado” como es un Controlador de Dominio, pero el objetivo acá es demostrar y no “llenarnos de más máquinas para el laboratorio”

Recordemos que los Remediaton Servers son equipos que pueden proporcionarle al cliente lo necesario para que cumpla con las condiciones requeridas (antivirus, actualizaciones, etc.)

En la siguiente pantalla hay un punto importante a tener en cuenta. Por un lado, a los clientes que cumplan con los requerimientos le daremos acceso total; a los que no cumplan los limitaremos en cuanto a conectividad por ejemplo solamente a los Remediation Server; pero ¿y los que no reportan o no son capaces de reportar?

Revisamos todo

Vamos ahora a la consola del Network Policy Service y veamos qué ha configurado el asistente, porque nos preguntó realmente pocas de las configuraciones que se necesitan, y ha tomado algunas “por su cuenta” :-)

Lo primero que podemos observar es que ha configurado correctamente el “RADIUS Client” VPN1. Ok

Yo no voy a entrar en las propiedades de cada una, pero de las que marco a continuación les recomiendo ingresen a las propiedades de cada una y observer qué condiciones ha asumido.
En este caso sólo me referiré a que ha creado las correspondientes “policies”

Observen algo interesante ha creado las Network Policies para los tres casos: que cumpla, que no cumpla, o que no sea capaz (no reporte)

Y además ha creado dos Health Policies, para los que cumplan los requerimientos, y para los que no cumplan

Por último vamos a ver cuáles son los requerimientos que ha puesto (por su cuenta)

Podemos observar que solicitará todas las opciones posibles. Para nuestro caso, y como ejemplo de una simple verificación de aplicación, desmarquemos todas excepto requerir que el cortafuegos esté levantado

Teniendo a CL1 en la red interna, forcemos la aplicación de GPOs y verifiquemos que se estén aplicando

Por lo tanto haré un “GPUPDATE /FORCE”, y luego con el comando “NETSH NAP CLIENT SHOW GROUPPOLICY” verifico que el “Enforcement Client” está habilitado

Un “pequeño detalle” no nos olvidemos de darle a algún usuario la autorización para ingresar por VPN

Eso lo haré en DC1, y al usuario Administrator

Ya tenemos toda la infraestructura preparada, así que “vamos a llevarnos a CL1 a Internet”. Para eso lo conectaré a la misma red donde está la placa externa de VPN1 y le pondré una dirección IP apropiada para dicha red

Creamos la conexión VPN en el cliente

Y todaía no llegó la hora de la verdad, nos falta configurar las propiedades de seguridad de la conexión en el cliente

No toma por omisión los valores correctos, así que debemos configurarlos manualmente, específicamente desmarcar “Connecto to these server…” y marcar “Enforce Network Access Protection”

Ahora sí, llegó la hora de la verdad

Nos informa que no puede verificar el Certificado Digital del servidor, esto es totalmente correcto pues al tener el cliente “afuera” de la red interna no tiene forma de acceder a la CRL, y además porque al cliente no le he dado tiempo para que instale el certificado de la Autoridad Certificadora

¡Al fin! ¡Conectados!

Les dejo a Uds. las pruebas de acceso a recursos internos de la red, pero les muestro que como cumplimos (el cortafuegos está levantado) no tenemos restricciones

Vamos a ver si podemos hacer “trampa”, y si ahora que ya tenemos conexión bajamos el cortafuego ¿qué sucederá?

No hay caso :-)

Les dejo una idea para que prueben. Pongan como requerimiento para ser considerado que cumplen, algo que no se pueda solucionar, por ejemplo, requerir antivirus

Muy muy larga esta nota. Nos vemos más adelante

Anuncios
Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Juan Vidal IT  On 09/11/2012 at 20:01

    Por parte del cliente no hay ciertos requerimientos de sistema operativo… creo que para la versiones anteriores solo se podia enterprise ¿verdad?
    o se puede con cualquier version

    • Delprato  On 09/11/2012 at 20:13

      Hola Juan, no, no hay restricciones en cuanto versiones, piensa solamente que está soportado como cliente desde XP+SP3
      Es el comportamiento lógico, ya que la idea es requerir algunas configuraciones de seguridad, inclusive a máquinas que no están bajo el control del administrador de la red, por ejemplo, máquinas de visitantes.

  • Alexander Carrillo  On 17/07/2014 at 15:47

    puedes crear un lab de NAP con 802.1x wired

    • Guillermo Delprato  On 17/07/2014 at 16:09

      Hola Alexander, lamentablemenete no puedo :-(
      Son dos los problemas que tengo: no disponer de un Switch con 802.1x, y además al hacer todo en virtual no tengo forma de crear un Switch virtual con esa característica

  • Victor  On 04/07/2015 at 15:23

    Como podría hacer en un sólo server el acceso a la vpn para unos 1000 usuarios?

    • Guillermo Delprato  On 04/07/2015 at 16:18

      Victor, consulta con una empresa que se dedique al tema, porque es evidente que no tienes idea de cómo funciona
      Con buen ánimo te lo comento, pero esa no es una pregunta que se hace así

  • Pablo realpe  On 22/03/2016 at 13:22

    El material esta exelente, muchas gracias por compartir tus conocimientos. Lastima que no cargan ninguna de las imágenes en ningún navegador :(

    • Guillermo Delprato  On 22/03/2016 at 14:12

      ¡Gracias Pablo por el comentario!
      Es raro si no ves las imágenes, las he probado desde dos máquinas diferentes con IE y Chrome y se ven perfectamente
      ¿No tendrás filtrado algún dominio? porque en algunos casos las imágenes están en Onedrive, y en otros en WordPress

Trackbacks

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: