Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Existe disponible un fichero de configuracin por defecto para el sitio web seguro,
/etc/apache2/sites-available/default-ssl.
Nota: A diferencia de lo que ocurre con HTTP, en HTTPS no se pueden servir fcilmente mltiples
sitios virtuales encriptados con SSL desde una misma IP. La razn est en que SSL trabaja en una
capa inferior a HTTP y no es posible usar la cabecera Host para distinguir los sitios virtuales a
travs del nombre del sitio. (En la configuracin tpica, solo podremos usar un certificado
compartido para todas las pginas que se sirvan por HTTPS desde un nico servidor web, a
menos que usemos una IP diferente para cada sitio)
Por todo ello, solo ser necesario realizar los siguientes ajustes:
1. Activar el mdulo SSL y habilitar el sitio seguro:
# a2enmod ssl
# a2ensite default-ssl
(Por supuesto, como se recomienda tras la ejecucin de estos comandos, habr que recargar el
servidor apache)
2. Modificar el fichero de configuracin del sitio SSL por defecto, esto es, /etc/apache2/sitesenabled/default-ssl.
Nota: Como hemos comentado antes, mientras que podemos aadir a la configuracin de Apache tantos
ficheros de sitios virtuales para HTTP que comiencen por <VirtualHost *:80> como
queramos, para HTTPS, en el puerto 443, solo podremos tener, en principio uno (a menos que
configuremos diferentes IPs para los distintos sitios o usemos alguna solucin avanzada como los
SNI o Server Name Indication)
1/2
Los certificados de snake oil (aceite de serpiente) se generan automticamente tras la instalacin
del paquete ssl-cert de Debian y estn asociados al hostname del sistema. Y aunque se pueden
usar tal y como estn, salvando las advertencias que nos mostrarn los navegadores, lo ms
habitual ser realizar algunos ajustes para personalizar los certificados a usar, por ejemplo,
siguiendo alguna de las siguientes soluciones (sin usar certificados de Autoridades de
Certificacin privadas):
a) Crear un certificado autofirmado (se usa la misma clave tanto para generar el certificado
como para firmarlo) usando el siguiente comando openssl:
$ openssl req -x509 -nodes -newkey rsa:1024 -keyout servidor.key
-out certificado.pem
Nota: Dicho comando generar la solicitud del certificado, solicitando al usuario, de forma
interactiva, los campos estndar del certificado. La mayora de dichos campos son
informativos, pero para un certificado que se usa en un servidor web, el campo Common
Name debera ser el nombre del DNS del servidor que aparecer en la URL de acceso. (De lo
contrario, el navegador del cliente mostrar una alerta de seguridad cuando se compruebe el
certificado del servidor)
b) Usar certificados autofirmados, por ejemplo, generados con el comando make-ssl-cert que
se instala con el paquete ssl-cert de Debian tal y como se describe en el fichero de
documentacin /usr/share/doc/apache2.2-common/README.Debian.gz. (Al menos, con
esta solucin, podremos asociar el certificado a nuestro sitio web)
Nota: Para proteger el acceso a la clave generada pueden ponerse los mismos permisos y
propietarios que los del fichero ssl-cert-snakeoil.key. Solo root debera poder leer este
fichero.
c) Crear nuestra propia autoridad certificadora tal y como se describe en el artculo Creacin
simple de una PKI en Debian. Esto se ver ms adelante en la asignatura de Seguridad.
2/2