atributos de configuración SSL

Las configuraciones SSL contienen atributos que se utilizan para controlar el comportamiento de la capa de transporte SSL del servidor en Liberty. Este tema repite todos los valores disponibles para una configuración SSL.

Característica SSL

Para habilitar SSL en un servidor, la característica SSL debe estar incluida en el archivo server.xml:

<featureManager>
  <feature>ssl-1.0</feature>
</featureManager>

Valor predeterminado de SSL

Puede tener varias configuraciones SSL configuradas. Si se configura más de una configuración SSL, se debe especificar la configuración SSL predeterminada en el archivo server.xml que utiliza la configuración del servicio sslDefault.

Tabla 1. Atributo del elemento sslDefault . En esta tabla se describe el atributo del elemento sslDefault.
Atributo Descripción Valor predeterminado
sslRef El atributo sslRef especifica el nombre de la configuración SSL que se utilizará como valor predeterminado. El nombre de configuración SSL predeterminado es defaultSSLConfig.
En el archivo server.xml, la entrada como la siguiente:
<sslDefault sslRef="mySSLSettings" />

Configuración SSL

Puede utilizar los atributos de configuración SSL para personalizar el entorno SSL de modo que se ajuste a sus necesidades. Estos atributos se pueden establecer en la configuración del servicio ssl en el archivo server.xml.

Tabla 2. Atributos del elemento SSL . En esta tabla se describen los atributos del elemento ssl.
Atributo Descripción Valor predeterminado
id El atributo id asigna un nombre exclusivo al objeto de configuración SSL. No hay ningún valor predeterminado; se debe especificar un nombre exclusivo.
keyStoreRef El atributo keyStoreRef nombra el objeto de servicio de almacén de claves que define el almacén de claves de las configuraciones SSL. El almacén de claves contiene la clave necesaria para realizar una conexión SSL. No hay ningún valor predeterminado; se debe especificar una referencia a un almacén de claves.
trustStoreRef El atributo trustStoreRef nombra el objeto de servicio de almacén de claves que define el almacén de confianza de configuraciones SSL. El almacén de confianza mantiene los certificados necesarios para la verificación de firma. trustStoreRef es un atributo opcional. Si falta la referencia, se utiliza el almacén de claves especificado por keyStoreRef.
clientAuthentication El atributo clientAuthentication determina si es necesaria la autenticación de cliente SSL. El valor predeterminado es false.
clientAuthenticationSupported El atributo clientAuthenticationSupported determina si se da soporte a la autenticación de cliente SSL. El cliente no tiene que proporcionar un certificado de cliente. Si el atributo clientAuthentication se establece en true, el valor del atributo clientAuthenticationSupported se sobrescribe. El valor predeterminado es false.
sslProtocol El atributo sslProtocol define el protocolo de reconocimiento SSL. El protocolo puede ser dependiente de SDK, por lo que si modifica el protocolo asegúrese de que el SDK en el que realiza la ejecución admite el valor. El valor predeterminado es SSL_TLSv2 para el IBM® JRE y SSL para el Oracle JRE.
securityLevel El atributo securityLevel determina el grupo de suites de cifrado que el reconocimiento SSL utilizará. El atributo tiene uno de los siguientes valores:
  • HIGH (cifrado de 128 bits o más)
  • MEDIUM (cifrado de 40 bits)
  • WEAK (para todos los cifrados sin cifrado)
  • CUSTOM (si el grupo de la suite de cifrado está personalizado).
Cuando establece el atributo enabledCiphers con una lista específica de cifrados, el sistema pasa por alto este atributo.
El valor predeterminado es HIGH.
enabledCiphers El atributo enabledCiphers se utiliza para especificar una lista exclusiva de paquetes de cifrado. Separe cada suite de cifrado de la lista con un espacio. Tenga en cuenta que si se establece el atributo enabledCiphers, se omite el atributo securityLevel. No hay valor predeterminado.
serverKeyAlias El atributo serverKeyAlias nombra la clave en el almacén de claves que se va a utilizar como clave de configuraciones SSL. Este atributo solo es necesario si el almacén de claves tiene más de una entrada de clave en él. Si el almacén de claves tiene más de una entrada de clave y este atributo no especifica una clave entonces JSSE selecciona una clave. No hay valor predeterminado.
clientKeyAlias El atributo clientKeyAlias nombra la clave en el almacén de claves que se va a utilizar como la clave de la configuración SSL cuando está habilitada clientAuthentication. El atributo solo es necesario si el almacén de claves contiene más de una entrada de clave. No hay valor predeterminado.
Nota:
  • El reconocimiento SSL utiliza el gestor de claves para determinar qué alias de certificado se va a utilizar. El gestor de claves no se configura en el archivo server.xml. Se recupera de la propiedad de seguridad ssl.KeyManagerFactory.algorithm del SDK.
  • El reconocimiento SSL utiliza el gestor de confianza para tomar decisiones de confianza. El gestor de confianza no se configura en el archivo server.xml. Se recupera de la propiedad de seguridad ssl.TrustManagerFactory.algorithm del SDK.
Este es un ejemplo de cómo se configura el elemento ssl en el archivo server.xml
<!--  Objeto de servicio de configuración ssl simple. Se da por supuesto que hay un objeto de almacén de claves denominado -->
<!--  defaultKeyStore y un objeto de almacén de confianza denominado defaultTrustStore en el archivo server.xml. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore" />


<!--  Un objeto de servicio de configuración ssl que ha habilitado clientAuthentication -->
<!--  y especifica el protocolo TLS que se va a utilizar. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore"
       clientAuthentication="true"
       sslProtocol="TLS" />

<!--  Un objeto de servicio de configuración SSL que nombra el serverKeyAlias -->
<!-- que el reconocimiento va a utilizar. Esto supone que hay un certificado -->
<!-- llamado "default" en el almacén de claves definido por keyStoreRef. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       serverKeyAlias="default" />

Configuración del almacén de claves

La configuración de keystore consta de los atributos necesarios para cargar un almacén de claves. Estos atributos se pueden establecer en la configuración del servicio de almacén de claves en el archivo server.xml.

Tabla 3. Atributos del elemento keystore. Esta tabla describe los atributos del elemento keystore.
Atributo Descripción Valor predeterminado
id El atributo id define un identificador exclusivo del objeto keystore. No hay ningún valor predeterminado, se debe especificar un nombre exclusivo.
location El atributo location especifica el nombre de archivo de almacén de claves. El valor puede incluir la vía de acceso absoluta al archivo. Si no se proporciona la vía de acceso absoluta, el código busca el archivo en el directorio ${server.output.dir}/resources/security. En SSL minimal configuration, la ubicación del archivo se supone que será ${server.output.dir}/resources/security.
type El atributo type especifica el tipo del almacén de claves. Asegúrese de que el tipo de almacén de claves que especifique lo admita el SDK en que realiza la ejecución. El valor predeterminado es jks.
password El atributo password especifica la contraseña utilizada para cargar el archivo de almacén de claves. La contraseña puede almacenarse en formato de texto simple o en formato codificado. Para obtener información sobre cómo codificar la contraseña, consulte la opción securityUtility encode. Debe proporcionarse.
provider El atributo provider especifica el proveedor que se va a utilizar para cargar el almacén de claves. Algunos tipos de almacén de claves necesitaban un proveedor distinto al predeterminado de SDK. De forma predeterminada no se especifica ningún proveedor.
fileBased El atributo fileBased especifica si el almacén de claves está basado en archivos. El valor predeterminado es true.
pollingRate Velocidad a la que el servidor comprueba si hay actualizaciones en un archivo de almacén de claves. 500ms.
updateTrigger El método que se utiliza para activar el servidor para volver a cargar un archivo de almacén de claves. Especifique polled para permitir que el servidor compruebe si hay cambios en el archivo de almacén de claves; mbean para permitir que el servidor espere que un mbean vuelva a cargar el archivo de almacén de claves; o disabled para inhabilitar la supervisión de archivos. disabled.

El servidor puede volver a cargar archivos de almacén de claves si el atributo updateTrigger se establece en polled o mbean. Si se habilita polled, el servidor supervisa el archivo de almacén de claves para buscar los cambios basándose en la tasa establecida en el atributo pollingRate. Si el atributo updateTrigger se establece en mbean, el servidor se volverá a cargar el archivo de almacén de claves cuando reciba notificación del MBean WebSphere:service=com.ibm.ws.kernel.filemonitor.FileNotificationMBean. La supervisión de archivos está inhabilitada de forma predeterminada.

Este es un ejemplo de cómo se configura el elemento keystore en el archivo server.xml:
<!-- Un objeto de almacén de claves denominado defaultKeyStore que proporciona una ubicación, -->
<!-- un tipo y una contraseña. Se supone que MyKeyStoreFile.jks -->
<!-- que se encontrará en ${server.output.dir}/resources/security -->
<!-- Este almacén de claves esta configurado para supervisarse cada 5 segundos -->
<!-- en busca de actualizaciones -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           pollingRate="5s" 
           updateTrigger="polled" />

<!-- Un objeto de almacén de claves denominado defaultKeyStore que proporciona una ubicación, -->
<!-- un tipo y una contraseña. Se supone que MyKeyStoreFile.jks -->
<!-- que se encontrará en ${server.output.dir}/resources/security -->
<!-- Este almacén de claves esta configurado para volver a cargarse cuando el servidor -->
<!-- reciba una notificación del mbean para hacerlo -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           updateTrigger="mbean" />

Si no establece el directorio server.output.dir, el directorio server.output.dir es el mismo que el directorio server.config.dir.

Ejemplo de configuración SSL completa

A continuación se muestra un ejemplo de una configuración SSL completa en el archivo server.xml. Este ejemplo tiene las siguientes configuraciones SSL:
  • defaultSSLSettings
  • mySSLSettings
De forma predeterminada, la configuración SSL se establece en defaultSSLConfig.
<featureManager>
  <feature>ssl-1.0</feature>
</featureManager>


<!-- La configuración SSL predeterminada es defaultSSLSettings ->
  <sslDefault sslRef="defaultSSLSettings" />
  <ssl id="defaultSSLSettings"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore"
       clientAuthenticationSupported="true" />
  <keyStore id="defaultKeyStore"
            location="key.jks"
            type="JKS" password="defaultPWD" />
  <keyStore id="defaultTrustStore"
            location="trust.jks"
            type="JKS" password="defaultPWD" />

  <ssl id="mySSLSettings" 
       keyStoreRef="myKeyStore" 
       trustStoreRef="myTrustStore" 
       clientAuthentication="true" />
  <keyStore id="LDAPKeyStore" 
            location="${server.config.dir}/myKey.p12" 
            type="PKCS12" 
            password="{xor}CDo9Hgw=" />
  <keyStore id="LDAPTrustStore" 
            location="${server.config.dir}/myTrust.p12" 
            type="PKCS12" 
            password="{xor}CDo9Hgw=" />  

Icono que indica el tipo de tema Tema de referencia

Nombre de archivo: rwlp_ssl.html