Alejandrox

Blog personal de Alejandro Meroño Hernández

Configurar Apache con SSL. Acceso a webs seguras  

Ya vimos anteriormente cómo instalar y configurar en Ubuntu el servidor de páginas web Apache2. También vimos cómo crear un espacio web para cada usuario del sistema utilizando el módulo userdir.

Ahora veremos cómo crear un sitio web seguro utilizando el protocolo HTTPS, la versión segura del protocolo HTTP que usa SSL.
En primer lugar tendremos que instalar el módulo SSL para Apache2. Para ello abrimos el terminal (Aplicaciones/Accesorios/Terminal) y escribimos:

  • sudo apt-get install ssl-cert

Para que el servidor pueda servir páginas web seguras con el protocolo HTTPS, necesita un certificado. Este certificado permitirá que nuestro servidor pueda utilizar cifrado asimétrico para intercambiar claves de cifrado con los clientes, antes de iniciar una transmisión segura de información.

Para generar un certificado, ejecutaremos el siguiente comando:

  • sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/apache2.pem

El comando make-ssl-cert es el que en realidad genera el certificado. El archivo ssleay.cnf, que se encuentra en /usr/share/ssl-cert, es la plantilla que se utiliza para generar el certificado. El fichero /etc/ssl/certs/apache2.pem contendrá las claves que permitirá al servidor utilizar cifrado asimétrico. En realidad podemos guardar las claves en cualquier fichero, en un directorio distinto (no tiene porqué ser en /etc/ssl/certs).

Cuando ejecutéis el comando make-ssl-cert, comenzará un pequeño asistente, para configurar el certificado, que irá realizando una serie de preguntas.

En primer lugar tendremos que introducir el código de nuestro país (ES para España).

apache2_ssl1.png

A continuación introducimos el nombre de nuestra provincia.

apache2_ssl2.png

Y el nombre de nuestra localidad.

apache2_ssl3.png

A continuación introducimos el nombre de nuestra compañía u organización.

apache2_ssl4.png

También tendremos que especificar el nombre del servidor en el que se generará el certificado.

apache2_ssl6.png

Y por último la dirección de correo que irá asociada al certificado.

apache2_ssl7.png

Una vez generado el certificado, el siguiente paso será configurar el servidor para que lo utilice.

Lo primero que haremos será crear una carpeta, que llamaremos websegura, en el directorio /var/www. Para crearla, bastará con que abramos el terminal (Aplicaciones/Accesorios/Terminal) y escribamos:

  • sudo mkdir /var/www/websegura

Esta carpeta será la raíz de nuestro servidor virtual, de manera que todo lo que coloquemos ahí tendrá que ser accedido vía https.

A continuación editaremos el fichero /etc/apache2/ports.conf y escribiremos en él la siguiente línea (ya que el protocolo https utiliza el puerto 443).

  • Listen 443

Lo siguiente que haremos será editar el archivo /etc/apache2/sites-available/default, para habilitar SSl e indicar la ruta del archivo que contiene el certificado. Nuestra web será accesible a través de la dirección websegura.prueba.com mediante https. En dicho fichero escribiremos lo siguiente:

sites-available.png

Posteriormente debemos habilitar el módulo SSL del servidor Apache:

  • sudo a2enmod ssl

En el fichero /etc/hosts añadimos la siguiente línea para resolver localmente el nombre de nuestro servidor web:

  • ip_servidor websegura.prueba.com

Sustituimos ip_servidor por la dirección IP de nuestro servidor.

Reiniciamos a continuación el servidor web:

  • /etc/init.d/apache2 restart

Y accederemos a nuestra web tecleando https://websegura.prueba.com en la barra de direcciones de nuestro navegador. Lo primero que veremos será una alerta de seguridad que nos indica que el certificado no está emitido por una autoridad certificadora en la que confiemos.

apache2_ssl_1.png

Si pulsamos sobre el botón “Examinar certificado”, veremos la información del certificado y de la entidad certificadora que lo firma. Si pulsamos sobre el botón “Aceptar”, ya tendremos acceso a la web segura utilizando https. El candado cerrado que aparece abajo a la derecha en el navegador, indica que la transferencia de datos se ha realizado de forma segura.

apache2_ssl_3.png

Más información en:

http://formacion.cnice.mec.es/materiales/85/cd/REDES_LINUX/frames/frameset_9.html

Popularity: 4% [?]


Otras entradas que te pueden interesar



Esta entrada tiene

3 comentarios

Escrito por Alejandrox

Febrero 10th, 2008 at 1:48 pm

3 comentarios en 'Configurar Apache con SSL. Acceso a webs seguras'

Suscríbete a comentarios con RSS o TrackBack en 'Configurar Apache con SSL. Acceso a webs seguras'.

  1. Hola Alejandro, quiero felicitarte por este sitio, ya que he encontrado aquí varios artículos realmente interesantes, y quería animarte a que sigas escribiendo. Nada más, un saludo.

    Ars Magna

    11 Feb 08 at 8:16 pm

  2. Muchas gracias Ars Magna!

    Alejandrox

    11 Feb 08 at 8:55 pm

  3. Exelente Sitio, muy buenos articulos. Los ejercicios planteados me han servido muchisimo. Te felicito

    YM

    13 Ago 08 at 4:49 pm

Deja un comentario