Instalación de soporte para el protocolo SSL


Esta actividad práctica corresponde a este tema.

La instalación y configuración de SSL con Apache es un proceso sencillo, pero que requiere la ejecución de una serie de pasos en un orden determinado:

  • Activar el mod que gestiona ssl con el comando a2enmod ssl.
  • Reiniciar Apache para que el mod entre en funcionamiento.
Activación de SSL (1)
  • Crear un directorio /ssl dentro de la estructura de directorios de Apache. El nombre no tiene por qué ser ese, es simplemente un ejemplo.
  • Crear el certificado autofirmado que va a usar SSL con el siguiente comando, que usará el nombre del directorio creado anteriormente: /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Activación de SSL (3)
  • Este proceso podría preguntar algunos datos a usar con el certificado además del propio nombre de la máquina. Básicamente son datos que facilitan la localización del emisor del mismo. Es conveniente contestar con localizaciones y direcciones reales si se nos pidiesen. En nuestro caso simplemente dejaremos el nombre de la máquina por defecto, al no hacernos ninguna pregunta más.
Activación de SSL (3)

Hecho esto, podemos optar por dos formas de hacer uso de SSL. La primera y más sencilla es hacer uso de un site por defecto preparado para ello que instalan automáticamente las últimas versiones de Apache y llamada default-ssl. Esto puede hacerse activando el site con sudo a2ensite default-ssl y reiniciando Apache. Esto permitirá usar SSL sobre el host virtual por defecto directamente.

Activación de SSL (4)

Si queremos activar SSL sobre otro host virtual que no sea el de por defecto, simplemente necesitamos configurar SSL en uno de los host virtuales que tengamos y que queramos que tenga esa posibilidad de uso. Si por ejemplo tenemos un host virtual en la IP 5.0.0.4, podemos añadir estas líneas al fichero de configuración particular del host virtual:

<VirtualHost 5.0.0.4:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site2
ErrorLog /var/log/apache2/site2-error_log
TransferLog /var/log/apache2/site2-access_log

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/apache.pem

SSLProtocol all

SSLCipherSuite HIGH:MEDIUM
</VirtualHost>


Finalmente, usemos el método que usemos para activar SSL, debemos asegurarnos de que:

  • El fichero ports.conf ya tiene añadido el puerto 443.
  • Asegurarnos de que el virtual host modificado también es accesible (tiene una configuración establecida) por el puerto 80, salvo que no queramos que eso ocurra.
  • Usar la directiva SSLRequireSSL en los directorios que queramos que sólo sean accesibles vía SSL y no mediante HTTP normal.
  • Una vez finalizados estos pasos, podemos probar su funcionamiento mediante nuestro cliente XP. Al conectarnos vía https a la web de pruebas, el certificado dará error por CA desconocida. Si continuamos de todas formas podremos ver la página transmitida por un canal seguro. También debe comprobarse que el trafico http normal sigue funcionando correctamente.
Activación de SSL (5)

Activación de SSL (6)
Última modificación: jueves, 19 de agosto de 2010, 17:10