El estándar 800-131 del NIST (National Institute of Standards and Technology)
Special Publications refuerza los algoritmos y aumenta las longitudes de las claves
para mejorar la seguridad. El estándar también proporciona un período de transición para
adoptar el nuevo estándar. Puede configurar
WebSphere Application Server para que utilice
la modalidad de transición del estándar SP800-131.
Acerca de esta tarea
El período de transición permite que un usuario ejecute los sistemas en un
entorno mixto de valores no admitidos en el estándar junto con los valores admitidos. El
estándar NIST SP800-131 requiere que los usuarios configuren el entorno para aplicación
estricta del estándar en un marco de tiempo específico. Consulte el sitio
web de
The
National Institute of Standards and Technology para obtener más detalles.
Las opciones
de transición pueden resultar muy útiles al intentar obtener el estándar SP800-131
strict. Los servidores pueden aceptar una combinación de valores
antiguos y de requisitos nuevos. Por
ejemplo, pueden convertir certificados, pero seguir utilizando el protocolo TLS.
WebSphere Application Server se puede
configurar para ejecutar SP800-131 en una modalidad transition
(transición) o en una modalidad strict (estricta). Para obtener
información sobre cómo configurar la modalidad estricta, lea el tema Configuración del
estándar de seguridad SP800-131 en modalidad estricta en
WebSphere Application Server.
Para
ejecutar en la modalidad de transición SP800-131, el servidor debe tener un valor de
configuración específico también. Se pueden incluir otros requisitos estrictos como se
prefiera.
- La propiedad del sistema com.ibm.jsse2.sp800-131 debe establecerse en
transition para que JSSE se ejecute en la modalidad de transición.
- Los protocolos de configuración SSL deben ser uno de los valores de TLS. Los valores
válidos son TLS, TLSv1, TLSv1.1 y TLSv1.2.
- Pulse .
- Seleccione el botón de selección Habilitar SP800-131.
- Seleccione el botón de selección Transición.
- Puede cambiar los protocolos en la configuración SSL a TLSv1.2; para ello,
puede seleccionar el recuadro Actualizar configuraciones SSL para exigir TLSv1.2.
Si no selecciona este recuadro, todas las configuraciones SSL se establecen en TLS.
- Pulse Aplicar/Guardar.
- Reinicie los servidores. Si el servidor está habilitad con Dynamic SSL Updating, edite el archivo ssl.client.props y cambie la propiedad com.ibm.ssl.protocol para poder tener el mismo protocolo con el que se ha configurado el servidor antes de reiniciar el servidor.
Cuando se apliquen estos
cambios, y se reinicie el servidor, todos los valores de la configuración SSL del
servidor se modificarán para utilizar el protocolo TLS o TLSv1.2, y la propiedad del
sistema com.ibm.jsse2.sp800-131 se establece en transition.
La configuración SSL utiliza los cifrados SSL adecuados al estándar.
Para poder
pasar al certificado en modalidad estricta, el protocolo de la configuración debe cumplir
los requisitos estrictos.
Para ir directamente a la configuración SSL y
establecer los protocolos en TLSv1.2, realice lo siguiente:
- Pulse .
- Seleccione una configuración SSL en el panel de colección.
- En Elementos relacionados, seleccione Calidad de protección (QoP).
- Seleccione TLSv1.2 en el recuadro desplegable Protocolo.
- Pulse Aplicar/Guardar. Para cambiar el protocolo SSL
mediante scripts, también se puede utilizar la tarea modifySSLConfig.
Los certificados
deben tener un tamaño mínimo de 2048 (244 si es un certificado Elliptical Curve) y
firmarse con SHA256, SHA384 o SHA512. Puede crear certificados nuevos en la consola y
sustituir el antiguo o importar certificados que cumpla los requisitos del estándar.
Para sustituir certificados dispone de diversas opciones.
- Utilice el panel Convertir certificados. Este panel convierte todos los certificados
de modo que cumplan el estándar especificado.
- Pulse .
Nota: Si hay algún certificado en el recuadro Certificados que no se pueden convertir,
un certificado no se puede convertir utilizando esta opción.
- Seleccione el botón de selección Estricto y elija el algoritmo de firma que va
a utilizar al crear los nuevos certificados en el recuadro desplegable.
- Seleccione el tamaño del certificado en el recuadro desplegable Nuevo tamaño de
clave de certificado. Tenga en cuenta que los algoritmos de firma Elliptical Curve
requieren un tamaño específico, por lo que no hay necesidad de proporcionar un tamaño.
- Pulse Aplicar/Guardar.
La tarea de scripts convertCertForSecurityStandard también se puede utilizar para convertir todos los certificados de modo que cumplan un estándar especificado.
- Utilice los paneles de certificados personales para crear nuevos certificados y
sustituir un certificado que no cumpla los requisitos; para ello, realice lo siguiente:
- Pulse .
- Seleccione un almacén de claves en el panel de colección.
- Seleccione Certificado personal.
- En la lista desplegable del botón Crear, seleccione Certificado autofirmado.
- Especifique un alias para el certificado. Seleccione un algoritmo de firma para el
certificado firmado con SHA256, SHA384 o SHA512. Elija un tamaño que sea 2048 o superior.
Tenga en cuenta que los algoritmos de firma Elliptical Curve requieren un tamaño
específico, por lo que no hay necesidad de especificar un tamaño.
- Pulse Aplicar/Guardar.
- Vuelva al panel de colección Certificado personal y seleccione el certificado
que no cumpla el estándar. Pulse Sustituir.
- En el panel Sustituir, seleccione el certificado creado que cumple el estándar en la
lista desplegable en el recuadro Sustituir por.
- Seleccione las casillas Suprimir certificado antiguo después de sustitución y
Suprimir firmantes antiguos.
- Pulse Aplicar/Guardar.
Nota: Para sustituir certificados encadenados, deberá crearse un certificado raíz
que cumpla el estándar. Siga el anterior en el
certificado raíz en defaultRootStore, y cree un certificado encadenado con dicho
certificado raíz nuevo.
La tarea de scripts createSelfSigneCertificate también se puede utilizar para crear un certificado autofirmado. La tarea de scripts replaceCertificate también se puede utilizar para sustituir el nuevo certificado por el anterior.
- Utilice los paneles de certificados personales para importar certificados y sustituir
el certificado que no cumpla los requisitos. Algunos certificados provienen de orígenes
externos como una autoridad certificadora (CA).
- Pulse .
- Seleccione un almacén de claves en el panel de colección.
- Seleccione Certificado personal.
- Seleccione Importar certificado.
- Especifique la información necesaria para acceder al certificado en un archivo de almacén de claves existente.
- Pulse Aplicar/Guardar.
- Vuelva al panel de colección Certificado personal y seleccione el certificado
que no cumpla el estándar. Pulse el botón Sustituir.
- En el panel Sustituir, seleccione el certificado creado que cumple el estándar en la
lista desplegable en el recuadro Sustituir por. Seleccione las casillas
Suprimir certificado antiguo después de sustitución y Suprimir firmantes
antiguos.
- Pulse Aplicar/Guardar.
La tarea de scripts importCertificate también se puede utilizar para importar un certificado. La tarea de scripts replaceCertificate también se puede utilizar para sustituir el nuevo certificado por el anterior.
- Para habilitar SP800-131 estricto, pulse .
- Pulse Habilitar SP800-131.
- Pulse Estricto.
- Pulse Aplicar/Guardar.
- Reinicie los servidores y sincronice manualmente los nodos para que los
cambios entren en vigor. Para sincronizar manualmente los nodos es posible que tenga que modificar el archivo ssl.client.props de cada nodo para coincidir con el protocolo del gestor de despliegues. Edite el archivo ssl.client.props de cada nodo y cambie la propiedad com.ibm.ssl.protocol para coincidir con el protocolo del gestor de despliegues de manera que el nodo de sincronización manual pueda tener lugar.
- Configure el archivo client ssl.client.props para que coincida con el estándar de seguridad en el que se está ejecutando: modalidad estricta o modalidad de transición.
Edite el archivo
ssl.client.props de la manera
siguiente:
- Modifique la propiedad com.ibm.security.useFIPS para que se establezca en true.
- Añada la propiedad com.ibm.websphere.security.FIPSLevel justo después de la propiedad useFips. Establezca la propiedad en SP800-131 si la modalidad estricta está habilitada y en transición si la modalidad de transición está habilitado.
- Cambie la propiedad com.ibm.ssl.protocol a TLSv1.2 si la modalidad estricta está habilitada. Si la modalidad de transición está habilitada, asegúrese de que la propiedad coincida con el valor de protocolo de servidor.
- Reinicie los servidores y sincronice manualmente los nodos.
Los cambios entrarán en vigor una vez sincronizados los nodos.
Si está ejecutando en un entorno de clúster:
- Asegúrese de que la consola administrativa esté cerrada.
- Asegúrese de que no haya máquinas virtuales Java (JVM) en ejecución en el
servidor:
- Detenga todos los servidores.
- Detenga el agente de nodo.
- Detenga el gestor de despliegue.
- Borre todo el contenido de las carpetas temporales.
<raíz_perfil>/wstemp/
<raíz_perfil>/temp/
<raíz_perfil>/config/temp/
<raíz_perfil>/logs/dmgr/
<raíz_perfil>/servers/nodeagent/configuration/
<raíz_perfil>/servers/<nombre_servidor>/configuration/
- Inicialice la configuración OSGI ejecutando osgiCfgInit.
raíz_perfil_was/profile/bin/osgiCfgInit.bat
Profile es el perfil dmgr01/bin.
- Borre la memoria caché de clase de OSGI ejecutando clearClassCache.
raíz_perfil_was/nombre_perfil/bin/clearClassCache.bat
donde nombre_perfil es el perfil dmgr01/bin.
- Inicie el gestor de despliegue.
- Sincronice manualmente los nodos.
- Inicie la herramienta wsadmin, si todavía no está en ejecución.
- Desde dir_inicio_was/profiles/nombre_perfil/bin,
emita el mandato syncNode siguiente.
syncNodehost_dmgr
puerto_dmgr
donde nombre_perfil es el perfil dmgr01/bin.
Si la seguridad está habilitada, incluya los
parámetros -username y -password cuando emita este mandato:
syncNode
host_dmgr puerto_dmgr -username
nombre_usuario -password contraseña
- Inicie el agente de nodo.
- Inicie todos los demás servidores.
Qué hacer a continuación
El navegador utilizado para acceder a la consola administrativa o una aplicación
debe utilizar un protocolo que sea compatible con el servidor. Si el servidor se está
ejecutando en una modalidad de transición, el navegador se debe establecer de modo que
utilice el protocolo que coincida con el servidor. El estándar SP800-131 requiere que la
conexión SSL utilice el protocolo TLSv1.2, de modo que el navegador debe dar soporte a
TLSv1.2 y utilizarlo para acceder a la consola administrativa.