Uso de tarjetas inteligentes para la autenticación - Amazon WorkSpaces

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de tarjetas inteligentes para la autenticación

Los paquetes de Windows y Linux WorkSpaces on WorkSpaces Streaming Protocol (WSP) permiten el uso deTarjeta de acceso común (CAC)yVerificación de identidad personal (PIV)tarjetas inteligentes para autenticación.

Amazon WorkSpaces admite el uso de tarjetas inteligentes para ambosautenticación previa a la sesiónyautenticación durante la sesión. La autenticación previa a la sesión hace referencia a la autenticación de tarjeta inteligente que se realiza mientras los usuarios inician sesión en sus WorkSpaces. La autenticación durante la sesión hace referencia a la autenticación que se realiza después de iniciar sesión.

Por ejemplo, los usuarios pueden utilizar tarjetas inteligentes para la autenticación durante la sesión mientras trabajan con navegadores web y aplicaciones. También pueden utilizar tarjetas inteligentes para acciones que requieren permisos administrativos. Por ejemplo, si el usuario tiene permisos administrativos en su WorkSpace Linux, puede utilizar tarjetas inteligentes para autenticarse cuando se ejecutasudoysudo -icommands.

Requisitos

  • Se necesita un directorio de Active Directory Connector (AD Connector) para la autenticación previa a la sesión. AD Connector utiliza la autenticación mutua basada en certificados Transport Layer Security (TLS mutua) para autenticar a los usuarios en Active Directory mediante un certificado de tarjeta inteligente basado en hardware o software. Para obtener más información acerca de cómo configurar AD Connector y su directorio local, consulteConfiguración de directorios.

  • Para utilizar una tarjeta inteligente con un WorkSpace de Windows o Linux, el usuario debe utilizar el cliente de Amazon WorkSpaces Windows versión 3.1.1 o posterior o el cliente de MacOS de WorkSpaces versión 3.1.5 o posterior. Para obtener más información sobre el uso de tarjetas inteligentes con los clientes Windows y macOS, consulteSupport con tarjetas inteligentesen laGuía del usuario de Amazon WorkSpaces.

  • La CA raíz y los certificados de tarjeta inteligente deben cumplir ciertos requisitos. Para obtener más información, consulteHabilitar la autenticación MTLs en AD Connector para utilizarla con tarjetas inteligentesen laAWS Directory ServiceGuía de administraciónyRequisitos deen la documentación de Microsoft.

    Además de estos requisitos, los certificados de usuario empleados para la autenticación de tarjetas inteligentes en Amazon WorkSpaces deben incluir los siguientes atributos:

    • Nombre de usuario de AD (UPN) del usuario de AD en el campo SubjectAltName (SAN) del certificado. Recomendamos emitir certificados de tarjeta inteligente para el UPN predeterminado del usuario.

    • El atributo Autenticación de cliente (1.3.6.1.5.5.7.3.2) Uso de clave ampliado (EKU).

    • El atributo EKU de inicio de sesión con tarjeta inteligente (1.3.6.1.4.1.311.20.2.2).

  • Para la autenticación previa a la sesión, se requiere el protocolo de estado de certificados en línea (OCSP) para la comprobación de la revocación de certificados. Para la autenticación durante la sesión, se recomienda OCSP, pero no es necesario.

Limitaciones

  • Solo se admiten actualmente la aplicación cliente de WorkSpaces Windows versión 3.1.1 o posterior y la aplicación cliente macOS versión 3.1.5 o posterior para la autenticación con tarjeta inteligente.

  • La aplicación cliente de WorkSpaces Windows 3.1.1 o posterior admite tarjetas inteligentes solo cuando el cliente se ejecuta en una versión de 64 bits de Windows.

  • En la actualidad, solo se admiten los directorios AD Connector para la autenticación con tarjeta inteligente.

  • La autenticación durante la sesión está disponible en todas las regiones donde se admite WSP. La autenticación previa a la sesión está disponible en las siguientes regiones de:

    • Región Asia-Pacífico (Sídney)

    • Región Asia-Pacífico (Tokio)

    • Europe (Ireland) Region

    • Región AWS GovCloud (EE. UU. Oeste)

    • Región del este de EE. UU (N. Virginia)

    • Región del oeste de EE. UU (Oregon)

  • Para la autenticación durante la sesión y la autenticación previa a la sesión en Linux o Windows WorkSpaces, actualmente solo se permite una tarjeta inteligente a la vez.

  • En el caso de la autenticación previa a la sesión, no se admite la habilitación de la autenticación de tarjeta inteligente y la autenticación de nombre de usuario y contraseña en el mismo directorio.

  • Por el momento, solo se admiten tarjetas CAC y PIV. Es posible que otros tipos de tarjetas inteligentes basadas en hardware o software también funcionen, pero no se han probado completamente para su uso con WSP.

  • Actualmente no se admite el uso de una tarjeta inteligente para desbloquear la pantalla durante una sesión de WorkSpace de Windows o Linux. Para evitar este problema para WorkSpaces de Windows, consultePara detectar la pantalla de bloqueo de Windows y desconectar la sesión. Para evitar este problema para WorkSpaces de Linux, consultePara deshabilitar la pantalla de bloqueo en Linux WorkSpaces.

Configuración de directorios

Para habilitar la autenticación con tarjeta inteligente, debe configurar el directorio AD Connector y el directorio local de la siguiente manera.

Configuración del directorio de AD Connector

Antes de comenzar, asegúrese de que el directorio de AD Connector se haya configurado como se describe enRequisitos previos de AD Connectoren laAWS Directory ServiceGuía de administración. En particular, asegúrese de haber abierto los puertos necesarios en el cortafuegos.

Para finalizar la configuración del directorio de AD Connector, siga las instrucciones deHabilitar la autenticación MTLs en AD Connector para utilizarla con tarjetas inteligentesen laAWS Directory ServiceGuía de administración.

Configuración de directorios locales

Además de configurar el directorio AD Connector, también debe asegurarse de que los certificados que se emiten a los controladores de dominio de su directorio local tengan establecido el uso de clave ampliado (EKU) «Autenticación KDC». Para ello, utilice la plantilla de certificado de autenticación Kerberos predeterminada de Active Directory Domain Services (AD DS). No utilice una plantilla de certificado de controlador de dominio ni una plantilla de certificado de autenticación de controlador de dominio porque esas plantillas no contienen la configuración necesaria para la autenticación de tarjeta inteligente.

Habilitar tarjetas inteligentes para WorkSpaces de Windows

Para obtener información general sobre cómo habilitar la autenticación con tarjeta inteligente en Windows, consulteDirectrices para habilitar el inicio de sesión con tarjetas inteligentes con entidades certificadoras de tercerosen la documentación de Microsoft.

Para detectar la pantalla de bloqueo de Windows y desconectar la sesión

Para permitir a los usuarios desbloquear Windows WorkSpaces que están habilitados para la autenticación previa a la sesión con tarjeta inteligente cuando la pantalla está bloqueada, puede habilitar la detección de pantalla de bloqueo de Windows en las sesiones de los usuarios. Cuando se detecta la pantalla de bloqueo de Windows, la sesión de WorkSpace se desconecta y el usuario puede volver a conectarse desde el cliente de WorkSpaces mediante su tarjeta inteligente.

Puede habilitar la desconexión de la sesión cuando se detecta la pantalla de bloqueo de Windows mediante la configuración de directiva de grupo. Para obtener más información, consulte Habilitar o deshabilitar la sesión de desconexión en el bloqueo de pantalla para WSP.

Para habilitar la autenticación durante la sesión o anterior a la sesión

De forma predeterminada, Windows WorkSpaces no está habilitado para admitir el uso de tarjetas inteligentes para la autenticación anterior a la sesión o durante la sesión. Si es necesario, puede habilitar la autenticación durante la sesión y antes de la sesión para Windows WorkSpaces mediante la configuración de directiva de grupo. Para obtener más información, consulte Habilitar o deshabilitar el redireccionamiento de tarjetas inteligentes para WSP.

Para utilizar la autenticación anterior a la sesión, además de actualizar la configuración de la directiva de grupo, también debe habilitar la autenticación previa a la sesión mediante la configuración del directorio de AD Connector. Para obtener más información, siga las instrucciones deHabilitar la autenticación MTLs en AD Connector para utilizarla en tarjetas inteligentesen laAWS Directory ServiceGuía de administración.

Para permitir que los usuarios utilicen tarjetas inteligentes en un navegador

Si los usuarios utilizan Chrome como navegador, no se requiere ninguna configuración especial para utilizar tarjetas inteligentes.

Si tus usuarios utilizan Firefox como navegador, puedes permitir que los usuarios utilicen tarjetas inteligentes en Firefox mediante la directiva de grupo. Puede usar estosPlantilla de directiva de grupo de Firefoxen GitHub.

Por ejemplo, puede instalar la versión de 64 bits deOpenSCpara que Windows admita PKCS #11 y, a continuación, utilice la siguiente configuración de directiva de grupo, dondeNAME_OF_DEVICEes el valor que quieras utilizar para identificar PKCS #11, comoOpenSC, y dondePATH_TO_LIBRARY_FOR_DEVICEes la ruta al módulo PKCS #11. Esta ruta debe apuntar a una biblioteca con una extensión DLL, comoC:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll.

Software\Policies\Mozilla\Firefox\SecurityDevices\NAME_OF_DEVICE = PATH_TO_LIBRARY_FOR_DEVICE
sugerencia

Si utiliza OpenSC, también puede cargar OpenSCpkcs11módulo en Firefox ejecutando elpkcs11-register.exeprograma. Para ejecutar este programa, haga doble clic en el archivo enC:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe, o abra una ventana del símbolo del sistema y ejecute el comando siguiente:

"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"

Para verificar que OpenSCpkcs11se ha cargado el módulo en Firefox, haga lo siguiente:

  1. Si Firefox ya se está ejecutando, ciérrelo.

  2. Abra Firefox. Seleccione el botón de menú 
                                Firefox menu button
                            en la esquina superior derecha y, a continuación, elijaOpciones.

  3. En la páginaacerca de: preferencias, en el panel de navegación izquierdo, elijaPrivacidad y seguridad.

  4. UNDERCertificados, eligeDispositivos de seguridad.

  5. En el navegadorAdministrador de dispositivos, debería verMarco de tarjetas inteligentes OpenSC (0.21)en la navegación izquierda, y debe tener los siguientes valores al seleccionarlo:

    Módulo:OpenSC smartcard framework (0.21)

    Camino:C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll

Solución de problemas

Para obtener más información acerca de cómo solucionar problemas de tarjetas inteligentes, consulteProblemas de configuración y certificadosen la documentación de Microsoft.

Algunos problemas comunes que pueden causar problemas:

  • Asignación incorrecta de las ranuras a los certificados.

  • Tener varios certificados en la tarjeta inteligente que pueden coincidir con el usuario. Los certificados se corresponden con los criterios siguientes:

    • CA raíz del certificado.

    • La<KU>y<EKU>campos del certificado.

    • El UPN en el asunto del certificado.

  • Tener varios certificados que tienen<EKU>msScLoginen su uso clave.

En general, lo mejor es tener un solo certificado para la autenticación de tarjetas inteligentes que esté asignado a la primera ranura de la tarjeta inteligente.

Las herramientas para administrar los certificados y las claves de la tarjeta inteligente (como quitar o reasignar los certificados y las claves) pueden ser específicas del fabricante. Para obtener más información, consulte la documentación facilitada por el fabricante de tarjetas inteligentes.

Habilitar tarjetas inteligentes para Linux WorkSpaces

nota

Los paquetes de Linux WorkSpaces on WorkSpaces Streaming Protocol (WSP) solo están disponibles en elAWSRegión GovCloud (EE. UU. Oeste) en este momento.

Linux WorkSpaces en WSP tiene actualmente las siguientes limitaciones:

  • No se admiten portapapeles, entrada de audio, entrada de vídeo y redirección de zona horaria.

  • No se admiten varios monitores.

  • Debe utilizar la aplicación cliente de Windows WorkSpaces para conectarse a Linux WorkSpaces en WSP.

Para habilitar el uso de tarjetas inteligentes en Linux WorkSpaces, debe incluir un archivo de certificado de CA raíz en formato PEM en la imagen de WorkSpace.

Para obtener el certificado de CA raíz

Puede obtener el certificado de CA raíz de varias formas:

  • Puede utilizar un certificado de CA raíz operado por una entidad de certificación de terceros.

  • Puede exportar su propio certificado de CA raíz mediante el sitio de inscripción web, que eshttp://ip_address/certsrvohttp://fqdn/certsrv, dondeip_addressyfqdnson la dirección IP y el nombre de dominio completo (FQDN) del servidor de CA de certificación raíz. Para obtener más información acerca del uso del sitio de inscripción en Web, consulteCómo exportar un certificado de autoridad certificadora raízen la documentación de Microsoft.

  • Puede utilizar el siguiente procedimiento para exportar el certificado de CA raíz desde un servidor de certificación de CA raíz que ejecuta Active Directory Certificate Services (AD CS). Para obtener más información acerca de cómo instalar AD CS, consulteInstale la entidad de certificaciónen la documentación de Microsoft.

    1. Inicie sesión en el servidor de CA raíz mediante una cuenta de administrador.

    2. Desde Windowsinicia, abra una ventana del símbolo del sistema (inicia >Sistema Windows >Símbolo del sistema).

    3. Utilice el siguiente comando para exportar el certificado de CA raíz a un nuevo archivo, donderootca.ceres el nombre del nuevo archivo:

      certutil -ca.cert rootca.cer

      Para obtener más información acerca de cómo ejecutar certutil, consultecertutilen la documentación de Microsoft.

    4. Utilice el siguiente comando OpenSSL para convertir el certificado de CA raíz exportado del formato DER al formato PEM, donderootcaes el nombre del certificado. Para obtener más información acerca de OpenSSL, consultewww.openssl.org.

      openssl x509 -inform der -in rootca.cer -out /tmp/rootca.pem

Para agregar el certificado de CA raíz a los WorkSpaces Linux

Para ayudarle a habilitar las tarjetas inteligentes, hemos añadido elenable_smartcardscript de nuestros paquetes WSP de Amazon Linux. Este script realiza las siguientes acciones:

  • Importa el certificado de CA raíz en elServicios de seguridad de red (NSS)base de datos.

  • Instala elpam_pkcs11módulo para la autenticación del módulo de autenticación conectable (PAM).

  • Realiza una configuración predeterminada, que incluye habilitarpkinitdurante el aprovisionamiento de WorkSpace.

El siguiente procedimiento explica cómo utilizar laenable_smartcardpara agregar el certificado de CA raíz a los WorkSpaces Linux y habilitar tarjetas inteligentes para Linux WorkSpaces.

  1. Cree un nuevo Linux WorkSpace con el protocolo WSP habilitado. Al iniciar WorkSpace en la consola de Amazon WorkSpaces, en elSeleccionar paquetes, asegúrese de seleccionarWSPpara el protocolo y, a continuación, seleccione uno de los paquetes públicos de Amazon Linux 2.

  2. En el nuevo escritorio WorkSpace WorkSpaces, ejecute el siguiente comando como root, dondepem-pathes la ruta al archivo de certificado de CA raíz en formato PEM.

    /usr/lib/skylight/enable_smartcard --ca-cert pem-path
    nota

    Linux WorkSpaces asume que los certificados de las tarjetas inteligentes se emiten para el nombre principal de usuario (UPN) predeterminado del usuario, comosAMAccountName@domain, dondedomaines un nombre de dominio completo (FQDN).

    Para utilizar sufijos UPN alternativos,run /usr/lib/skylight/enable_smartcard --helppara obtener más información. La asignación de sufijos UPN alternativos es exclusiva para cada usuario. Por lo tanto, esa asignación debe realizarse individualmente en el WorkSpace de cada usuario.

  3. (Opcional) De forma predeterminada, todos los servicios están habilitados para utilizar la autenticación con tarjeta inteligente en Linux WorkSpaces. Para limitar la autenticación de tarjetas inteligentes solo a servicios específicos, debe editar/etc/pam.d/system-auth. Anule el comentario deauthlínea parapam_succeed_if.soy edite la lista de servicios según sea necesario.

    After theauthlínea no está comentada, para permitir que un servicio utilice la autenticación de tarjeta inteligente, debe agregarla a la lista. Para que un servicio utilice solo la autenticación con contraseña, debe quitarlo de la lista.

  4. (Opcional) El uso de una tarjeta inteligente para desbloquear la pantalla no es compatible actualmente. Para deshabilitar la pantalla de bloqueo en Linux WorkSpaces, cree un archivo denominado/usr/share/glib-2.0/schemas/10_screensaver.gschema.overridecon el siguiente contenido:

    [org.mate.screensaver] lock-enabled=false

    Después de crear este archivo, ejecuta este comando:

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
  5. Realice cualquier personalización adicional en WorkSpace. Por ejemplo, es posible que desee agregar una política de todo el sistema apermitir que los usuarios utilicen tarjetas inteligentes en Firefox. (Los usuarios de Chrome deben habilitar las tarjetas inteligentes en sus propios clientes. Para obtener más información, consulteSupport con tarjetas inteligentesen laGuía del usuario de Amazon WorkSpaces.)

  6. Crear una imagen y un paquete de WorkSpace personalizadosdesde WorkSpace.

  7. Utilice el nuevo paquete personalizado para lanzar WorkSpaces para los usuarios.

Para permitir que los usuarios utilicen tarjetas inteligentes en Firefox

Puede permitir que los usuarios utilicen tarjetas inteligentes en Firefox añadiendo una directiva SecurityDevices a la imagen de Linux WorkSpace. Para obtener más información acerca de cómo agregar políticas de todo el sistema a Firefox, consulte laPolíticas de Mozillaen GitHub.

  1. En el escritorio de WorkSpaces que utiliza para crear la imagen de WorkSpace, cree un nuevo archivo llamadopolicies.jsonen/usr/lib64/firefox/distribution/.

  2. En el archivo JSON, añada la siguiente directiva SecurityDevices, dondeNAME_OF_DEVICEes el valor que desee utilizar para identificar lapkcsmódulo. Por ejemplo, es posible que desee utilizar un valor como"OpenSC":

    { "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "/usr/lib64/opensc-pkcs11.so" } } }

Solución de problemas

Para solucionar problemas, recomendamos agregar elpkcs11-toolsutilidad. Esta utilidad le permite realizar las siguientes acciones:

  • Enumera cada tarjeta inteligente.

  • Enumera las ranuras de cada tarjeta inteligente.

  • Enumere los certificados de cada tarjeta inteligente.

Algunos problemas comunes que pueden causar problemas:

  • Asignación incorrecta de las ranuras a los certificados.

  • Tener varios certificados en la tarjeta inteligente que pueden coincidir con el usuario. Los certificados se corresponden con los criterios siguientes:

    • CA raíz del certificado.

    • La<KU>y<EKU>campos del certificado.

    • El UPN en el asunto del certificado.

  • Tener varios certificados que tienen<EKU>msScLoginen su uso clave.

En general, lo mejor es tener un solo certificado para la autenticación de tarjetas inteligentes que esté asignado a la primera ranura de la tarjeta inteligente.

Las herramientas para administrar los certificados y las claves de la tarjeta inteligente (como quitar o reasignar los certificados y las claves) pueden ser específicas del fabricante. Las herramientas adicionales que puede utilizar para trabajar con tarjetas inteligentes son:

  • opensc-explorer

  • opensc-tool

  • pkcs11_inspect

  • pkcs11_listcerts

  • pkcs15-tool

Para habilitar el registro de depuración de

Para solucionar problemas depam_pkcs11ypam-krb5configuración, puede habilitar el registro de depuración.

  1. En el navegador/etc/pam.d/system-auth-ac, edite elauthacción y cambiar elnodebugparámetro depam_pksc11.soadebug.

  2. En el navegador/etc/pam_pkcs11/pam_pkcs11.confarchivo, cambiardebug = false;adebug = true;. Ladebugse aplica por separado a cada módulo de mapeador, por lo que es posible que tenga que cambiarlo directamente debajo de lapam_pkcs11y también en la sección asignadora adecuada (de forma predeterminada, esto esmapper generic).

  3. En el navegador/etc/pam.d/system-auth-ac, edite elauthacción y agregue eldebugo eldebug_sensitiveparámetro parapam_krb5.so.

Después de habilitar el registro de depuración, el sistema se imprimepam_pkcs11mensajes de depuración directamente en el terminal activo. Mensajes desdepam_krb5han iniciado sesión/var/log/secure.

Para comprobar a qué nombre de usuario se asigna un certificado de tarjeta inteligente, utilice lo siguientepklogin_findercomando:

sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf

Cuando se le solicite, escriba el PIN de tarjeta inteligente.pklogin_findersalidas enstdoutel nombre de usuario en el certificado de tarjeta inteligente en el formularioNETBIOS\username. Este usuario debe coincidir con el nombre de usuario de WorkSpace.

En Active Directory Domain Services (AD DS), el nombre de dominio NetBIOS es el nombre de dominio anterior a Windows 2000. Normalmente (pero no siempre), el nombre de dominio NetBIOS es el subdominio del nombre de dominio del Sistema de nombres de dominio (DNS). Por ejemplo, si el nombre de dominio DNS esexample.com, el nombre de dominio NetBIOS suele serEXAMPLE. Si el nombre de dominio DNS escorp.example.com, el nombre de dominio NetBIOS suele serCORP.

Por ejemplo, para el usuariommajoren el dominiocorp.example.com, la salida depklogin_finderesCORP\mmajor.

nota

Si recibe el mensaje"ERROR:pam_pkcs11.c:504: verify_certificate() failed", este mensaje indica quepam_pkcs11ha encontrado un certificado en la tarjeta inteligente que coincide con los criterios de nombre de usuario pero que no se encadena a un certificado de CA raíz reconocido por la máquina. Cuando eso ocurra,pam_pkcs11emite el mensaje anterior y, a continuación, prueba el siguiente certificado. Solo permite la autenticación si encuentra un certificado que coincida con el nombre de usuario y cadena hasta un certificado de CA raíz reconocido.

Para solucionar problemas depam_krb5configuración, puede invocar manualmentekiniten modo de depuración con el siguiente comando:

KRB5_TRACE=/dev/stdout kinit -V

Este comando debe obtener correctamente un ticket de concesión de entradas Kerberos (TGT). Si falla, intente agregar el nombre principal correcto de Kerberos explícitamente al comando. Por ejemplo, para el usuariommajoren el dominiocorp.example.com, utilice este comando:

KRB5_TRACE=/dev/stdout kinit -V mmajor

Si este comando se ejecuta correctamente, lo más probable es que el problema se produzca en la asignación del nombre de usuario de WorkSpace al nombre principal de Kerberos. Compruebe el[appdefaults]/pam/mappingsen el/etc/krb5.conffile.

Si este comando no funciona correctamente, sino que se basa en una contraseñakinitse ejecuta correctamente, compruebe lapkinit_-configuraciones relacionadas en el/etc/krb5.conffile. Por ejemplo, si la tarjeta inteligente contiene más de un certificado, es posible que deba realizar cambios enpkinit_cert_match.