Sunteți pe pagina 1din 17

Taller Joomla

Certificacin SSL en Joomla. Protocolo HTTPS.

Indice
Introduccin..........................................................................................................................................3
1.- Instalacin de Webmin....................................................................................................................4
2.- Creacin de un servidor virtual de acceso annimo........................................................................7
3.- Emisin de un certificado auto-firmado..........................................................................................8
4.- Activacin del modulo de criptografa..........................................................................................10
5.- Creacin de un servidor virtual cifrado con HTTPS.....................................................................11
6.- Configuracin de un servidor virtual con autenticacin bsica....................................................13
7.- Gestin de usuarios de autenticacin bsica.................................................................................14
8.- Comprobaciones y verificacin del correcto funcionamiento del certificado SSL.......................15

Introduccin
Los dos procesos bsicos para asegurar una web son:

acceso autorizado (que se puede gestionar desde el propio CMS Joomla, aunque en este taller
veremos otra manera), de forma que nos aseguramos desde el lado del servidor quien accede a los
contenidos de la web.

Cifrado de las comunicaciones mediante un certificado SSL, que es el caso de este taller, de forma
que nos aseguramos que terceras personas accedan a la informacin que los usuarios dejan en la
web, y que desde el lado del cliente nos aseguremos a que servidor nos conectamos.

SSL (Secure Sockets Layer) traducido al espaol significa Capa de Conexiones Seguras. Es un protocolo que
hace uso de certificados digitales para establecer comunicaciones seguras a travs de Internet.
Recientemente ha sido sustituido por TLS (Transport Layer Security) el cual est basado en SSL y son
totalmente compatibles.

Para realizar esta practica se ha utilizado una maquina virtualizada con VirtualBox 5.0.12 con las siguientes
caractersticas:

un sistema operativo Ubuntu 14.04.3

servidor web Apache 2.4.7

herramienta configuracin de sistemas Webmin 1.780

un sistema de gestin de contenidos Joomla! 3.4.8

Para este taller hemos elegido Webmin (herramienta de configuracin de sistemas va web) por ser la
herramienta que podamos usar en casa, en una maquina virtualizada, ms parecida al panel de control de un
hosting, ya sea Cpanel o Plesk, intentando simular las operaciones que se haran en un entorno real de una
pagina web (alojada en un hosting).
Adems hemos hecho la practica con un certificado auto firmado que nos permita hacer Webmin, sin
necesidad de comprar un certificado reconocido por alguna autoridad. Nuevamente intentando simular el caso
real de una web alojada en un hosting.

1.- Instalacin de Webmin


Webmin es una herramienta grfica basada en web para la administracin de sistemas Unix.
Vamos a instalar Webmin con certificado SSL auto firmado en un Ubuntu 14.04
Aadimos los siguientes repositorios
sudo nano /etc/apt/sources.list
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Aadimos la clave GPG de Webmin para validar los repositorios anteriores


wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -

Actualizamos e instalamos Webmin


sudo apt-get update
sudo apt-get install webmin

Despus de la instalacin Webmin comenzar el servicio automticamente


En el navegador, accederemos a la pagina web de acceso a Webmin de nuestro servidor va nuestra IP en el
puerto 10000, que en nuestro caso ser:
192.168.1.41:10000

Por defecto Webmin comenzar con SSL / TTS activado, luego el navegador nos dar un aviso sobre el
certificado no es reconocido por ninguna autoridad, sino auto firmado por nuestro servidor. Por tanto
necesitamos HTTPS para conectar a l.
https://192.168.1.41:10000/

Aunque nuestro servidor no pueda verificar la validez de nuestro certificado, nosotros sabemos que estamos
accediendo, de hecho, a nuestro propio servidor, por tanto, estar bien que procedamos de la siguiente forma:

Firefox: clicamos en Entiendo los Riesgos, y aadimos la excepcin de seguridad

Chrome: clicamos en Opciones Avanzado, y acceder a 192.168.1.41 (sitio no seguro)

Nos aparecer inmediatamente la web de acceso a Webmin, y nos registramos con usuario y contrasea del
administrador del servidor.

A continuacin vamos a cambiar idioma (y de paso el tema aunque, por supuesto, no es lo ms importante),
tal y como vemos en la siguiente imagen

Vemos en la parte inferior de la imagen que hay 15 paquetes de actualizacin disponibles, los instalaremos
clicando sobre ellos y siguiendo las instrucciones que nos vaya indicando
Ahora que tenemos Webmin instalado en nuestro servidor, ya podremos realizar las tareas bsicas de un
administrador de sistemas, entre ellas la siguiente practica.

2.- Creacin de un servidor virtual de acceso annimo


Primero vamos a acceder a nuestro servidor HTTP Apache haciendo clic sobre el enlace Servidores del
panel izquierdo de Webmin, como vemos a continuacin:

En la pestaa create virtual host rellenamos la informacin como aparece en la siguiente imagen, y
terminamos clicando el botn Crear Ahora. Despus, sobre el botn aplicar cambios en la esquina superior
derecha del panel.

3.- Emisin de un certificado auto-firmado


Vamos a obtener ahora un certificado SSL auto-firmado. Para ello vamos al enlace Configuracin de
Webmin de la izquierda. A continuacin sobre el enlace Encriptacin SSL y rellenamos como la segunda de
las siguientes imgenes.

Nombre del servidor en URL: localhost


Organizacin: TallerJoomla
Cdigo Pas: ES (es el de Espaa)
Tamao de clave RSA: por defecto 2048 bits
Das antes de expirar: 1825
Escribir clave a archivo: /etc/apache2/CertificadoTallerJoomla.pem
Utilizar la nueva clave inmediatamente? No, as Webmin no cambiar el certificado que usa actualmente para su
conexin HTTPS por el que vas a crear; de lo contrario, el navegador web mostrara un mensaje como el que vimos al
instalar por primera vez Webmin advirtindonos que la conexin no est verificada

Despus de crearlo, nos veremos el contenido de CertificadoTallerJoomla.pem

La primera parte del archivo es la clave privada


La segunda, guarda el certificado, la clave publica

Por supuesto, este archivo debera de ser solo accesible por el administrador del servidor/pagina web.

4.- Activacin del modulo de criptografa


Para poder usar el protocolo HTTPS hay que activar el modulo mod_ssl (o simplemente ssl) de Apache:
1.
2.
3.

Accedemos al servidor web Apache en Webmin


Accedemos a la pestaa Configuracin Global
Hacemos clic sobre Configure Apache Modules

5.- Creacin de un servidor virtual cifrado con HTTPS


Volvemos al servidor web Apache en Webmin, y vamos a la pestaa Create virtual host para crear un nuevo
servidor con la siguiente configuraron

En la ventana anterior seleccionamos el servidor recin creado, y en la ventana siguiente seleccionamos


Opciones SSL y lo configuramos como se indica en las siguientes ventanas

Despus de salvar regresamos a la ventana anterior del ndice del servidor virtual recin creado, y en la parte
de abajo, en la seccin Opciones del Servidor Virtual, clicamos en regresar a la lista de servidores.
El servidor virtual no estar disponible para los clientes hasta que se apliquen los cambios (esquina superior
derecha)
Por otro lado, desde el CMS Joomla, en la Configuracin Global, en la pestaa de servidor, hay una opcin
para forzar el uso de un certificado SSL que deberamos seleccionar.

6.- Configuracin de un servidor virtual con


autenticacin bsica
Si bien antes el cliente tenia la certeza de que la informacin que recibe proviene de nuestro servidor, ahora
ser el servidor el que debe asegurarse de que solo contesta a los clientes autorizados y a nadie ms
teniendo un control de acceso gracias a otro modulo de Apache que ya est instalado en nuestro servidores.
Para ello vamos al enlace Otros del men de la izquierda de Webmin, y dentro seleccionamos Directorios
Web Protegidos y agregaremos proteccin al directorio de joomla mediante autenticacin con la siguiente
configuracin. Acabamos seleccionando crear bajo de la ventana siguiente.

7.- Gestin de usuarios de autenticacin bsica


Cuando se haya protegido un directorio web asocindolo a un archivo de usuarios, faltara aadir los usuarios
y sus contraseas. En el mismo panel de Directorios Web Protegidos observaremos que no se han definido
usuarios para la carpeta.
Hacemos clic en Agregar un nuevo usuario, rellenamos los campos y terminamos seleccionando el botn
Crear para dar de alta al usuario

8.- Comprobaciones y verificacin del correcto


funcionamiento del certificado SSL
Primero verificamos que el servicio Apache Webserver esta en marcha (el smbolo verde indica que est
iniciado)

Y por ultimo verificamos que tenemos acceso al servidor virtual seguro con la direccin de nuestra web pero
con HTTPS. Ha de salir una ventana emergente con el login de acceso seguro
Lamentablemente, la prctica no sali como se esperaba, y no se pudo identificar el error cometido a tiempo.

En este punto se esperaba que al cargar el front-end de Joomla lo hiciese como HTTPS, avisndonos de un
certificado sin verificar como ocurri al ingresar en la URL de webmin en el punto 1. Sin embargo, no fue as
adems de no dejarnos autenticarnos como habamos configurado en el punto 6 de este manual.
Considero adems que muy pocas veces nos ser til una segunda capa de autenticacin como la del punto
6 (Joomla ya tiene un gestor de usuarios muy potente).
As, damos por concluida el taller.

Bibliografa
Servicios en Red. Ed MacMillan Profesional. Roman Carceller, Carlos Campos, C.J Garcia y J.
Gonzalez
SECURIZACIN DEL CMS JOOMLA! - Incibe
https://docs.joomla.org/Security_and_Performance_FAQs
https://docs.joomla.org/Security_Checklist/Joomla!_Setup
http://www.webempresa.com/blog/item/297-codigos-utiles-htaccess-para-sitios-web.html
https://blog.sucuri.net/espanol/2015/06/16/10-consejos-para-mejorar-su-seguridad-del-sitioweb.html
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-apache-config.html
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html
https://www.joomlart.com/tutorials/joomla-tutorials/how-to-use-ssl-in-a-joomla-site
https://comodosslstore.com/blog/easy-guide-on-how-to-install-an-ssl-certificate-on-joomla.html
https://www.gavick.com/documentation/joomla/how-to-use-ssl-in-a-joomla-site
https://www.joomshaper.com/blog/how-to-enable-ssl-https-on-a-joomla-site
https://github.com/joomla/joomla-websites/issues/20
http://forum.joomla.org/viewtopic.php?f=708&t=873975
http://www.webempresa.com/blog/item/1914-habilita-ssl-en-prestashop-seguridad-para-ti-y-tusclientes.html
http://juanferrub.blogspot.com.es/2008/05/como-configurar-joomla-y-virtuemart-en.html
http://www.cafetero100.info/2015/08/17/como-utilizar-certificado-ssl-en-un-sitio-joomla/
https://raiolanetworks.es/blog/instalar-un-certificado-ssl-autofirmado-en-cpanel/
https://www.hostinet.com/formacion/general/11102/
https://www.digitalocean.com/community/tutorials/how-to-install-webmin-with-ssl-on-ubuntu-1404
http://www.cyprich.com/2007/02/12/reset-password-for-webmin/
http://www.htaccesstools.com/htpasswd-generator/
http://www.htaccesstools.com/htaccess-authentication/

S-ar putea să vă placă și