SSL en Tomcat
En el desarrollo de aplicaciones profesionales, la seguridad es un elemento
clave.
Si trabajas para compañías importantes, puede que tu aplicación haga lo que
tiene que hacer pero … si no cumple ciertos estandares de seguridad… es posible
que nunca te la dejen instalar …..
La seguridad es muchas cosas …. en este caso vamos a resolver solo una de
ellas … como proporcionar un acceso seguro SSL a ella.
Hay muchas otras cosas que veremos en capítulos dedicados como:
- Almacenamiento de passwords (codificación y acceso)
- Administración centralizadas de usuarios y roles (normalmente mediane
LDAP) - Políticas de contingencia y precedimientos de restauración.
- Puertos que debe mantener abiertos para funcionar (y posibilidad de
tunelización de protocolos) - Y otras muchas cosas
Para poder proporcionar acceso SSL en Tomcat tenemos que seguir los
siguientes paso.
Primero instalárnoslo (jeje)
Posteriormente hay dos modos de trabajar… uno … en modo digamos
«de andar por casa» y otro utilizando certificado X509 y
entidades certificadoras ……
Vamos a empezara por el primero… basado en tecnología Java ….
Instalación simple de soporte SSL
Como siempre .. lo más adecuado es buscar en la documentación del propio
Tomcat
Yo lo tengo instalado en local en C:\Program Files\Apache Group\Tomcat 4.1\webapps\tomcat-docs\ssl-howto.html
Seguimos la instrucciones.. nos descargamos el JSSE de la página
de SUN
Como indica en el propio documento de ayuda de apache ….
establecemos la variable de entorno JSSE al directorio donde hemos descomprimido
el zip que nos descargamos.
Ahora … generamos nuestro certificado utilizando la utilidad keytool
de Java
keytool -genkey -alias tomcat -keyalg
RSA
Al generar el fichero de claves, se genera en nuestro home para el usuario
actual
Observar que hemos puesto la password roberto
Ahora… debemos activar en el fichero server.xml el
conector para soporte SSL (que viene comentado … buscando la cadena «Define a SSL Coyote HTTP/1.1 Connector on port 8443»
), y lo hacemos activando el puerto 8443
Ahora.. como hemos creado nuestro certificado con una password distinta de la
que espera Tomcat por defecto (changeit), debemos especificarlo
Arrancamos el servidor
Si ahora accedemos a nuestro servicio de modo seguro https://127.0.0.1:8443
Si vemos los detalles
Y despues de aceptar el certificado …. vemos la página de
resultado .. podemos ver el candado amarillo indicando que el enlace es seguro
..
En próximos tutoriales os enseñaremos a hacerlo utilizando
entidades certificadoras externas …..