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
-
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.
-
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:
-
Reinicie el servicio de Tomcat.
Para usar una conexión segura HTTPS/SSL
para ESMC Web Console, realice los siguientes pasos:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.