Apache: Servidor Web Seguro (HTTPS)

9,360 views

Published on

Configuración y manejo de un servidor seguro con el protocolo HTTPS habilitado, mediante la creación de un certificado privado.

Published in: Self Improvement
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,360
On SlideShare
0
From Embeds
0
Number of Embeds
236
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Apache: Servidor Web Seguro (HTTPS)

  1. 1. IES Gran Capitán Módulo: Despliegue de Aplicaciones Web Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web” Práctica 6: Servidor Web Seguro Fecha entrega: 13/11/2013 Autores: Pablo Medina Suárez IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
  2. 2. Práctica 6: Servidor Web Seguro 2 1 ÍNDICE 1 ÍNDICE 2 2 INTRODUCCIÓN 3 3 DESARROLLO DE LA PRÁCTICA 4 3.1 3.2 DESCRIBE CON TUS PALABRAS: ¿QUÉ ES UN SERVIDOR WEB SEGURO? 4 SIGUE LOS PASOS DEL CURSO PARA CONSEGUIR ACCEDER TAMBIÉN EN MODO SEGURO (HTTPS) A TU PÁGINA WEB DE PRUEBA. 4 3.2.1 HACER LA PRUEBA CON EL MISMO SERVIDOR WEB VIRTUAL PERO ACCEDIENDO POR PUERTOS DISTINTOS. SI ESTÁ BIEN CONFIGURADO, DEBEN MOSTRARSE INDEX.HTML DISTINTOS. 8 3.2.2 ACCEDER A SERVIDOR WEB QUE SOLO ESTE CONFIGURADO EN MODO SEGURO (LISTEN 443). DEBE FUNCIONAR USANDO HTTPS Y NO FUNCIONAR USANDO HTTP. 8 4 CONCLUSIÓN 5 BIBLIOGRAFIA IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 9 10
  3. 3. Práctica 6: Servidor Web Seguro 2 3 INTRODUCCIÓN   Objetivo: Crear servidores web seguros. Procedimiento: Será necesario que los servicios DHCP y DNS configurados en las prácticas anteriores están levantados. Nota: si aún no tienes configurado el servicio DNS, usa el fichero de hosts http://es.wikipedia.org/wiki/Archivo_hosts IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  4. 4. Práctica 6: Servidor Web Seguro 4 3 DESARROLLO DE LA PRÁCTICA 3.1 Describe con tus palabras: ¿qué es un servidor web seguro? Un servidor web seguro es aquel servidor cuyas transacciones con los clientes pasan por una capa más durante el proceso de comunicación, mediante la implementación de protocolos de seguridad, como el protocolo SSL, que utilizan técnicas de cifrado y autenticación para impedir que un tercero pueda tener acceso a la información enviada, y evitar las escuchas de las comunicaciones. De esta forma, se aumenta la confidencialidad y la fiabilidad de las transacciones de los usuarios con el servidor web. Aquellos servidores que utilizan SSL son accedidos utilizando el protocolo HTTPS y se comunidad por el puerto 443. 3.2 Sigue los pasos del curso para conseguir acceder también en modo seguro (HTTPS) a tu página web de prueba. Es necesario realizar algunos preparativos previos para la realización de ésta práctica. Que son los siguientes: En primer lugar, hay que crear el sitio nuevo que será configurado como seguro, por lo que se ha creado un nuevo directorio, /var/www/practica6. Para la configuración del sitio, esta vez usaremos como archivo base una copia del fichero /etc/apache2/sites-available/default-ssl, el cual configuramos como ya se ha hecho con los sitios de anteriores prácticas. Al directorio se le añade la directiva SSLRequireSSL: Nótese que más abajo la directiva SSLEngine está activada: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  5. 5. Práctica 6: Servidor Web Seguro 5 Como no tengo habilitado un servidor DNS, se modifica también el archivo /etc/host, para poder acceder al sitio utilizando la dirección que le hemos dado. El siguiente paso a realizar es la configuración del archivo ports.conf, para que escuche las conexiones realizadas a través del puerto 443. Lo dejamos de la siguiente manera: Hecho lo anterior, activamos el sitio y reiniciamos el servidor. Ahora tenemos que instalar un paquete clave si queremos hacer un servidor seguro: OpenSSL, para ello, se inserta la orden sudo apt-get install openssl. En mi caso, ya lo había instalado previamente. Si queremos realizar alguna configuración, hay que utilizar el archivo /etc/ssl/openssl.cnf, aunque podemos continuar sin modificarlo. La información que aparezca en dicho archivo estará relacionada con los datos que proveeremos como entidad certificadora, ya que a continuación generaremos un certificado. Para la creación de un certificado autofirmado, realizamos lo siguiente:  Introducimos en el terminal la orden sudo make-ssl-cert /usr/share/sslcert/ssleay.cnf /etc/ssl/certs/apache2.pem template output –forcé-overwrite:  Al hacer esto, nos sale la siguiente ventana: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  6. 6. Práctica 6: Servidor Web Seguro 6 Dejamos tanto esta como la siguiente con los valores por defecto. En concreto, en la segunda ventana, no debemos poner ningún nombre, en caso de que salga alguno. Hecho esto, vamos al archivo de configuración de nuestro sitio y buscamos las líneas SSLCertificateFile y SSLCertificateKeyFile, a las cuales añadimos la ruta del certificado que hemos generado antes. De la siguiente manera: El último y esencial paso es activar el módulo ssl de apache si no lo hemos hecho, con la orden sudo a2enmod ssl, tras lo cual reiniciamos el servidor. Ahora comprobamos si todo lo que hemos hecho ha funcionado, por lo que abrimos el navegador en una máquina cliente. Primero se prueba a entrar utilizando el puerto estándar: Comprobamos a acceder por HTTPS: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  7. 7. Práctica 6: Servidor Web Seguro 7 Al intentar acceder, recibimos la siguiente advertencia. Esto es debido a que el navegador no reconoce el certificado obtenido de la página web, ya que el certificado lo hemos creado nosotros, y por lo tanto no es de confianza. Para continuar, añadimos una excepción al navegador y ya podremos entrar al sitio: Ya hemos comprobado que funciona correctamente, sin embargo, no es deseable que se pueda entrar al sitio si no es de forma segura, por lo que si el usuario intenta acceder utilizando el puerto estándar, le debemos redirigir al sitio por HTTPS. Para ello, modificamos el archivo de configuración de la siguiente manera: Ahora, si se intenta acceder utilizando el puerto 80, se redirecciona automáticamente a la dirección utilizando el puerto 443. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  8. 8. Práctica 6: Servidor Web Seguro 8 3.2.1 Hacer la prueba con el mismo servidor web virtual pero accediendo por puertos distintos. Si está bien configurado, deben mostrarse index.html distintos. Si no se realiza la modificación hecha al final del punto anterior, es decir, en el archivo de configuración sólo existe un VirtualHost *:443, cuando se intenta acceder utilizando la dirección por el puerto estándar se muestra un índice distinto: Sin embargo, si se utiliza https sí que aparece el índice creado para el sitio seguro. 3.2.2 Acceder a servidor web que solo este configurado en modo seguro (Listen 443). Debe funcionar usando HTTPS y no funcionar usando HTTP. Realizado al final del punto 3.2. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  9. 9. Práctica 6: Servidor Web Seguro 9 4 CONCLUSIÓN Durante el desarrollo de esta práctica he aprendido a crear y configurar todo lo necesario para desplegar un servidor web que se comunique con los usuarios de forma segura. Además de aprender sobre la creación y manejo de certificados, utilizados por el servidor y los navegadores para respaldar dichas comunicaciones seguras. Aunque durante la aplicación profesional el manejo de certificados no sea como lo hemos tratado durante la práctica, ha sido interesante. Sin embargo, en los casos reales se depende de entidades certificadoras, que son las que expiden los certificados, siendo éstos reconocidos como certificados seguros por parte de los navegadores web. Por último, añado que haber tratado este tema es muy importante, ya que a la hora de comunicarnos con el usuario, la confidencialidad y la seguridad de los datos transferidos debe ser una de las máximas prioridades como desarrolladores. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  10. 10. Práctica 6: Servidor Web Seguro 10 5 BIBLIOGRAFIA  Curso de Servicios Linux, páginas 50 en adelante. Consultado en: http://moodle.iesgrancapitan.org/file.php/63/LINUX/CURSO_servicioslinux.pdf  Rafael del Castillo, Configuración Apache SSL Consultado en: http://moodle.iesgrancapitan.org/file.php/63/Apache/mypdf_20_ConfiguracionApacheS SL.pdf  Jbdaldoma.net, redirigir a una conexión segura HTTPS en Apache Consultado en: http://www.jdbaldoma.net/2012/05/redirigir-una-conexion-segura-httpsen.html IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org

×