¿Cómo implementar SSL en Apache Tomcat?

toadmin. ru

Una guía paso a paso para configurar un certificado SSL/TLS en un servidor Tomcat.

Una de las principales tareas de seguridad en TomCat es configurar un certificado SSL para que se pueda acceder a la aplicación web a través de HTTPS.

Hay muchas formas de lograr esto.

  • Puede finalizar SSL en el equilibrador de carga
  • Implementar SSL en el nivel CDN
  • Use servidores web como Apache, Nginx, etc., etc., e implifique SSL allí.

Sin embargo, si no usa ninguno de los anteriores, o lo usa como interfaz externa, o necesita implementar SSL directamente en Tomcat, lo siguiente lo ayudará.

En este artículo, haremos lo siguiente.

  • Cree una CSR (solicitud de firma de certificado)
  • Importar el certificado en el archivo de la tienda de claves
  • Habilitar SSL en Tomcat
  • Configurar el protocolo TLS
  • Modificar a Tomcat para escuchar en el puerto 443
  • Consulte Tomcat para la vulnerabilidad SSL

Preparación para un certificado SSL/TLS

El primer paso es crear una CSR y firmarla con una autoridad de certificado. Utilizaremos la utilidad KeyTool para administrar los certificados.

  • Iniciar sesión en el servidor Tomcat
  • Navegue a la ruta de instalación de Tomcat
  • Crea una carpeta llamada SSL
  • Ejecute el comando para crear la tienda de claves
keytoo l-genke y-alias domainnam e-keyalg rs a-keysize 204 8-keystore filename. jks

Hay dos variables en los comandos anteriores que puede cambiar.

[[Correo electrónico protegido] SSL]# Keystoo l-Genke y-alias Bloggerflar e-Keyalg RS A-KeySize 204 8-KeyStore Bloggerflare. jks Ingrese la contraseña de la tienda de claves: Reentre la nueva contraseña: ¿Cuál es su primer y apellido?[Desconocido]: Bloggerflare. com ¿Cuál es el nombre de su unidad organizacional?[Desconocido]: Blogging ¿Cuál es el nombre de su organización?[Desconocido]: Geek Flare ¿Cuál es el nombre de su ciudad o localidad?[¿Cuál es el nombre de su estado o provincia?[Desconocido]: ¿Cuál es el código de país de dos letras para esta unidad?[Desconocido]: ¿CN = Bloggerflare. com, OU = Blogging, O = Geek Flare, L = desconocido, ST = desconocido, c = Desconocido correcto?[no]: sí Ingrese la contraseña de la tecla (retroceda si es igual a la contraseña del almacén de claves): [[correo electrónico protegido] SSL]#

Tenga en cuenta la primera y apellido pregunta. Es un poco engañoso, creo. No es tu nombre, sino el nombre de dominio que quieres proteger.

Una vez que proporcione toda la información, creará un archivo de almacenamiento clave en el directorio de trabajo actual.

A continuación, genere un nuevo CSR con la tienda de claves recién creada utilizando el comando a continuación.

keytoo l-certre q-alias Bloggerflar e-keyalg rs a-file bloggerflare. cs r-keystore bloggerflare. jks

Esto creará una CSR que debe enviar a una autoridad de certificado para firmarlo. Si eres juego, es posible que desees considerar usar un proveedor de certificados gratuito, de lo contrario, elige uno premium.

He firmado el certificado y continuaré con importarlo en el almacén de claves utilizando el comando a continuación.

  • El proveedor proporciona la importación del certificado raíz
keytoo l-importcer t-alias roo t-file roo t-keystore bloggerflare. jks
  • Importar un certificado intermedio
keyToo l-importcer t-alias intermedi a-gile intermedi o-key store bloggerflare. jks

Nota: Sin importar los certificados raíz e intermedios, no podrá importar el certificado de dominio a la tienda de claves. Si tiene más de un intermedio, debe importarlos todos.

  • Para importar un certificado de dominio
keyToo l-importCer t-File Bloggerflare. ce r-Keystore Bloggerflare. jk s-alias Bloggerflare

Y obtendrá una confirmación de que se ha instalado.

La respuesta del certificado se ha instalado en la tienda de claves

Genial, ahora la tienda de claves de certificado está lista. Pasemos al siguiente paso.

Si es nuevo en SSL y desea obtener más información, regístrese para este curso en línea: operaciones SSL/TLS.

Habilitar SSL en Tomcat

Suponiendo que todavía haya iniciado sesión en el servidor Tomcat, navegue a la carpeta conf

  • Haga una copia de seguridad del archivo server. xml
  • Ir a
Sslenabled = "true" scheme = "https" keyStoreFile = "ssl/bloggerflare. jks" keyStorePass = "chandan" clientAuth = "false" sslprotocol = "tls"
  • No olvide cambiar el nombre y la contraseña del archivo de la tienda clave a la suya.
  • Reinicie Tomcat y debería ver que se puede acceder a Tomcat a través de HTTPS.

Puerto HTTPS estándar

Bueno, si miras la captura de pantalla anterior, estoy accediendo a Tomcat a través de 8080 con HTTPS, que no es estándar, y por otras razones.

  • No desea pedir a los usuarios que usen un puerto personalizado
  • El navegador dará una advertencia porque el certificado se emite a un nombre de dominio sin un puerto

Por lo tanto, la idea es obligar a Tomcat a escuchar en el puerto 443 para que se pueda acceder a través de https: // sin un número de puerto.

Para hacer esto, edite server. xml en su editor favorito.

  • Ir a
  • Cambie el puerto de 8080 a 443
  • Debe tener un aspecto como este
  • Reinicie Tomcat y acceda a su aplicación usando HTTPS sin un número de puerto.

Impresionante, ¡eso es un éxito!

Verificación de vulnerabilidad SSL/TLS

Finalmente, ejecutaremos una prueba para asegurarnos de que no sea vulnerable a las amenazas en línea.

Hay muchas herramientas en línea que he discutido aquí, y aquí usaré SSL Labs

  • Vaya a SSL Labs e ingrese la URL para comenzar la prueba

Y es verde – volver a calificar.

Dicho esto, siempre es una buena idea desplazarse hacia abajo a través del informe y ver si encuentra alguna vulnerabilidad y solucionarlas.

Es todo por hoy.

Espero que esto te haya ayudado a aprender el procedimiento para asegurar Tomcat con un certificado SSL/TLS. Si desea obtener más información, recomiendo este curso.

Share to friends