ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509) Práctica Conexiones seguras mediante HTTPS en Apache OBJETIVOS Identificación de las conexiones seguras mediante HTTP (HTTP + SSL/TLS). Explicar el concepto, características y funcionalidad de los certificados de servidores seguros. Describir los pasos a seguir para instalar certificados digitales en el servidor Apache. Crear certificados de servidor y de usuario en instalarlos en el sistema. Descripción Generación de un certificado auto-firmado en Apache. Generación de un certificado auto-firmado en Apache Para poder generar un certificado auto firmado con Apache, necesitamos un paquete de utilidades Open Source llamado OpenSSL. El proyecto OpenSSL en una colaboración de una comunidad de código abierto que desarrolla SSL, TLS y un conjunto de librerías criptográficas. La versión que instalamos de Apache ya viene incluido OpenSSL, pero si no, podemos descargarnos una versión en: http://slproweb.com/products/Win32OpenSSL.html Vamos a seguir los pasos para generar un certificado en Apache para implementar SSL en nuestro servidor web. 1. Necesitamos generar una clave privada para montar nuestra entidad de certificación privada, en entornos de producción es muy importante hacer copia de seguridad de esta calve, pues la necesitaremos en caso de tener que recuperar la entidad de certificación. Para ello abrimos una consola CMD, y desde el directorio bin de Apache, ejecutamos el siguiente comando: ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges 1 ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509) 2. Podemos comprobar qué ha generado el comando anterior abriendo el fichero generado y vemos el contenido de la clave privada encriptada. Generación de Clave Privada para CA 3. Ahora hacemos una solicitud para que genere nuestro certificado auto firmado con la calve privada que anteriormente hemos generado. Como vemos, hay que contestara unas preguntas para general el certificado entre la que destaca en nombre FQDN del servidor que hará uso del certificado, hay que tener muy claro esto, pues si no coincide el nombre con la dirección que haremos referencia dará un error. Como ejemplo, podríamos poner www.mywebserver.com ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges 2 ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509) Práctica 4. Por último generamos el certificado con la petición anterior y lo firmamos con la clave privada generada al principio. openSSL> x509 –req –days 30 –in MyTest.csr –signkey server.key –out mytest.crt 5. Ahora tenemos que cambiar el formato de la clave privada que hemos estado utilizando para firmar los certificados a .pem openSSL> rsa –in server.key –out server.pem ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges 3