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.
Utilizar tarjetas inteligentes para la autenticación en WorkSpaces Personal
Los paquetes de Windows y Linux WorkSpaces en DCV permiten el uso de tarjetas inteligentes de tarjeta de acceso común (CAC)
Amazon WorkSpaces admite el uso de tarjetas inteligentes tanto para la autenticación previa a la sesión como para la autenticación durante la sesión. La autenticación previa a la sesión se refiere a la autenticación con tarjeta inteligente que se realiza mientras los usuarios inician sesión en su cuenta. WorkSpaces La autenticación durante la sesión se refiere al proceso que se realiza después de iniciar sesión.
Por ejemplo, los usuarios pueden usar tarjetas inteligentes para la autenticación durante la sesión cuando trabaja con navegadores web y aplicaciones. También pueden usar tarjetas inteligentes para aquellas acciones que requieran permisos administrativos. Por ejemplo, si el usuario tiene permisos administrativos en su Linux WorkSpace, puede usar tarjetas inteligentes para autenticarse cuando ejecuta comandos sudo y sudo -i ejecuta.
Contenido
Requisitos
-
Se requiere un directorio de Active Directory Connector (Conector AD) para la autenticación previa a la sesión. Conector AD utiliza la autenticación Mutual Transport Layer Security (mutual TLS) basada en certificados para autenticar a los usuarios en Active Directory mediante certificados de tarjetas inteligentes basados en hardware o software. Para obtener más información acerca de cómo configurar el Conector AD y el directorio local, consulte Configuración del directorio:.
-
Para usar una tarjeta inteligente con Windows o Linux WorkSpace, el usuario debe usar el cliente Amazon WorkSpaces Windows versión 3.1.1 o posterior, el cliente WorkSpaces macOS versión 3.1.5 o posterior o el cliente WorkSpaces Ubuntu 22.04 versión 2024.1 o posterior (la autenticación con tarjeta inteligente no es compatible con WorkSpaces el cliente Ubuntu 20.04). Para obtener más información sobre el uso de tarjetas inteligentes con los clientes de Windows y macOS, consulte Smart Card Support en la Guía del WorkSpaces usuario de Amazon.
-
El CA raíz y los certificados de tarjeta inteligente deben cumplir ciertos requisitos. Para obtener más información, consulte Habilitar la autenticación mTLS en Conector AD para usarla con tarjetas inteligentes en la Guía de administración de AWS Directory Service y Requisitos de certificados
en la documentación de Microsoft. Además de estos requisitos, los certificados de usuario empleados para la autenticación con tarjetas inteligentes en Amazon WorkSpaces deben incluir los siguientes atributos:
-
El nombre del usuario de AD userPrincipalName (UPN) en el campo subjectAltName (SAN) del certificado. Recomendamos emitir certificados de tarjeta inteligente para el UPN predeterminado del usuario.
nota
Amazon Linux 2 se WorkSpaces basa en UPN para el certificate-to-user mapeo. Los Linux más nuevos WorkSpaces, como Ubuntu, Rocky Linux y Red Hat Enterprise Linux WorkSpaces, admiten métodos de mapeo
más seguros. -
El atributo de uso extendido de claves (EKU) de autenticación de cliente (1.3.6.1.5.5.7.3.2).
-
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 verificar la revocación de certificados. Para la autenticación durante la sesión, se recomienda el OCSP, pero no es obligatorio.
nota
Ubuntu WorkSpaces, Rocky Linux WorkSpaces y Red Hat Enterprise Linux WorkSpaces requieren OCSP para la autenticación durante la sesión de forma predeterminada, y la verificación OCSP en estos sistemas requiere que el respondedor OCSP tenga habilitada la extensión NONCE para evitar ataques de repetición. Para deshabilitar la extensión NONCE, la verificación de OCSP durante la sesión debe estar deshabilitada por completo. Para deshabilitar la verificación de OCSP en Ubuntu, Rocky Linux y Red Hat Enterprise Linux WorkSpaces, cree un archivo nuevo
/etc/sssd/conf.d/disable-ocsp.confcon el siguiente contenido:[sssd] certificate_verification = no_ocsp
Limitaciones
-
Actualmente, solo la aplicación cliente WorkSpaces Windows versión 3.1.1 o posterior, la aplicación cliente WorkSpaces macOS versión 3.1.5 o posterior y la aplicación cliente WorkSpaces Ubuntu 22.04 versión 2024.1 o posterior son compatibles actualmente con la autenticación con tarjeta inteligente. WorkSpaces La aplicación cliente Ubuntu 20.04 o anterior no es compatible con la autenticación con tarjeta inteligente.
-
La aplicación cliente de WorkSpaces Windows 3.1.1 o posterior solo admite tarjetas inteligentes cuando el cliente se ejecuta en una versión de 64 bits de Windows.
-
Actualmente, solo se admiten los directorios de Conector AD para la autenticación con tarjeta inteligente.
-
La autenticación durante la sesión está disponible en todas las regiones donde el protocolo DCV sea compatible. La autenticación previa a la sesión está disponible en las siguientes regiones:
-
Región de Asia-Pacífico (Sídney)
-
Región de Asia-Pacífico (Tokio)
-
Región de Europa (Irlanda)
-
AWS GovCloud Región (EE. UU.-Este)
-
AWS GovCloud Región (EE. UU.-Oeste)
-
Región Este de EE. UU. (Norte de Virginia)
-
Región del Oeste de EE. UU (Oregón)
-
-
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. El uso simultáneo de varias tarjetas puede funcionar, pero no se admite.
-
Para la autenticación previa a la sesión, actualmente no se permite habilitar la autenticación con tarjeta inteligente y la autenticación de inicio de sesión en el mismo directorio.
-
Por el momento, solo se admiten las tarjetas CAC y PIV. Es posible que haya otros tipos de tarjetas inteligentes basadas en hardware o software que también funcionen, pero su uso no se ha probado de forma exhaustiva con DCV.
Configuración del directorio:
Para habilitar la autenticación con tarjeta inteligente, debe configurar el directorio de Conector AD y el directorio en las instalaciones de la siguiente manera.
Configuración del directorio de Conector AD
Antes de empezar, asegúrese de que el directorio de Conector AD se ha configurado tal y como se describe en los requisitos previos de Conector AD en la Guía de administración de AWS Directory Service . En particular, asegúrese de haber abierto los puertos necesarios en el firewall.
Para terminar de configurar el directorio de Conector AD, siga las instrucciones de Habilitar la autenticación mTLS en Conector AD para usarla con tarjetas inteligentes en la Guía de administración de AWS Directory Service .
nota
La autenticación con tarjeta inteligente requiere la delegación restringida de Kerberos (KCD) para funcionar correctamente. KCD requiere que la parte del nombre de usuario de la cuenta de servicio AD Connector coincida con el AMAccount nombre s del mismo usuario. Un AMAccount nombre s no puede superar los 20 caracteres.
Configuración de directorios en las instalaciones
Además de configurar el directorio de AD Connector:
-
Asegúrese de que los certificados que se emiten para los controladores de dominio de su directorio local tengan el uso extendido de claves (EKU) de «Autenticación KDC» establecido. 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 con tarjetas inteligentes.
-
En el caso de Linux WorkSpaces, asegúrese de que el respondedor OCSP de la entidad emisora de certificados de tarjeta inteligente tenga habilitada la extensión NONCE. Si no se puede habilitar, la verificación de OCSP durante la sesión tendrá que estar deshabilitada en Ubuntu, Rocky Linux y Red Hat Enterprise Linux. WorkSpaces Para deshabilitar la verificación OCSP, cree un archivo nuevo
/etc/sssd/conf.d/disable-ocsp.confcon el siguiente contenido:[sssd] certificate_verification = no_ocsp
Habilite las tarjetas inteligentes para Windows WorkSpaces
Para obtener instrucciones generales sobre cómo habilitar la autenticación con tarjeta inteligente en Windows, consulte Directrices para habilitar el inicio de sesión de tarjeta inteligente con entidades de certificación de terceros
Para detectar la pantalla de bloqueo de Windows y desconectar la sesión
Para permitir a los usuarios desbloquear las ventanas WorkSpaces que están habilitadas para la autenticación previa a la sesión con tarjetas inteligentes cuando la pantalla está bloqueada, puede habilitar la detección de la pantalla de bloqueo de Windows en las sesiones de los usuarios. Cuando se detecta la pantalla de bloqueo de Windows, la WorkSpace sesión se desconecta y el usuario puede volver a conectarse desde el WorkSpaces cliente mediante su tarjeta inteligente.
Puede habilitar la desconexión de la sesión cuando se detecte la pantalla de bloqueo de Windows mediante la configuración de la política de grupo. Para obtener más información, consulte Configuración de la sesión de desconexión en el bloqueo de pantalla para DCV.
Para habilitar la autenticación durante o antes de la sesión
De forma predeterminada, Windows WorkSpaces no admite el uso de tarjetas inteligentes para la autenticación previa o durante la sesión. Si es necesario, puede habilitar la autenticación durante y antes de la sesión para Windows WorkSpaces mediante la configuración de la política de grupo. Para obtener más información, consulte Configuración del redireccionamiento de tarjeta inteligente para DCV.
Para usar la autenticación previa a la sesión, además de actualizar la configuración de la política de grupo, también debe habilitar la autenticación previa a la sesión a través de la configuración del directorio de Conector AD. Para obtener más información, siga las instrucciones de Habilitar la autenticación mTLS en Conector AD para usarla con tarjetas inteligentes en la Guía de administración de AWS Directory Service .
Para permitir a los usuarios utilizar tarjetas inteligentes en un navegador
Si los usuarios utilizan Chrome como navegador, no es necesaria ninguna configuración especial para utilizar tarjetas inteligentes.
Si los usuarios utilizan Firefox como navegador, puede permitir que usen tarjetas inteligentes en Firefox mediante la política de grupo. Puedes usar estas plantillas de políticas de grupo de Firefox
Por ejemplo, puede instalar la versión de 64 bits de OpenSC es el valor que desee usar para identificar PKCS #11, por ejemplo NAME_OF_DEVICEOpenSC, y donde es la ruta al módulo PKCS #11. Esta ruta debe apuntar a una biblioteca con la extensión.DLL, como PATH_TO_LIBRARY_FOR_DEVICEC:\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 puedes cargar el módulo pkcs11 de OpenSC en Firefox ejecutando el programa. pkcs11-register.exe. Para ejecutar este programa, haga doble clic en C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe en el archivo o abra una ventana de línea de comandos y ejecute el siguiente comando:
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"
Para verificar que el módulo pkcs11 de OpenSC se cargó en Firefox, haga lo siguiente:
-
Si Firefox ya se está ejecutando, debe cerrarlo.
-
Abra Firefox. Seleccione el botón de menú
, en la esquina superior derecha, y seleccione Opciones. -
En la página about:preferences, en el panel de navegación de la izquierda, seleccione Privacidad y seguridad.
-
En Certificados, seleccione Dispositivos de seguridad.
-
En el cuadro de diálogo del Administrador de dispositivos, debería aparecer OpenSC smartcard framework (0.21) en el menú de navegación izquierdo. Al seleccionarlo, tendrá los siguientes valores:
Módulo:
OpenSC smartcard framework (0.21)Ruta:
C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll
Resolución de problemas
Para obtener información sobre la solución de problemas de tarjetas inteligentes, consulte Problemas de certificado y configuración
Algunos errores comunes que pueden causar problemas:
-
Asignación incorrecta de slots a los certificados.
-
Tener varios certificados en la tarjeta inteligente que puedan coincidir con los del usuario. Los certificados se comparan según los siguientes criterios:
-
La CA raíz del certificado.
-
Los campos
<EKU>y<KU>del certificado. -
El UPN del asunto del certificado.
-
-
Tener varios certificados que incluyan
<EKU>msScLoginen su clave el uso.
En general, es mejor tener un solo certificado para la autenticación con tarjeta inteligente que esté asignado al primer slot 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 sus tarjetas inteligentes.
Habilite las tarjetas inteligentes para Ubuntu, Rocky Linux y Red Hat Enterprise Linux WorkSpaces
Para habilitar el uso de tarjetas inteligentes en Ubuntu, Rocky Linux y Red Hat Enterprise Linux WorkSpaces, debe incluir en la WorkSpace imagen los certificados raíz y todos los certificados de CA intermedios para todas las tarjetas inteligentes CAs emisoras y para todos los certificados de controlador de dominio CAs emisores.
Para obtener el certificado de CA: puede obtener el certificado de CA de varias maneras:
-
Puede utilizar un paquete de certificados de CA de una entidad emisora de certificados externa.
-
Puede exportar su propio certificado de CA mediante el sitio de inscripción web, que es
http://la dirección IPip_address/certsrvyip_addressel nombre de dominio completo (FQDN) del servidor de CA.fqdnhttp://Para obtener más información sobre el uso del sitio web de registro, consulte Exportación del certificado de entidad de certificación raízfqdn/certsrven la documentación de Microsoft. -
Puede utilizar el siguiente procedimiento para exportar el certificado de CA desde un servidor de CA que ejecute los Servicios de certificados de Active Directory (AD CS). Para obtener información sobre la instalación de AD CS, consulte Instalar la entidad de certificación
en la documentación de Microsoft. -
Inicie sesión en el servidor de CA con una cuenta de administrador.
-
En el menú Inicio de Windows, abra una ventana de línea de comandos (Inicio > Sistema Windows > Símbolo del sistema).
-
Utilice el siguiente comando para exportar el certificado de CA a un nuevo archivo, donde
aparece el nombre del nuevo archivo:rootca.cercertutil -ca.certrootca.cerPara obtener más información acerca de cómo ejecutar certutil, consulte certutil
en la documentación de Microsoft. -
Utilice el siguiente comando OpenSSL para convertir el certificado de CA exportado del formato DER al formato PEM,
rootcadonde es el nombre del certificado. Para obtener más información acerca de OpenSSL, consulte http://www.openssl.org/. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Para añadir sus certificados de CA a su Linux WorkSpaces
Para ayudarlo a habilitar las tarjetas inteligentes, hemos agregado el enable_smartcard script a nuestros paquetes de WorkSpaces DCV para Linux. Este script realiza las siguientes acciones:
-
Importa sus certificados de CA a un paquete PEM privado (que define la raíz de confianza de los SSSD en Linux). WorkSpaces
-
Actualiza la configuración de SSSD, PAM y Kerberos, lo que incluye la activación
PKINIT(la autenticación de Kerberos mediante un certificado en lugar de una contraseña) durante el aprovisionamiento. WorkSpace
El siguiente procedimiento explica cómo usar el enable_smartcard script para importar los certificados de CA y habilitar la autenticación con tarjeta inteligente en Linux. WorkSpaces
-
Cree un nuevo Linux WorkSpace con el protocolo DCV activado. Al iniciar el WorkSpace en la WorkSpaces consola de Amazon, en la página Select Bundles, asegúrese de seleccionar DCV para el protocolo y, a continuación, seleccione uno de los paquetes WorkSpaces públicos de Linux.
-
En el archivo recién creado WorkSpace, asegúrate de que el
/etc/skylight.confarchivo tenga unapam_smartcard = truelínea en la sección:[features][features] pam_smartcard = truenota
Si aún no todos sus usuarios están configurados para utilizar una asignación de
altSecurityIdentitiescertificados segura, también puede añadirsmartcard_weak_mapping = truelíneas a la misma[features]sección/etc/skylight.confpara que sea compatible con los métodos de mapeo tradicionales, pero le recomendamos migrar a esos usuarios para que utilicen métodos de mapeo robustos lo antes posible. -
En ese caso WorkSpace, ejecute el siguiente comando como superusuario, donde, etc.
pem-path1, aparecen las rutas de acceso a los archivos, cada uno de los cuales contiene uno de los certificados de CA de la cadena de confianza para los certificados de tarjeta inteligente y de controlador de dominio. Todos estos archivos deben estar en formato PEM y contener un certificado por archivo. Se pueden usar patrones globales (por ejemplo,)pem-path2*.pem/usr/lib/skylight/enable_smartcard --ca-certpem-path1pem-path2pem-path3...nota
Asegúrese de que haya paquetes de dependencia adicionales instalados en el WorkSpace antes de ejecutar el comando anterior, utilizando los siguientes comandos como root.
Para Rocky Linux y Red Hat Enterprise Linux WorkSpaces:
dnf install sssd-dbus libsss_simpleifp sssd-tools krb5-pkinit openscPara Ubuntu WorkSpaces:
apt install krb5-pkinit opensc -
Realice cualquier personalización adicional en el WorkSpace. Por ejemplo, es posible que desee añadir una política para todo el sistema que permita a los usuarios usar tarjetas inteligentes en Firefox. (Los usuarios de Chrome deben habilitar ellos mismos las tarjetas inteligentes en sus clientes. Para obtener más información, consulte Smart Card Support en la Guía del WorkSpaces usuario de Amazon.)
-
Cree una WorkSpace imagen y un paquete personalizados a partir de WorkSpace.
-
Utilice el nuevo paquete personalizado para lanzarlo WorkSpaces para sus usuarios.
Puedes permitir que tus usuarios usen tarjetas inteligentes en Firefox añadiendo una SecurityDevices política a tu WorkSpace imagen de Linux. Para obtener más información sobre cómo añadir políticas para todo el sistema a Firefox, consulta las plantillas de políticas de Mozilla
Para permitir a los usuarios utilizar tarjetas inteligentes en Firefox
-
En el archivo WorkSpace que está utilizando para crear la WorkSpace imagen, cree un nuevo archivo llamado
policies.jsonin, quePREFIX/firefox/distribution/esté en los sistemas basadosPREFIX/usr/lib64en Fedora (Amazon Linux 2, Red Hat Enterprise Linux y Rocky Linux WorkSpaces) y en los sistemas basados/usr/liben Debian (Ubuntu). WorkSpaces -
En el archivo JSON, añada la siguiente SecurityDevices política, donde
aparece el valor que desee utilizar para identificar el módulo.NAME_OF_DEVICEpkcsPor ejemplo, es posible que desee usar un valor como"OpenSC":{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "PREFIX/opensc-pkcs11.so" } } }
Resolución de problemas
La solución de problemas relacionados con la autenticación con tarjeta inteligente resulta más sencilla cuando se configura la autenticación previa a la sesión para utilizar la autenticación mediante contraseña. Durante el aprovisionamiento de la sesión, Linux cambia WorkSpaces automáticamente la preferencia del modo de autenticación del host a uno basado en contraseña o en tarjeta inteligente, según el método de autenticación previo a la sesión utilizado. Si hay algún problema con la autenticación con tarjeta inteligente, al desconectarse y volver a conectarse mediante la autenticación previa a la sesión, se restablece el espacio de trabajo a la autenticación mediante contraseña en el host. Para cambiar manualmente la WorkSpaces instancia de Linux a la autenticación con tarjeta inteligente, ejecute el comando como root. /usr/lib/skylight/resume_smartcard
Linux WorkSpaces usa el software OpenSC para trabajar con tarjetas inteligentes. Ese software viene con herramientas similares pkcs11-tool y pkcs15-tool que pueden ser útiles para solucionar problemas con las tarjetas inteligentes. Estas herramientas se pueden utilizar para inspeccionar los lectores de tarjetas inteligentes, los tokens individuales y las ranuras o certificados PIV de cada token de tarjeta inteligente.
Una herramienta de openssl línea de comandos puede resultar útil para solucionar problemas relacionados con las cadenas de confianza, las personas que responden al OCSP o los indicadores que faltan KUs/EKUs (uso de usage/extended claves clave), especialmente si se combina con la capacidad pkcs15-tool de extraer certificados públicos de una tarjeta inteligente.
Opciones de solución de problemas habituales:
-
Extraiga el primer certificado (normalmente en la ranura PIV 9A) de la tarjeta inteligente y guárdelo como:
card-cert.pempkcs15-tool --read-certificate 1 >card-cert.pem -
Valide el certificado extraído con una base de datos de confianza en: WorkSpace
openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -certcard-cert.pem -
Obtenga la URL del OCSP del certificado de tarjeta inteligente extraído:
openssl x509 -noout -ocsp_uri -incard-cert.pem -
Compruebe que la respuesta del OCSP indique que el certificado es válido e incluya NONCE:
openssl ocsp -issuer /etc/sssd/pki/sssd_auth_ca_db.pem -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -cert, dondecard-cert.pem-text -urlOCSP_URIOCSP_URIaparece la URL del OCSP indicada anteriormente. -
Compruebe si el certificado del controlador de dominio se considera de confianza:
openssl s_client -connect, dondeDC_HOSTNAME:636 -showcerts | openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pemDC_HOSTNAMEes el nombre de host de uno de los controladores de dominio de su dominio de Active Directory. -
Confirme que el certificado del controlador de dominio tenga configurada la EKU (uso de clave extendida) de autenticación KDC:.
openssl s_client -connectDC_HOSTNAME:636 -showcerts | openssl x509 -noout -text -
Intente utilizar el método PKINIT manual para comprobar si hay algún código de error que pueda utilizarse para reducir el problema:
KRB5_TRACE=/dev/stdout kinit -X X509_user_identity=PKCS11:opensc-pkcs11.so:certid=¿dónde01-V01está el número de una de las cuatro ranuras PIV principales de la tarjeta:01para, para9A, etc.?029CLa mayoría de las tarjetas tendrán un certificado destinado a la autenticación del usuario en la ranura 9A. -
Compruebe si el sistema puede asignar el certificado de la tarjeta inteligente a un usuario de AD (ejecutar como root):
dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe/Users org.freedesktop.sssd.infopipe.Users.FindByCertificate string:"$(<. Esto se puede combinar con la activación del registro de depuración para SSSD.card-cert.pem)"
Los problemas conocidos más comunes son los siguientes:
-
Cadena de confianza incompleta para el certificado de tarjeta inteligente: al importar certificados mediante un
enable_smartcardscript, se debe proporcionar la lista completa de todos los certificados de CA raíz e intermedios. Laenable_smartcardherramienta mostrará un error si no todos los certificados importados son de confianza porque no figuran en la lista el certificado de CA raíz, pero no puede detectar si falta una cadena de confianza completa o el certificado de CA intermedio más interno de una de las cadenas de confianza. En ese caso, importará los certificados sin errores; sin embargo, es posible que se siga considerando que un certificado de tarjeta inteligente o un certificado de controlador de dominio no son de confianza. -
Falta una cadena de confianza para los certificados del controlador de dominio: si los certificados del controlador de dominio los emite una entidad emisora de certificados distinta a la de las tarjetas inteligentes (por ejemplo, en el caso de la tarjeta de acceso común (CAC)
), es necesario importar esa cadena de confianza de la CA junto con la tarjeta inteligente que emite los certificados de CA. -
No se admite la extensión NONCE en el respondedor OCSP: Linux WorkSpaces requiere que el respondedor OCSP del emisor de la tarjeta inteligente tenga habilitada la extensión NONCE. Si no se puede activar, la validación de OCSP tendrá que estar completamente deshabilitada.
-
A los certificados de controlador de dominio les falta la
KDC AuthenticationEKU (OID 1.3.6.1.5.2.3.1). Para que la autenticación con tarjeta inteligente funcione, es necesario volver a emitir los certificados de controlador de dominio para incluir la EKU de autenticación KDC. -
Los certificados de controlador de dominio han caducado; para que la autenticación con tarjeta inteligente funcione, los certificados de controlador de dominio deben conservarse. up-to-date
-
Los certificados de tarjetas inteligentes se asignan a los usuarios de AD mediante métodos de mapeo poco fiables. Tradicionalmente, el campo UPN del subjectAltName atributo se utilizaba para asignar un certificado a un usuario de AD y se esperaba que coincidiera con userPrincipalName el atributo. Esto ya no se considera un método de mapeo seguro y no está permitido de forma predeterminada. Es posible volver a activarlo pasando un
--allow-weak-mappingargumento a unenable_smartcardcomando y añadiendo unasmartcard_weak_mapping = truelínea a la[features]sección del/etc/skylight.confarchivo, pero una mejor solución es utilizar uno de los métodos de mapeo más potentes. Consulte la documentación sobre la vinculación de cuentaspara obtener más información.
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. Otras herramientas que puede usar para trabajar con tarjetas inteligentes son:
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
Para habilitar el registro de depuración
-
Añada una
debug_level =líneaLEVEL/etc/sssd/sssd.confpara cada sección individual, conLEVELel nivel de verbosidad deseado, del 1 al 10. Los registros de cada sección correspondiente se pueden encontrar entonces en/var/log/sssd/el directorio. Consulte la documentación del SSSD aquíy aquí para obtener más información.
Habilitar tarjetas inteligentes para Amazon Linux 2 WorkSpaces
nota
Amazon Linux 2 WorkSpaces en DCV tiene actualmente las siguientes limitaciones:
-
No se admiten el portapapeles, la entrada de audio, la entrada de vídeo ni el redireccionamiento de zona horaria.
-
No se admiten varios monitores.
Para habilitar el uso de tarjetas inteligentes en Amazon Linux 2 WorkSpaces, debe incluir un archivo de certificado de CA raíz en formato PEM en la WorkSpace imagen.
Para obtener su certificado de CA raíz: puede obtener su certificado de CA raíz de varias maneras:
-
Puede utilizar un certificado de CA raíz gestionado por una entidad emisora de certificados externa.
-
Puede exportar su propio certificado CA raíz utilizando el sitio web de registro, ya sea
http://oip_address/certsrvhttp://, dondefqdn/certsrvyip_addressson 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 sobre el uso del sitio web de registro, consulte Exportación del certificado de entidad de certificación raízfqdnen la documentación de Microsoft. -
Puede usar el siguiente procedimiento para exportar el certificado de CA raíz desde un servidor de certificación de CA raíz que ejecute Active Directory Certificate Services (AD CS). Para obtener información sobre la instalación de AD CS, consulte Instalar la entidad de certificación
en la documentación de Microsoft. -
Inicie sesión en el servidor de CA raíz con una cuenta de administrador.
-
En el menú Inicio de Windows, abra una ventana de línea de comandos (Inicio > Sistema Windows > Símbolo del sistema).
-
Utilice el siguiente comando para exportar el certificado de CA raíz a un nuevo archivo, donde
aparece el nombre del nuevo archivo:rootca.cercertutil -ca.certrootca.cerPara obtener más información acerca de cómo ejecutar certutil, consulte certutil
en la documentación de Microsoft. -
Utilice el siguiente comando OpenSSL para convertir el certificado de CA raíz exportado del formato DER al formato PEM,
rootcadonde es el nombre del certificado. Para obtener más información acerca de OpenSSL, consulte http://www.openssl.org/. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Para añadir el certificado de CA raíz a Amazon Linux 2 WorkSpaces
Para ayudarle a habilitar las tarjetas inteligentes, hemos añadido el script enable_smartcard a los paquetes de Amazon Linux DCV. Este script realiza las siguientes acciones:
-
Importa su certificado de CA raíz a la base de datos de Network Security Services (NSS)
. -
Instala el módulo
pam_pkcs11para la autenticación del módulo de autenticación conectable (PAM). -
Realiza una configuración predeterminada, que incluye la activación
pkinitdurante el WorkSpace aprovisionamiento.
El siguiente procedimiento explica cómo utilizar el enable_smartcard script para añadir el certificado de CA raíz a Amazon Linux 2 WorkSpaces y habilitar las tarjetas inteligentes para Amazon Linux 2 WorkSpaces.
-
Cree un nuevo Amazon Linux 2 WorkSpace con el protocolo DCV activado. Al iniciar el WorkSpace en la WorkSpaces consola de Amazon, en la página Select Bundles, asegúrese de seleccionar DCV para el protocolo y, a continuación, seleccione uno de los paquetes públicos de Amazon Linux 2.
-
En la nueva versión WorkSpace, ejecute el siguiente comando como root, donde
está la ruta al archivo de certificado raíz de CA en formato PEM.pem-path/usr/lib/skylight/enable_smartcard --ca-certpem-pathnota
Amazon Linux 2 WorkSpaces asume que los certificados de las tarjetas inteligentes se emiten para el nombre principal de usuario (UPN) predeterminado del usuario, por ejemplo, si
es un nombre de dominio completo (FQDN).domainsAMAccountName@domainSi quiere utilizar sufijos UPN alternativos, consulte
run /usr/lib/skylight/enable_smartcard --helppara obtener más información. La asignación de sufijos UPN alternativos es exclusiva de cada usuario. Por lo tanto, ese mapeo debe realizarse de forma individual en el de cada usuario. WorkSpace -
(Opcional) De forma predeterminada, todos los servicios están habilitados para usar la autenticación con tarjeta inteligente en Amazon Linux 2 WorkSpaces. Para limitar la autenticación con tarjetas inteligentes solo a servicios específicos, debe editar
/etc/pam.d/system-auth. Elimine los comentarios de la líneaauthdepam_succeed_if.soy edite la lista de servicios según sea necesario.Una vez eliminados los comentarios de la línea
auth, para permitir que un servicio utilice la autenticación con tarjetas inteligentes, debe agregarlo a la lista. Para hacer que un servicio utilice únicamente la autenticación mediante contraseña, debe quitarlo de la lista. -
Realice cualquier personalización adicional en el WorkSpace. Por ejemplo, es posible que desee añadir una política para todo el sistema que permita a los usuarios usar tarjetas inteligentes en Firefox. (Los usuarios de Chrome deben habilitar ellos mismos las tarjetas inteligentes en sus clientes. Para obtener más información, consulte Smart Card Support en la Guía del WorkSpaces usuario de Amazon.)
-
Cree una WorkSpace imagen y un paquete personalizados a partir de WorkSpace.
-
Utilice el nuevo paquete personalizado para lanzarlo WorkSpaces para sus usuarios.
Puedes permitir que tus usuarios usen tarjetas inteligentes en Firefox añadiendo una SecurityDevices política a tu WorkSpace imagen de Amazon Linux 2. Para obtener más información sobre cómo añadir políticas para todo el sistema a Firefox, consulta las plantillas de políticas de Mozilla
Para permitir a los usuarios utilizar tarjetas inteligentes en Firefox
-
En el archivo WorkSpace que estés usando para crear la WorkSpace imagen, crea un nuevo archivo con el nombre
policies.jsonin./usr/lib64/firefox/distribution/ -
En el archivo JSON, agrega la siguiente SecurityDevices política, donde
está el valor que quieras usar para identificar elNAME_OF_DEVICEpkcsmódulo. Por ejemplo, es posible que desee usar un valor como"OpenSC":{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "/usr/lib64/opensc-pkcs11.so" } } }
Solución de problemas: para solucionar problemas, recomendamos añadir la pkcs11-tools utilidad. Le permite realizar las siguientes acciones:
-
Enumerar cada tarjeta inteligente.
-
Enumerar los slots de cada tarjeta inteligente.
-
Enumerar los certificados de cada tarjeta inteligente.
Algunos errores comunes que pueden causar problemas:
-
Asignación incorrecta de slots a los certificados.
-
Tener varios certificados en la tarjeta inteligente que puedan coincidir con los del usuario. Los certificados se comparan según los siguientes criterios:
-
La CA raíz del certificado.
-
Los campos
<EKU>y<KU>del certificado. -
El UPN del asunto del certificado.
-
-
Tener varios certificados que incluyan
<EKU>msScLoginen su clave el uso.
En general, es mejor tener un solo certificado para la autenticación con tarjeta inteligente que esté asignado al primer slot 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. Otras herramientas que puede usar para trabajar con tarjetas inteligentes son:
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
Para habilitar el registro de depuración
Para solucionar los problemas de configuración de pam_pkcs11 y pam-krb5, puede activar el registro de depuración.
-
En el archivo
/etc/pam.d/system-auth-ac, edite la acciónauthy cambie el parámetronodebugdepam_pksc11.soadebug. -
En el archivo
/etc/pam_pkcs11/pam_pkcs11.conf, cambiedebug = false;pordebug = true;. La opcióndebugse aplica por separado a cada módulo del mapeador, por lo que puede que tenga que cambiarla directamente en la secciónpam_pkcs11y en la sección del mapeador correspondiente (de forma predeterminada,mapper generic) -
En el archivo
/etc/pam.d/system-auth-ac, edite la acciónauthy cambie el parámetrodebugodebug_sensitiveapam_krb5.so.
Una vez activado el registro de depuración, el sistema imprime los mensajes de depuración de pam_pkcs11 directamente en el terminal activo. Los mensajes de pam_krb5 se registran en /var/log/secure.
Para comprobar el nombre de usuario al que se asigna un certificado de tarjeta inteligente, utilice el siguiente comando pklogin_finder:
sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf
Cuando se le solicite, escriba el PIN de la tarjeta inteligente. pklogin_finder muestra en stdout el nombre de usuario que figura en el certificado de la tarjeta inteligente del formulario . Este nombre de usuario debe coincidir con el WorkSpace nombre de usuario.NETBIOS\username
En Active Directory Domain Services (AD DS), el nombre de dominio de NetBIOS es el nombre de dominio anterior a Windows 2000. Normalmente (pero no siempre), el nombre de dominio de NetBIOS es el subdominio del nombre de dominio del sistema de nombres de dominio (DNS). Por ejemplo, si el nombre de dominio de DNS es example.com, normalmente el dominio de NetBIOS será EXAMPLE. Si el nombre de dominio de DNS es corp.example.com, normalmente el dominio de NetBIOS será CORP.
Por ejemplo, para el usuario mmajor del dominio corp.example.com, el resultado de pklogin_finder es CORP\mmajor.
nota
Si recibe el mensaje "ERROR:pam_pkcs11.c:504: verify_certificate()
failed", significa que pam_pkcs11 ha encontrado un certificado en la tarjeta inteligente que coincide con los criterios del nombre de usuario, pero que no está vinculado a un certificado de CA raíz reconocido por la máquina. Si esto ocurre, pam_pkcs11 muestra el mensaje anterior y, a continuación, prueba con el siguiente certificado. Solo permite la autenticación si encuentra un certificado que coincide con el nombre de usuario y se vincula a un certificado de CA raíz reconocido.
Para solucionar los problemas de la configuración de pam_krb5, puede invocar kinit manualmente en el modo de depuración con el siguiente comando:
KRB5_TRACE=/dev/stdout kinit -V
Este comando debería obtener correctamente un ticket de concesión de Kerberos (TGT). Si se produce un error, intente añadir el nombre principal correcto de Kerberos de forma explícita al comando. Por ejemplo, para el usuario mmajor del dominio corp.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 deba a la asignación del WorkSpace nombre de usuario al nombre principal de Kerberos. Consulte la sección [appdefaults]/pam/mappings del archivo /etc/krb5.conf.
Si este comando no funciona, pero sí un comando kinit basado en contraseña, compruebe las configuraciones relacionadas con pkinit_ en el archivo /etc/krb5.conf. Por ejemplo, si la tarjeta inteligente contiene más de un certificado, es posible que deba realizar cambios en pkinit_cert_match.