Autenticación de certificados de cliente SSL (Secure Sockets Layer)
El software de cliente que desea establecer una conexión segura a un servidor utilizando el protocolo SSL (Secure Socket Layer) se inicia utilizando el protocolo SSL o el protocolo mejorado denominado TLS (Transport Layer Security) para realizar un reconocimiento SSL con certificados SSL. Un certificado personal puede representar al servidor o puede representar a un cliente determinado, y lo firma una autoridad de certificación (CA) para asegurarse de que el certificado personal está correctamente identificado.
SSL garantiza que el administrador tiene el certificado de firmante CA disponible que se utiliza para firmar el certificado personal, y que se almacena tanto en el almacén de confianza del servidor como del cliente. La autenticación de certificados de cliente SSL se lleva a cabo durante el reconocimiento de la conexión mediante certificados SSL.
- El lado del servidor debe determinar si se va a realizar la autenticación de cliente. La autenticación de cliente debe habilitarse en la configuración de SSL del servidor y la configuración de CSIv2 (Common Secure Interoperability versión 2) si se utiliza IIOP (Inter-ORB Protocol).
- La configuración de CSIv2 debe tener lugar en la seguridad global, no en un dominio de seguridad.
- El certificado de firmante del cliente debe extraerse del almacén de claves del cliente y añadirse al almacén de confianza del servidor.
- El certificado de firmante del servidor se debe extraer del almacén de claves del servidor y añadirse al almacén de confianza del cliente.
Configuración de un servidor WebSphere para la autenticación de cliente
La autenticación de certificado de cliente se produce si el lado del servidor solicita que el lado del cliente envíe un certificado. Un servidor Websphere se puede configurar para la autenticación de certificados de cliente en la configuración SSL. Sin embargo, si la autenticación de cliente es necesaria para IIOP, debe configurarse en la configuración de CSIv2.
- Pulse .
- Seleccione una configuración SSL.
- En Propiedades adicionales, pulse Valores QoP (calidad de protección).
- En Autenticación de Cliente, seleccione Necesario.
- Pulse Aceptar para guardar los cambios.
- Pulse .
- En seguridad RMI/IIOP, seleccione Comunicaciones de entrada CSIv2.
- En la sección Capa de transporte CSIv2, y en Autenticación de certificado de cliente, seleccione Necesario.
- Pulse Aceptar para guardar los cambios.
Si el lado del cliente está configurado para la autenticación de clientes, el certificado de firmante del cliente debe añadirse al almacén de confianza del servidor. Si tiene un certificado del cliente en un archivo de certificado, se puede añadir al almacén de confianza del servidor.
- Pulse .
- Seleccione el almacén de confianza que está configurado para la autenticación de cliente.
- En Propiedades Adicionales, seleccione Certificados de firmante.
- Pulse Añadir.
- En el campo Alias, escriba un nombre de alias con el que se almacenará el certificado.
- En el recuadro Nombre de archivo, especifique la vía de acceso completa del archivo de certificado.
- Pulse Aceptar para guardar los cambios.
Configuración del lado del cliente para la autenticación de cliente
Clientes:
Los clientes administrativos, los clientes ligeros o los clientes puros deben tener un certificado personal en sus almacenes de claves. El almacén de claves predeterminado del cliente WebSphere que se crea cuando se instala WebSphere Application Server ya contiene un certificado personal. Este almacén de claves se puede encontrar en el archivo ssl.client.props en la propiedad com.ibm.ssl.keyStore. Los almacenes de claves de cliente no están gestionados por WebSphere Application Server, por lo que el programa de utilidad de gestión de claves (iKeyman) o el programa de utilidad keytool de Java™ se puede utilizar para extraer el certificado en un archivo de certificado.
- Inicie iKeyman.
- Seleccione .
- Especifique la vía de acceso al archivo del almacén de claves. Puede obtenerla desde el archivo ssl.client.props .
- Pulse Aceptar .
- Especifique la contraseña del almacén de claves y pulse ACEPTAR
- En Certificados personales, seleccione el certificado predeterminado de cliente.
- Especifique una vía de acceso y un nombre de archivo para el archivo de certificado y pulse ACEPTAR.
El archivo que contiene el certificado extraído se puede utilizar para añadir el firmante al almacén de confianza del servidor. Siga los pasos de la sección "Configuración de un servidor WebSphere para la autenticación de cliente" para añadir dicho firmante al almacén de confianza del servidor.
- Habilitar SSL:
com.ibm.CSI.performTransportAssocSSLTLSSupported=true com.ibm.CSI.performTransportAssocSSLTLSRequired=false
- Inhabilitar la autenticación de cliente en la capa de mensajes:
com.ibm.CSI.performClientAuthenticationRequired=false com.ibm.CSI.performClientAuthenticationSupported=false
- Habilitar la autenticación de cliente en la capa de transporte (esto esta soportado, pero no es necesario):
com.ibm.CSI.performTLClientAuthenticationRequired=false com.ibm.CSI.performTLClientAuthenticationSupported=true
Los clientes ligeros y los clientes puros no pueden utilizar el archivo de propiedades SSL de WebSphere Application Server, ssl.client.props. Es más probable que utilicen las propiedades del sistema Java para establecer el almacén de claves y el almacén de confianza del cliente. El certificado de firmante del servidor debe añadirse al almacén de confianza que se especifica con la propiedad del sistema java.net.ssl.trustStore. Keytool o iKeyman se pueden utilizar para añadir el certificado de firmante. El firmante debe extraerse del certificado personal en el almacén de claves especificado por la propiedad del sistema javax.net.ssl.keyStore y añadirse al almacén de confianza del servidor.
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.keyStoreType
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
javax.net.ssl.trustStoreType
Servidor actuando como cliente:
El cliente puede ser un servidor WebSphere que actúa como cliente. En tal caso, determine la configuración SSL que se está utilizando como lado del cliente de la comunicación, extraiga el firmante del certificado y añádalo al almacén de confianza del lado del servidor. Se recomienda utilizar el firmante del certificado raíz.
- Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
- En el desplegable Usos de almacén de claves, seleccione Almacén de claves de certificado raíz.
- Seleccione DmgrDefaultRootStore (para un servidor de despliegue de red) o NodeDefaultRootStore (para un servidor de aplicaciones).
- En Propiedades adicionales, seleccione Certificados personales.
- Seleccione el certificado raíz predeterminado (normalmente denominado root) y, a continuación, pulse Extraer.
- En el recuadro Nombre de archivo de certificado, especifique una vía de acceso completa al archivo que contenga el certificado.
- Pulse Aceptar para guardar.
El archivo de certificado creado se puede llevar al lado del servidor y añadirse al almacén de confianza del servidor.
Cuando un servidor actúa como cliente, el servidor del lado del cliente requiere el firmante del servidor de destino. El firmante se puede recuperar utilizando la opción Recuperar de puerto del certificado de firmante.
- Pulse .
- Seleccione el almacén de confianza del servidor de la colección.
- En Propiedades Adicionales, seleccione Certificados de firmante.
- Pulse Recuperar de puerto.
- Especifique un nombre de host de destino y un nombre de puerto de destino.
- Especifique un nombre de alias para el certificado.
- Pulse Recuperar información de firmante.
- Pulse Aceptar para guardar.
También puede utilizar el mandato retrieveSignerFromPort para recuperar el firmante del puerto. Lea en el grupo de mandatos SignerCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.
Configuración de un navegador para la autenticación de cliente:
Cuando se configura WebSphere Application Server para la autenticación de certificados de cliente y se intenta acceder al servidor desde un navegador, el navegador debe tener un certificado para la autenticación de certificados de cliente. Si la configuración SSL predeterminada del servidor se ha modificado para habilitar la autenticación de certificados de cliente, no podrá iniciar una sesión en la consola administrativa.
Puede crear un certificado para el navegador utilizando la consola administrativa. Primero debe crear un almacén de claves y, a continuación, crear un certificado encadenado. Una vez que se haya creado el certificado, utilice las instrucciones del navegador para importar un certificado. Los navegadores requieren que se añadan todas las partes de la cadena para verificar el certificado, por lo que se debe extraer el certificado raíz y añadirlo al navegador. Siga las instrucciones de la sección "Configuración del lado del cliente para la autenticación de cliente" para obtener información sobre cómo extraer el certificado raíz.
- Pulse .
- Pulse Nuevo.
- Especifique un nombre para el almacén de claves.
- Especifique la vía de acceso completa al archivo del almacén de claves.
- Especifique una contraseña para el almacén de claves y, a continuación, confírmela.
- Pulse Aceptar para guardar.
- Pulse .
- Seleccione el almacén de claves que ha creado anteriormente.
- En Propiedades adicionales, pulse Certificados personales.
- En la lista desplegable debajo del botón Crear, seleccione Certificado encadenado.
- Especifique un nombre de alias para el certificado.
- Proporcione un nombre común para el certificado. El nombre es la parte "CN=" del DN de sujeto.
- Puede especificar información en cualquiera de los campos restantes para crear el DN del sujeto del certificado encadenado.
- Pulse Aceptar para guardar.
También puede utilizar el mandato createKeyStore para crear un almacén de claves. Lea en el grupo de mandatos KeyStoreCommands el objeto AdminTask para obtener más información sobre este mandato.
También puede utilizar el mandato createChainedCertificate para crear un certificado encadenado. Lea en el grupo de mandatos PersonalCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.
Autenticación de certificado de cliente
La autenticación básica de certificado se puede realizar en módulos web Java 2 Platform, Enterprise Edition (J2EE) cuando el módulo está configurado para la autenticación de certificados de cliente. Esto permite que un usuario inicie sesión en un módulo web utilizando un certificado para la autenticación, y correlacionar ese certificado con un usuario del registro.
La habilitación de la autenticación de certificados web requiere que la configuración SSL del servidor esté configurada para la autenticación de certificados del cliente en el servidor en el que está instalado el módulo.
El lado del servidor determina que la autenticación de cliente se va a llevar a cabo. Consulte la sección "Configuración de un servidor WebSphere para la autenticación de cliente" para obtener información sobre cómo configurar la autenticación de cliente. El lado del cliente debe tener el firmante del servidor para añadir al almacén de confianza del cliente. Consulte la sección "Configuración del lado del cliente para la autenticación de cliente" para obtener más información.
El archivo web.xml del módulo web debe tener el método de autenticación establecido en CLIENT-AUTH en la sección de configuración de inicio de sesión del archivo web.xml:
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
El certificado debe correlacionarse con un usuario del registro o no podrá iniciar sesión en dicho módulo web.
Para los registros de usuarios localOS, el valor de CN del DN de sujeto de certificado se debe correlacionar con un usuario del registro de usuarios del sistema operativo local. Por ejemplo, si el nombre distinguido de sujeto es CN=tester, o= ibm,c = us, entonces tester será el usuario del cual se ha realizado una búsqueda en el registro de usuarios local. Si ese usuario no existe en el registro local, la autenticación falla.
El registro de usuarios de LDAP (Lightweight Directory Access Protocol) proporciona más opciones para la correlación de certificados con una identidad de usuario. La modalidad de correlación de certificados predeterminada en LDAP se utiliza para una coincidencia exacta de nombre distinguido la entrada en el registro LDAP y el nombre distinguido de sujeto en el certificado. Por ejemplo, si el nombre distinguido del certificado es CN=user1, o= ibm,c = us, deberá haber una entrada en el registro LDAP con dicho valor exacto. El registro de usuarios LDAP también tiene una opción de filtro de certificados que puede proporcionar una coincidencia con una parte concreta del nombre distinguido de sujeto de certificado con entradas en el repositorio LDAP. Para obtener más detalles sobre la correlación de certificados LDAP, lea "Valores de la Configuración del repositorio LDAP (Lightweight Directory Access Protocol)".
En una configuración de repositorios federados, de forma predeterminada, el inicio de sesión de certificados de cliente no recibe soporte para el repositorio basado en archivos. Para habilitar el soporte para la correlación de certificados en el repositorio basado en archivos, siga el procedimiento en el tema sobre cómo habilitar el soporte de inicio de sesión de certificado cliente en un repositorio basado en archivos de repositorios federados.
El registro LDAP del repositorio federado da soporte a la correlación de certificados. Utiliza las mismas reglas y propiedades de correlación que el registro de usuarios LDAP utiliza.
El registro de usuarios personalizado puede correlacionar certificados con un usuario si el registro personalizado ha implementado el método mapCertificate().