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).
A continuación introducimos el nombre de nuestra provincia.
Y el nombre de nuestra localidad.
A continuación introducimos el nombre de nuestra compañía u organización.
También tendremos que especificar el nombre del servidor en el que se generará el certificado.
Y por último la dirección de correo que irá asociada al certificado.
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:
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.
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.
Más información en:
http://formacion.cnice.mec.es/materiales/85/cd/REDES_LINUX/frames/frameset_9.html
Popularity: 3% [?]
Otras entradas que te pueden interesar
- Reiniciar Apache sin afectar a las conexiones existentes
- Curso de redes de área local en GNU/Linux
- Curiosa página de error 404
- Monta un servidor web en Ubuntu con Apache
- Ejercicios servicio HTTP
- Instalar MySQL Server en Ubuntu Gutsy 7.10
- Montar un servidor web casero con IP dinámica (I)











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
Muchas gracias Ars Magna!
Alejandrox
11 Feb 08 at 8:55 pm
Exelente Sitio, muy buenos articulos. Los ejercicios planteados me han servido muchisimo. Te felicito
YM
13 Ago 08 at 4:49 pm
Mil gracias a Alejandro por este y otros artículos. Son muy útiles.
Saludos
LL
7 Feb 09 at 12:01 pm