Despliegue de Certificados para IPADs vía NDES y Autenticación a una Red Wifi 802.1x
Información Importante: Microsoft no da soporte a productos Apple, si necesita solucionar un problema relacionado con estos productos visite https://www.apple.com/support
Hoy he decidido postear un blog basado en la publicación mi compañero Paulo Costa para el blog de PKI. Debido al auge de los tabletas IPAD recibimos muchas consultas de nuestros clientes acerca de como desplegar certificados a estos dispositivos. La verdad es que ya hay un post de Rob Greene que documenta los pasos requeridos para configurar NDES y así poder solicitar certificados para IPADs pero los pasos detallados a continuación buscan complementar la documentación de Rob y agregan el como lograr que se autentiquen a una infraestructura 802.1x vía Network Policy Server (NPS).
Es importante para comenzar el entender como una estación de trabajo que no pertenezca al dominio se autentica en una red 802.1x. Estos son los pasos requeridos:
1) Crear una cuenta de maquina “falsa” en el Directorio Activo
2) Se debe configurar el Service Principal Name (SPN) para el nuevo objeto computador
3) Se solicita el certificado usando el FQDN del la computadora falsa como Subject Name, usando la pagina web para solicitud de certificados (https://certsrv) o vía la consola MMC de certificados (El siguiente paso puede obviarse si se usa la MMC)
4) El certificado creado se exporta y se instala en la computadora que no forma parte del dominio
5) Asociar el certificado recién creado con la cuenta de computador falsa, vía el uso de Name Mappings
a. Seleccionar la vista avanzada en Usuarios y Computadoras del Directorio Activo
b. Vía un click derecho en el objeto computador seleccionar Name Mappings.
Este método descrito aplica a equipos, donde el certificado solicitado se basa en la plantilla de Computador. El PC presentara el certificado al NPS (Network Policy Server) quien verificara si el objeto de computador esta habilitado en Directorio Activo.
Dispositivos como los IPADs se comportan diferente ya que tratan a todos los certificados instalados como si fueran para usuario por lo que el servidor NPS buscara por un objeto usuario en AD y no por una cuenta de maquina, este comportamiento hará fallar el intento de autenticación. Un evento en el visor de sucesos describe el error:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Date: 2/15/2012 8:55:49 PM
Event ID: 6273
Task Category: Network Policy Server
Level: Information
Keywords: Audit Failure
User: N/A
Computer: DC1.contoso.com
Description:
Network Policy Server denied access to a user.
Reason: The specified user account does not exist.
Los certificados instalados en IPADs usan Network Device Enrollment Services (NDES) que a su vez se vale de SCEP (Simple Certificate Enrollment Protocol) para solicitar los certificados del dispositivo. Este comportamiento por defecto no puede modificarse, y estos certificados emitidos vía NDES son de tipo computador.
Como resultado el NPS (Network Policy Server) denegara el acceso al IPAD debido a que esta mapeado con un tipo de certificado incorrecto, registrando el siguiente evento de seguridad:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Date: 2/19/2012 12:38:38 PM
Event ID: 6273
Task Category: Network Policy Server
Level: Information
Keywords: Audit Failure
User: N/A
Computer: DC1.contoso.com
Description:
Network Policy Server denied access to a user.
Reason: The certificate is not valid for the requested usage.
La única forma de hacer que esto funcione es mapeando el certificado de computador con una cuenta de usuario. Procedimiento que se detalla mas adelante.
Advertencia: Los pasos descritos en este blog se probaron en una red aislada y no han sido verificados en un entorno real. Esta solución se provee sin ningún tipo de soporte por parte Microsoft..
Importante:
Los pasos necesarios para solicitar certificados para IPAD se describen en Certificados para Ipads/Iphones , se asume que este post ha sido leído previamente.
Diagrama del Laboratorio Usado
Secuencia de Pasos
1) El dispositivo se conecta a la red Wifi de despliegue (aislada) mientras se encuentra conectado vía USB al Mobile Device Management Software (MDM). En este ejemplo, el IPAD se encuentra conectado a la Utilidad de Configuración de Iphone.
2) El administrador del dispositivo contacta al Network Device Enrollment Service para obtener una contraseña provisional que será introducida en la utilidad de configuración como parte del perfil del dispositivo.
3) La utilidad de configuración grabara el perfil de configuración en el dispositivo.
4) El dispositivo crea el juego de llaves publica/privada y envía una solicitud al NDES para pedir un certificado.
5) Network Device Enrollment Service envía una solicitud “RA” a la entidad certificadora (CA)
6) La CA envía el certificado al Network Device Enrollment Service.
7) El NDES envía el certificado al IPAD que procede a instalarlo.
8) El dispositivo se conecta a la red Wifi corporativa usando 802.1X
Tareas de Configuración
1) Crear una cuenta de usuario en el directorio con las siguientes especificaciones:
a. Defina un contraseña compleja y con una longitud de 15 caracteres
b. Defina la contraseña para que no expire
c. Seleccione “Smart Card is required for interactive logon” en las propiedades del usuario, específicamente en la pestaña “Account”.
d. Seleccione también la opción “Account is sensitive and cannot be delegated” en la misma pestaña “Account “.
e. Haga click en “Logon On To” dentro la pestaña “Account” y en lla opción “The Following Computers” defina que este usuario solo podrá iniciar sesión en un nombre de computador falso (ejemplo: IMEI del IPAD). Esta cuenta falsa no necesita ser creada en el Directorio Activo.
Nota: No se debe deshabilitar la cuenta de usuario ya que el NPS detectara que se encuentra en este estado y denegara el acceso al IPAD. El Network Policy Server (NPS) registrara el siguiente evento en caso de que encuentre la cuenta de deshabilitada:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Date: 2/16/2012 4:52:50 PM
Event ID: 6273
Task Category: Network Policy Server
Level: Information
Keywords: Audit Failure
User: N/A
Computer: DC1.contoso.com
Description:
Network Policy Server denied access to a user.
Contact the Network Policy Server administrator for more information.
Reason: The user or computer account that is specified in the RADIUS Access-Request message is disabled.
2) Duplicar la plantilla de certificado de usuario (Versión 2) , llamarla por ejemplo “UserNew” y configurarla de la siguiente forma:
a. Pestaña “Request Handling”:
i. Purpose – Signature and encryption
ii. CSP – Microsoft RSA Schannel Cryptographic Provider
b. Pestaña “Subject Name”:
i. Seleccionar “Supply in the request”
c. Pestaña “Issuance Requirements”:
i. Nada configurado
d. Pestaña “Extensions”:
i. Application Policies:
IP Security IKE Intermediate
Server Authentication
Client Authentication
ii. Basic Constraints:
Mantener por defecto
iii. Certificate Template Information: Esta configuración viene del objeto plantilla, necesitamos modificar el “Subject Type”, Paso 4
iv. Issuance Policy:
Mantener por defecto
v. Key Usage:
Signature requirements: Digital Signature , Allow key exchange only with key encryption y Critical extension
e. Pestaña “Security”
i. Configurar tal como se describe en post Certificados para Ipads/Iphones.
3) Verificar los atributos de la plantilla generada usando usando certutil –v –adtemplate UserNew y tome nota del atributo descripción que será modificado posteriormente.
4) Como Network Device Enrollment Service no soporta plantillas de usuarios, entonces la plantilla que hemos duplicado debe ser cambiada a de tipo computador, los pasos a continuación describen como hacerlo:
a. Abra Sitios y Servicios del Directorio Activo
b. Seleccione el menu “View” y pulse “Show Services Node”
c. Expanda , Public Key Services y luego seleccione Certificate Templates
d. Abra la plantilla de usuario duplicada creada en el paso 2 (UserNew en el ejemplo)
e. Edite el atributo “flags” y cambie su valor de 131642 a 131706.
Si ejecutamos nuevamente certutil –v –adtemplate usernew veremos que atributo templatedescription cambio de usuario a computador
5) Publique el certificado creado en la entidad certificadora (CA)
6) Configure el Network Device Enrollment Service para emitir certificados basados en la plantilla creada en el paso 2, se debe proceder editando las siguientes llaves de registro en el NDES::
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP]
"SignatureTemplate"="UserNew"
"EncryptionTemplate"="UserNew"
"GeneralPurposeTemplate"="UserNew"
7) Reinicie Internet Information Services (IIS) en el NDES
Nota : Si no se siguen estos pasos y se hacen los cambios en la plantillay se configura NDRES para desplegar esta plantilla, se recibirá este error cuando se solicite el “challenge password”:“You do not have sufficient permission to enroll with SCEP. Please contact your system administrator ”
8) Instale el certificado de la entidad emisora raíz en el computador donde se ejecuta la utilidad de configuración del Iphone.
9) Abra la utilidad del Iphone y cree un perfil de configuración.
10) Asegúrese que las configuraciones NDES y SCEP definidas en el la utilidad del IPhone sigan las indicaciones del blog Certificados para Ipads/Iphones .
Recuerde que el formato X.500 de la utilidad de configuración en el IPAD para el CN (common name) u O (Organization) especifica que se deben usar letras mayúsculas – ejemplo CN=IPAD1 – Un error a la hora de solicitar el certificado generara el siguiente error en el NDES :
Log Name: Application
Source: Microsoft-Windows-NetworkDeviceEnrollmentService
Date: 2/16/2012 4:40:58 AM
Event ID: 31
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: NDES.contoso.com
Description:
The Network Device Enrollment Service cannot submit the certificate request (The request subject name is invalid or too long.).0x80004005
11) Seleccione Wi-fi y teclee el SSID de la red inalámbrica 802.1x.
13) En Security Type seleccione, WPA/WPA2 Enterprise
14) Haga click en Protocols y seleccione TLS
15) Para continuar , seleccione Authentication y escoja el certificado de la identidad SCEP que fue previamente configurado según las instrucciones del blog Certificados para Ipads/Iphones.
16) Seleccione “Trust” y marque el certificado de la entidad emisora raíz como un certificado confiable.
17) Después que la CA emita el nuevo certificado , deberá exportarlo desde la CA y asociarlo con la cuenta de usuario que se creo en el paso 1:
a. Abra Usuarios y Computadoras del Directorio Activo
b. Seleccione el menu, View y marque Advanced Features
c. Busque la cuenta de usuario que representa al IPAD
d. Haga un click derecho a la cuenta de usuario y seleccione Name Mappings
e. Haga click en “Add” y seleccione el certificado a importar.
18) Instale el perfil de configuración en el IPAD
Configuraciones Básicas de NPS
A continuación se detalla la configuración realizada en el servidor NPS usado para la prueba:
1) Se debe asegurar que el Network Policy Server se miembro del grupo de AD llamado “RAS and IAS Servers”
2) Publique la plantilla de certificado “RAS and IAS Server” en la CA
3) Solicite un certificado para el NPS) usando la plantilla “RAS and IAS Server”
4) En la sección Policies, seleccione Connection Request Policies y configure lo siguiente:
a. Cree un política llamada “Secure Wireless Connections” con la siguiente condición:
· NAS Port Type = “Wireless – Other or Wireless – IEE 802.11”
b. Deshabilite la política por defecto llamada “Use Windows authentication for all users”
5) En la sección Policies, diríjase a Network Policies:
a. Cree un política llamada“Secure Wireless Connections” con las siguientes configuraciones:
· Pestaña Overview
Seleccione “Grant Access. Grant access if the connection request matches this policy.”
Seleccione “Ignore user account dial-in properties”
· Pestaña Conditions
NAS Port Type = “Wireless – Other or Wireless – IEE 802.11”
Windows Groups = “Contoso\Domain users” ( solo asegúrese de que la cuenta creada en el paso 2 es pertenece a el)
· Pestaña Constraints
Authentication Methods:
Microsoft: Smart Card or other certificate (seleccione el certificado solicitado para el el servidor NPS)
Para mas información respecto a la configuración de NPS al respecto visite Guía de Despliegue para Redes 802.1x