[KB6721] Configurar una conexión HTTPS/SSL para ESET Security Management Center Web Console (7.x)

Problema

  • Aparece el mensaje de advertencia ¡Usando una conexión no encriptada! Por favor configure el servidor web para usar HTTPS cuando accede a la consola web de ESET Security Management Center (ESMC Web Console) mediante HTTP.

    Por razones de seguridad, recomendamos que configure ESMC Web Console para usar HTTPS.

Solución

Certificados de ESMC certificates vs. certificados de Apache Tomcat

Los siguientes pasos refieren a certificados para Apache Tomcat, que son usadas para garantizar conexiones HTTPS seguras. Para obtener información acerca de los certificados de ESET Security Management Center, acceda a nuestra Ayuda en línea

Los pasos podrían variar dependiendo del sistema operativo

Los pasos descriptos más abajo se efectúan en un sistema operativo Microsoft Windows Server de 64-bit. Algunas rutas podrían variar dependiendo del sistema utilizado en el equipo.

Para usar un certificado existente

  1. Mueva el archivo del certificado .pfx a su directorio de instalación de Tomcat.

    De manera predeterminada, es C:\Program Files(x86)\Apache Software Foundation\Tomcat X.X\ en sistemas Windows Server de 64-bit  o C:\Program Files\Apache Software Foundation\Tomcat X.X\ en sistemas de 32-bit.

  2. Abra la carpeta Conf en el directorio de instalación de Tomcat y localice el archivo Server.xml. Edite este archivo utilizando un editor de texto como Notepad ++. Copie las siguientes líneas en el archivo Server.xml:

  3. Reinicie el servicio de Tomcat. 


Para usar una conexión segura HTTPS/SSL para ESMC Web Console, realice los siguientes pasos:

  1. Cree una keystore con un certificado SSL. Usted debe contar con Java JRE instalado, recomendamos que use la última versión. 

    Java JRA incluye Java Keytool (keytool.exe), que permite crear un certificado mediante líneas de comando. Usted debe generar un nuevo certificado para cada instancia de tomcat (si posee múltiples de ellas) para segurar que si un certificado se encuentra comprometido, otras instancias de tomac permenecerán seguros.

    Debajo verá un comando de muestra para crear una keystore con un certificado SSL.

    Localice la ubicación exacta del archivo keytool.exe, por ejemplo C:\Program Files (x86)\Java\jre1.8.0_40\bin y luego ejecute el comando):

keytool.exe -genkeypair -alias "tomcat" -keyalg RSA -keysize 4096 -validity 3650 -keystore "C:\Program Files\Apache Software Foundation\Tomcat_folder\tomcat.keystore" -storepass "yourpassword" -keypass "yourpassword" -dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown"

 

¿Es usuario de Linux?

keytool -genkeypair -alias "tomcat" -keyalg RSA -keysize 4096 -validity 3650 -keystore "/etc/tomcat/tomcat.keystore" -storepass "yourpassword" -keypass "yourpassword" -dname "CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown"

 

La ruta /home/user/tomcat.keystore del archivo es solamente un ejemplo, seleccione su propia ubicación segura y accesible.

Parámetros -storepass y -keypass

Los valores para -storepass y -keypass deben ser los mismos.

  1. Exporte el certificado  desde el keystore. Debajo verá un comando de ejemplo para exportar la solicitud de firma del certificado desde el keystore:

keytool.exe -certreq -alias tomcat -file "C:\Install\tomcat\tomcat.cer" -keystore "C:\Program Files\Apache Software Foundation\Tomcat_folder\tomcat.keystore" -ext san=dns:ESMC7-2008R2

¿Es usuario de Linux?

keytool -certreq -alias tomcat -file "/home/user/tomcat.csr" -keystore "/home/user/tomcat.keystore" -ext san=dns:ESMC7-2008R2

Reemplace los valores apropiadamente

Reemplace el valor "C:Install omcat omcat.csr" para el parámetro -file con el nombre del archivo y la ruta actual donde desea que se exporte el certificado.

Reemplace el valor ESMC7-2008R2 para el parámetro -ext con el hostname actual del servidor en el cual Apache Tomcat con ESMC Web Console se encuentre en ejecución.

  1. Obtenga el certificado SSL firmado con la Autoridad de certificación (CA) raíz de su elección.

    Puede proseguir con el paso 5 si planea importar un CA raíz luego. Si elige hacerlo de ese modo su navegador web podría mostrar advertencias acerca de un certificado autofirmado y necesitará agregar una excepción para conectarse a ESMC Web Console mediante HTTPS.
  2. Luego de recibir el certificado firmado con su CA raíz, importe la clave pública de la CA y luego el certificado (tomcat.cer) en su keystore. Debajo verá un ejemplo de comando que importa un certificado firmado dentro del keystore:

keytool.exe -import -alias tomcat -file "C:Install omcat omcat.cer" -keystore "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\tomcat.keystore"

¿Es usuario de Linux?

keytool -importcert -alias tomcat -file "/home/user/tomcat.cer" -keystore "/home/user/tomcat.keystore"

Reemplace los valores apropiadamente

Reemplace el valor " C:Install omcat omcat.cer " para el parámetro -file con la ruta y el nombre donde se localiza el certificado firmado.

Si desea usar un certificado existente (por ejemplo, el certificado de la compañía), siga estas instrucciones.

  1. Edite el archivo de configuración server.xml de modo que esa etiqueta se escriba de manera similar al siguiente ejemplo:



Esta modificación también deshabilita funcionalidades no seguras de tomcat, conservando solo HTTPS activado (parámetro scheme=). Por razones de seguridad, podría también necesitar editar tomcat-users.xml para eliminar todos los usuarios y cambie ServerInfo.properties para ocultar la identidad de tomcat.

  1. Reinicie el servicio de Apache tomcat .
¿Es usuario de Linux?

sudo service tomcat restart
Note que algunas distribuciones usan el nombre del servicio tomcat7.

¿Qué ocurre si la conexión segura aún falla en Linux?

Mensaje de error en el directorio /var/....../tomcat:
failed to initialize end point associated with ProtocolHandler ["http-bio-443"]

Si el problema persiste, cambie el parámetro port en el archivo server.xml a un valor mayor a 1024, debido a que los puertos con valor menor a 1024 podría no ser accesible a usuarios no root. Si por alguna razón debe usar el puerto 443, aún puede cambiar el valor y redireccionar el puerto.


 

Asistencia adicional