ApacheTomcatSSL
Crear un certificado para Tomcat #
Para los certificados en Tomcat utilizaremos la aplicación de java keytool.Creamos en primer lugar la llave (.key):
$ keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.key Escriba la contraseña del almacén de claves: [changeit] Volver a escribir la contraseña nueva: [changeit] ¿Cuáles son su nombre y su apellido? [Unknown]: Phillip J. Fry ¿Cuál es el nombre de su unidad de organización? [Unknown]: IT ¿Cuál es el nombre de su organización? [Unknown]: zylk.net ¿Cuál es el nombre de su ciudad o localidad? [Unknown]: Bilbao ¿Cuál es el nombre de su estado o provincia? [Unknown]: Bizkaia ¿Cuál es el código de país de dos letras de la unidad? [Unknown]: ES ¿Es correcto CN=Phillip J. Fry, OU=IT, O=zylk.net, L=Bilbao, ST=Bizkaia, C=ES? [no]: si
Importamos el CSR:
$ keytool -certreq -keyalg RSA -alias tomcat -file tomcat.csr -keystore tomcat.key
Crear un conector SSL en el Tomcat #
$ vim conf/server.xml
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
port="8443" keystoreFile="tomcat.key" minProcessors="5" maxProcessors="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
Por defecto, Tomcat se espera un keystoreFile llamado .keystore con keystorePass changeit. Si no ambos parámetros tienen que definirse en la configuración del conector.
Apache y Tomcat seguros #
Otra posibilidad es quitar el conector HTTP del Tomcat en 8080, y que sea el Apache el que utilice https, comunicandos con el Tomcat via mod_jk con AJP.
Para eso necesitamos un certificado para Apache. Primero instalamos
$ aptitude install openssl
Posteriormente generamos las llaves (.key):
$ openssl genrsa -out tomcat-apr.key 1024
y creamos el certificado raíz (.csr):
$ openssl req -new -key tomcat-apr.key -out tomcat-apr.csr
Por último firmamos el certificado:
$ #openssl ca -config openssl.cnf -in tomcat-apr.csr -out tomcat-apr.crt $ openssl x509 -req -days 365 -in tomcat-apr.csr -signkey tomcat-apr.key -out tomcat-apr.crt
Otra posibilidad en Ubuntu (para hacer los tres pasos en uno) es utilizar el script make-ssl-cert
$ aptitude install ssl-cert $ mkdir /etc/apache2/ssl/ $ /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/nagios-apache.pem
En Ubuntu 6.06 se llama apache2-ssl-certificate
3636 Accesos