Supervisión de caducidad de certificados en SSL

Los certificados SSL son importante para un servidor si desea conservar la seguridad de los datos que se traspasan entre servidores. El uso de los certificados SSL conlleva la responsabilidad de tenerlos actualizados. La tarea administrativa del supervisor de caducidad del certificado es una tarea planificada que efectúa un ciclo por todos los almacenes de claves de la configuración de seguridad e informes sobre los certificados que han caducado, los certificados que caducan dentro de un determinado umbral y los certificados que están dentro del periodo de notificación previa.

Importante: El supervisor de caducidad de certificados cubre los almacenes de claves bajo la configuración del servidor. No se supervisa un almacén de claves de cliente como, por ejemplo, (profile)/etc/key.p12.
Configuración del supervisor de certificados
Los valores de configuración del supervisor de certificados se pueden configurar en la consola administrativa seleccionando Seguridad > Gestión de claves y certificados SSL > Gestionar caducidad de certificado.. En el panel Gestionar caducidad de certificados, puede llevar a cabo las funciones siguientes.
  • Habilitar o inhabilitar la comprobación del supervisor de certificados en el recuadro de selección Habilitar comprobación. La comprobación del supervisor de certificados está habilitada de forma predeterminada.
  • Establecer el umbral de caducidad en el recuadro etiquetado Umbral de caducidad de sustitución. El umbral de caducidad de sustitución es el número de días antes la caducidad de un certificado en que se puede sustituir un certificado y tiene el valor predeterminado de 60 días.
  • Establecer el umbral de notificación previa en el recuadro etiquetado Umbral de notificación previa de certificados. El umbral de notificación previa de certificados es el número de días antes del umbral de caducidad en que el supervisor de certificados informa de la fecha a partir de la cual puede empezar a sustituirse un certificado.
  • Sustituir certificados caducados o certificados en el umbral de caducidad por un certificado nuevo si se ha seleccionado el recuadro Sustituir automáticamente los certificados autofirmados y encadenados que caducan. Este recuadro está seleccionado de forma predeterminada. Si esta opción no está seleccionada, el supervisor de caducidad de certificados sólo informa de que un certificado ha caducado o que se halla dentro del umbral de caducidad y no sustituye el certificado.
  • Suprimir los certificados después de que se sustituyen seleccionando el recuadro Suprimir los certificados y los firmantes caducados después de la sustitución. Este recuadro está seleccionado de forma predeterminada.
  • La planificación en que se ejecuta el supervisor de caducidad de certificados se pueden establecerse en el campo Comprobación de caducidad. Como valor predeterminado, el supervisor se establece para que se ejecute el domingo de cada cuatro semanas a las 21:30.
  • La forma de recibir el informe del supervisor de certificados se puede establecerse en el campo Notificación de comprobación de caducidad. Como valor predeterminado, el informe se graba en el registro de salida del sistema.
El siguiente objeto de configuración security.xml especifica cuándo se inicia la tarea del supervisor, determina el umbral de caducidad de certificados e indica si se le notificará en un correo electrónico mediante SMTP (Simple Mail Transfer Protocol) o en un registro de mensajes. El registro previo a la notificación se establece en una propiedad personalizada.
<wsCertificateExpirationMonitor xmi:id="WSCertificateExpirationMonitor_1"
name="Certificate Expiration Monitor" daysBeforeNotification="30"
isEnabled="true" autoReplace="true" deleteOld="true"
wsNotification="WSNotification_1" wsSchedule="WSSchedule_2"
nextStartDate="1134358204849"/>
El periodo previo a la notificación se establece mediante una propiedad personalizada en el archivo security.xml.
<properties xmi:id="Property_1422758742456"
name="com.ibm.ws.security.expirationMonitorNotificationPeriod" value="90"/>
El siguiente ejemplo de objeto planificado muestra el objeto de planificación muestra el atributo de frecuencia en forma del número de días entre cada ejecución del supervisor de certificados.
<wsSchedules xmi:id="WSSchedule_2" name="ExpirationMonitorSchedule" 
frequency="30" dayOfWeek="1" hour="21" minute="30"/>

El atributo dayOfWeek ajusta la planificación para que se ejecute en un determinado día de la semana, que siempre es el mismo día, independientemente de si la frecuencia se establece en 30 o 31 días. Basándose en un reloj de 24 horas, los atributos para la hora y los minutos determinan cuándo se inicia el supervisor de caducidad en el día especificado.

El siguiente código de ejemplo del objeto de notificación muestra la configuración de notificación, que le envía las notificaciones después de que se ejecute el supervisor de caducidad.
<>wsNotifications xmi:id="WSNotification_1" name="MessageLog" logToSystemOut="true" emailList=""/

Para las notificaciones del supervisor de caducidad, puede seleccionar el registro cronológico de mensajes, los correos electrónicos mediante el servidor SMTP o ambos métodos de notificación. Cuando configure la opción de correo electrónico, utilice el formato usuario@dominio@servidorsmtp. Si no especifica un servidor SMTP, WebSphere® Application Server toma de forma predeterminada el mismo dominio que la dirección de correo electrónico. Por ejemplo, si configura joeuser@ibm.com, WebSphere Application Server intenta llamar a smtp-server.ibm.com. Para especificar varias direcciones de correo electrónico mediante scripts, debe añadir un carácter de barra vertical (|) entre las entradas. Cuando se especifica el atributo logToSystemOut, los resultados del supervisor de caducidad se envían a las registro de mensajes del entorno, que generalmente es el archivo SystemOut.log.

Las funciones siguientes se pueden realizar mediante el supervisor de caducidad de certificados
  1. Limpiar NodeDefaultDeletedStore o DmgrDefaultDeletedStore. Esta operación se lleva a cabo de forma silenciosa sin notificar que los certificados se han suprimido.
  2. Comprobar los almacenes de claves de raíz, DmgrDefaultRootStore o NodeDefaultRootStore y DmgrRSATokenRootStore o NodeRSATokenRootStore. Si alguno de los certificados raíz han caducado, se incluirán en el periodo del umbral o en el periodo de notificación previa y, a continuación, se dejará constancia del certificado en cuestión en el informe.
  3. Todos los certificados raíz que han caducado o están dentro del periodo del umbral se vuelven a crear utilizando la misma información que se utiliza para crear el original. Todos los certificados de firmante del certificado raíz original se sustituirán por los firmantes del nuevo certificado raíz.
  4. Si se sustituye un certificado raíz, se comprobarán todos los almacenes de claves para ver hay certificados encadenados firmado con el certificado raíz original. En caso afirmativo, se renovará el certificado encadenado (se volverá a crear con el nuevo certificado raíz). Cualquier certificado de firmante del certificado original se sustituirá con el firmante del certificado que se ha vuelto a crear.
  5. Una vez se han procesado todos los almacenes de claves raíz, se comprobarán los demás almacenes de claves para ver si existen certificados caducados, certificados en el umbral de caducidad o certificados en el periodo de notificación previa. Cualquier certificado incluido en una de estas categorías se notificará en el informe.
  6. Si hay certificados caducados o certificados en el periodo de umbral de caducidad y estos certificados son certificados autofirmados o certificados encadenados creados por WebSphere, se sustituyen. Si la raíz de certificados encadenados no se halla en el almacén de claves raíz, se vuelve a crear como certificado raíz predeterminado. Todos los certificados de firmante del certificado original serán sustituidos por el firmante del nuevo certificado."
  7. En función de los valores de configuración, se genera y se devuelve un informe, se graba en un archivo de registro o se envía por correo.
El tipo de certificados sustituido

El supervisor de caducidad sustituye los certificados autofirmados y los certificados encadenados firmados por un certificado raíz en DmgrDefaultRootStore o NodeDefaultRootStore. Los certificados autofirmados se renuevan utilizando toda la información utilizada para crear el certificado autofirmado original. Un certificado encadenado se renueva mediante el mismo certificado raíz utilizado para firmar el certificado original. Los certificados creados por una entidad emisora de certificados (CA) no los puede sustituir el supervisor de certificados, lo debe hacer el administrador.

Los certificados de firmante son la parte pública de un certificado personal. Por lo que no se crean en por sí mismos sino que se extraen de un certificado personal. Si el supervisor de certificados sustituye un certificado personal, comprueba todos los almacenes de claves para ver si hay algún certificado de firmante extraído del certificado personal caducado y lo sustituye por un certificado de firmante extraído del certificado personal recién creado. Si se añade un certificado de firmante en un almacén de claves a partir de un archivo de certificados o si se añade utilizando la opción Recuperar de puerto, es probable que se sustituya. Si ha caducado o si se halla en el umbral de caducidad, entonces se avisa a los usuarios de que el certificado de firmante no se ha sustituido. Suprima y sustituya el certificado por uno válido.

El informe de caducidad de certificados

Cuando se ejecuta la supervisión de caducidad de certificados, se genera un informe que indica lo que se ha hecho. Este informe se graba en el archivo SystemOut.log de forma predeterminada. Los usuarios pueden configurarlo para que se les envíe el informe de certificados por correo electrónico. Si un usuario ejecuta el supervisor de caducidad de certificados desde el mandato wsadmin AdminTask startCertificateExpMonitor, se devuelve el informe al usuario así como la ubicación en la que el valor Notificación de caducidad de certificados indica que se debe enviar el informe.

Si se ejecuta el supervisor de certificados y no hay ningún certificado caducado del que informar de la salida, se devuelve un mensaje informativo que indica que los certificados se han comprobado y no se han hallado problemas de caducidad. Por ejemplo:
**** Subject:  Expiration Monitor ****;

Hostname: myHost
Profile UUID:AppSrv01-BASE-8da8e11e-70c6-451f-862b-8a08e408110b
Process type: UnManagedProcess
Checking for expired certificate and certificates in the 60 days threshold period.
CWPKI0735I: All certificates were searched and no expiration issues were found.

El supervisor de caducidad de certificados muestra información sobre los certificados en secciones. La sección de notificación previa, la sección de certificados caducados, la sección de certificados sustituidos y la sección de certificados que no se pueden sustituir. Los certificados del informe se identifican según si son un certificado personal o un certificado de firmante, según el nombre de alias y el almacén de claves donde se halla el certificado.

En la sección de notificación previa se listan todos los certificados del umbral de notificación previa. Sirve como periodo de aviso para indicar a los usuarios en qué fecha se sustituirá un certificado si el supervisor de caducidad de certificados se ejecuta en esa fecha o pasada esa fecha. La sección también proporciona un aviso sobre el motivo por el cual los usuarios deben preocuparse de la próxima sustitución de certificados. Si no hay certificados en el periodo de notificación previa, no forman parte del informe. Por ejemplo:
*** CERTIFICADOS DENTRO DE LOS 90 DÍAS DEL UMBRAL DE CADUCIDAD DE CERTIFICADOS (SE PUEDEN SUSTITUIR DENTRO DE LOS 90 DÍAS)  ***;

CWPKI0714I: El supervisor de caducidad de certificados se ha ejecutado recientemente y ha detectado que los certificados, que se listan en los mensajes asociados, se sustituirán dentro de los próximos 90 días. Esta sustitución se basa en la política configurada
para sustituir automáticamente 60 días antes de la caducidad aquellos certificados firmados automáticamente que caducan. Esta notificación le informa de que pueden surgir problemas cuando los certificados se sustituyan automáticamente.

CWPKI0715I: En algunos casos, la sustitución automática de certificados puede suponer problemas en el suministro para los plugins del servidor Web que funcionan en nodos sin gestionar. En este caso, el plug-in no podrá contactar con los servidores de aplicaciones a través de HTTPS
puesto que se utilizarán firmantes para los certificados que han sido sustituidos por el proceso de sustitución automático.  Para evitar lo que podría ser una interrupción grave, debe actuar antes de la fecha de sustitución planificada y sustituir los certificados caducados y actualizar el plug-in kdb
para que se utilicen los firmantes nuevos.

CWPKI0719I: El certificado personal testcert1 del almacén de claves "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" se prevé que caduque el 10 de mayo de 2015 y se podría sustituir después de la fecha de umbral del 11 de mayo de 2015.
La sección de certificados caducados identifica los certificados caducados o los certificados que se hallan en el umbral de caducidad. Si el certificado se halla en el umbral de caducidad, se informa de cuándo caduca el certificado. Por ejemplo:
*** CERTIFICADOS CADUCADOS O EN EL UMBRAL DE CADUCIDAD ***;

CWPKI0642I: El alias del certificado de firmante "oldcert" del almacén de claves "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" caducará el 19 de febrero de 2015.

CWPKI0680I: El alias del certificado personal "selfcert" del almacén de claves "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" ha caducado el 9 de noviembre de 2014.

CWPKI0643I: El alias del certificado personal "testcert" del almacén de claves "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" caducará el 19 de febrero de 2015.
La sección de certificados sustituidos ofrece una lista de todos los certificados que se han sustituido. Se pueden sustituir los certificados personales autofirmados y los certificados personales encadenados que se han firmado con un certificado raíz en el almacén de claves de la raíz del servidor. Los certificados de firmantes los puede sustituir el firmante que se extrae de los certificados personales que se han sustituido.
*** CERTIFICADOS CADUCADOS O QUE HAN SOBREPASADO EL UMBRAL DE CADUCIDAD Y HAN SIDO SUSTITUIDOS ***;

CWPKI0645I: El alias del certificado personal "selfcert" del almacén de claves "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" se ha SUSTITUIDO.

CWPKI0644I: El alias del certificado de firmante "selfcert" del almacén de claves "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" se ha SUSTITUIDO.

CWPKI0645I: El alias del certificado personal "testcert" del almacén de claves "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" se ha SUSTITUIDO.
La sección de los certificados que no se pueden sustituir ofrece una lista de todos los certificados que han caducado o que se hallan en el umbral de caducidad en que no se pueden sustituir. Un certificado personal no se sustituye si se encuentra en un almacén de claves de sólo lectura o si el supervisor de certificados no tiene la información necesaria para crear uno nuevo. Si el certificado está firmado por un certificado que no está en el almacén de claves raíz del servidor, no se puede sustituir; es probable que se trate de un certificado CA. Un certificado de firmante no se puede sustituir si el certificado personal del que procede no existe en la configuración. Por ejemplo:
*** CERTIFICADOS QUE HAN CADUCADO O QUE SUPERAN EL UMBRAL DE CADUCIDAD QUE EL SERVIDOR NO PUEDE SUSTITUIR ***;

CWPKI0642I: El alias del certificado de firmante "oldcert" del almacén de claves "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" caducará el 19 de febrero de 2015.
Limpiado del archivo de almacén de claves suprimido

El supervisión de caducidad limpia el archivo de almacén de claves de certificados suprimido. El archivo de almacén de claves suprimido, NodeDefaultDeletedStore, es donde se colocan las copias de certificados que se han suprimido de otros almacenes en caso de que un usuario tenga que restaurarlos. El archivo se debe limpiar de vez en cuando para que cuando se ejecute el supervisor de certificados, el archivo de almacén de claves suprimido esté limpio. Debido a la naturaleza del almacén de claves PKCS12, debe haber al menos una entrada en el almacén de claves. No se informa de los certificados que se han suprimido del archivo de almacén de claves suprimido.

Nota: Cuando la siguiente opción de configuración está habilitada, el tiempo de ejecución puede verse afectado dinámicamente cuando el supervisor de caducidad sustituye certificados.
Nota: La siguiente opción de configuración sólo tiene efecto cuando la seguridad global está habilitada.

Seguridad > Gestión de claves y certificados SSL. En los valores de configuración, marque el recuadro de selección Actualizar dinámicamente el tiempo de ejecución cuando se producen cambios de configuración SSL.

Si esta opción está habilitada, la sustitución de los certificados hace que el tiempo de ejecución SSL del cliente empiece utilizando los nuevos certificados de forma inmediata lo cual, a su vez, desecha las memorias caché SSL y de almacén de claves y hace que se reinicien algunos puertos que utilizan SSLServerSockets (RMI/IIOP en SOAP distribuido y Admin). El reinicio de los puertos interrumpe las conexiones existentes. Estas conexiones pueden volver a establecerse una vez que el puerto se ha reiniciado completamente. Los puntos finales que utilizan la infraestructura de canales (HTTP, BUS, RMI/IIOP en z/OS) no afectan a las conexiones existentes, aunque sí utilizan los nuevos certificados para las nuevas conexiones.

Cuando se inhabilita la propiedad de modificación dinámica antes de que se apliquen los nuevos certificados, el administrador deberá reciclar todos los procesos de toda la célula una vez que se haya sincronizado la configuración de cada uno de los nodos.