Saltar la navegación

4.7.- Acceso a carpetas seguras.

Ya sabes, porque lo has visto al instalar el servidor Windows Server 2012, que una página web segura es un sitio que utiliza el protocolo HTTPS en lugar de utilizar el protocolo HTTP.

Estos protocolos son idénticos, con la excepción de que la transferencia de información entre el cliente (navegador web) y el servidor (servidor web) viaja a través de Internet de manera codificada, utilizando robustos algoritmos de cifrado de datos proporcionados por el paquete OpenSSL.

Ya sabes que, la carpeta que usa Apache por defecto para alojar sus páginas es “var/www”. Bien, pues dentro de esta carpeta, vamos a crear una llamada websegura, donde alojaremos el servicio securizado. Para poder activarla seguiremos estos pasos:

  • Habilitar el módulo SSL:
sudo a2enmod ssl
  • Habilitar el módulo SSL por defecto:
sudo a2ensite default-ssl
  • Reiniciar el servidor:
sudo /etc/init.d/apache2 restart

Con estos pasos, ya queda habilitado el acceso al sitio web de manera segura. Se puede probar poniendo en el navegador la dirección https://www.miclase.local

Nos aparecerá una advertencia de seguridad porque el certificado no es oficial, pero pulsamos en “Advanced” y lo aceptamos:

HTTP Apache 08
José A. Jiménez (CC0)



Ahora, vamos a crear nuestro propio certificado. Hay que seguir una serie de pasos:

  • Vamos al directorio apache2:
$ cd /etc/apache2
  • Generas la llave:
$ sudo openssl genrsa -des3 -out server.key 1024
  • Creamos el certificado con la llave:
$ sudo openssl req -new -key server.key -out server.csr
  • Creamos la clave, contestando una serie de preguntas y recordando la contraseña:
$ sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • Cambias de carpeta los archivos:
$ sudo cp server.crt /etc/ssl/certs/
$ sudo cp server.key /etc/ssl/private/
  • Abrimos el archivo de configuración default-ssl:
$ cd /etc/apache2/sites-available
  • Lo editamos:
$ sudo vi default-ssl
  • Una vez abierto el archivo, reemplazamos y habilitamos la siguiente configuración, modificando las líneas que corresponda:
<VirtualHost websegura.miclase.local:443>
DocumentRoot /var/www/websegura
<Directory /var/www/websegura>
SSLOptions +FakeBasicAuth +ExportCertData
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
  • Habilitamos el archivo :
$ sudo a2ensite default-ssl
  • Creamos la carpeta /var/www/websegura y añadimos un archivo index.html
  • Damos de alta la dirección websegura.miclase.local en el DNS, añadiendo esta línea en el archivo /etc/bind/db.miclase.local:
websegura IN CNAME servidordns
  • Reiniciamos apache y el servicio quedará activo:
$ sudo /etc/init.d/apache2 restart

Ahora solo te queda probar el acceso a https://websegura.miclase.local

HTTP Apache 09
José A. Jiménez (CC0)



Para saber más

En el siguiente enlace se propone que leas un artículo sobre el servidor web Apache. Resulta interesante por la enumeración que ofrece de sus ventajas o de los módulos que se pueden instalar, cosa que tú ya has hecho, por ejemplo, con el módulo ssl.

Servidor web Apache.