Hola a tod@s.
En este post vamos a ver como configurar SSL HTTPS en Owncloud, para proporcionar un acceso cifrado y seguro a nuestros usuarios.
- Lo primero que haremos será instalar el paquete openssl ejecutando el siguiente comando:
- Activamos el módulo SSL en el servidor Apache:
- Ahora vamos a modificar la configuración de SSL, editamos el fichero de configuración de openssl, donde vamos a cambiar el tiempo de caducidad del certificado y la ubicación dónde se guardará el certificado :
- Ahora vamos a crear las carpetas y archivos para generar el certificado SSL:
- Accedemos al directorio que acabamos de crear:
- Creamos tres carpetas que son necesarias para que openssl pueda generar nuestras claves y certificados:
- Una vez creadas las carpetas certs, private y newcerts, crearemos el fichero indext.txt y el fichero serial con un valor de 1000. Para ello introduciremos los siguientes comandos en la terminal:
- El fichero index.txt contendrá una base de datos de los certificados generados. El fichero serial se usará para generar el número de serie del certificado que vamos a generar.
- Ahora vamos a crear una autoridad de certificación, para ello introducimos los siguientes comandos:
- Al ejecutar el comando lo primero que se nos pregunta es una clave, esta clave tenemos que recordarla y se nos preguntará cada vez que firmemos un certificado, nos pedirá que confirmemos la clave que acabamos de elegir:
- Luego, como podemos ver en la captura de pantalla, nos irá haciendo preguntas. Las vamos respondiendo una tras otra teniendo especial cuidado en el campo Common Name que tendrá que ser el fqdn (fully qualified name), en mi caso el Common Name (fqdn) es cloudrgs.ragasys.es:
- Una vez creada la autoridad de certificación, dentro de la ubicación /root/SSLCertAuth podemos encontrar los archivos cakey.pem y cacert.pem. Estos archivos hay conservarlos ya que serán necesarios para crear nuestros certificados:
- Ahora vamos a crear una clave privada y una solicitud de firma del certificado CSR, para ello introducimos el siguiente comando:
- Luego, como podemos ver en la captura de pantalla, nos irá haciendo preguntas. Las vamos respondiendo una tras otra teniendo especial cuidado en el campo Common Name que tendrá que ser el fqdn (fully qualified name), en mi caso el Common Name (fqdn) es cloudrgs.ragasys.es:
- Una vez finalizado el proceso en la ubicación /root/SSLCertAuth dispondremos de los siguientes archivos:
apache-req.pem: Es el archivo que contiene la solicitud de firma del certificado.
apache-key.pem: Es la clave privada que hemos generado. Está clave privada se usa para el proceso de autentificación SSL de los usuarios que se conectan al servidor de owncloud.
- Ahora vamos a crear y firmar el certificado SSL, para ello introducimos el siguiente comando:
- Al ejecutar el comando se nos preguntará la clave que fijamos en el apartado de crear una autoridad de certificación. La introducimos y presionamos Enter. Seguidamente se nos preguntará si queremos firmar el certificado e introducirlo en la base de datos. En ambos casos respondemos que Sí. Después de realizar estos pasos, tal y como se puede ver en la captura de pantalla, el proceso ha terminado:
- Para confirmar que el proceso ha finalizado, en la ubicación /root/SSLCertAuth, tenemos que comprobar que esté presente el archivo apache-cert.pem que será el certificado SSL que hemos creado:
- Ahora vamos a copiar las claves y los certificados en las ubicaciones correspondientes, para ello crearemos las carpetas que contendrán el certificado y la clave:
- Copiamos el certificado y la clave que hemos generado dentro de las carpetas que acabamos de crear:
- Ahora vamos a configurar apache para que utilice https, para ello editamos el siguiente fichero, dónde iremos modificando lo siguiente:
- Ahora crearemos un enlace simbólico del archivo /etc/apache2/sites-available/default-ssl.conf en la ubicación /etc/apache2/sites-enabled:
- Como podemos ver el enlace simbólico se ha realizado correctamente:
- Una vez creado el enlace simbólico, el servicio https está activado. Finalmente tan solo tenemos que reiniciar el servidor apache:
- Ahora accedemos por https a nuestra nube privada, primero vamos a acceder desde nuestra LAN:
- Introducimos las credenciales:
- Como podemos ver ya estamos accediendo a nuestro servidor de Owncloud a través de HTTPS, por lo que ya tenemos un acceso cifrado y seguro para nuestros usuarios:
- Para acceder de forma remota desde cualquier lugar, tendremos que mapear el puerto 443 hacia la dirección ip interna del servidor Owncloud, luego registraremos nuestra ip pública en 1&1 para asignarle un nombre en internet.
- Puerto 443 hacia IP interna de owncloud, está configurado sobre un router Mikrotik en “IP > Firewall > NAT” y agregar regla:
- La regla quedaría de la siguiente manera:
- Registro de IP pública en 1&1:
- Como podemos ver le hago un ping al nombre cloudrgs.ragasys.es y todo está correctamente configurado, ya podemos acceder remotamente al servidor desde cualquier lugar:
- Como podemos ver ya tenemos acceso desde el exterior:
- Introducimos las credenciales:
- Ahora con el cliente de Windows vamos a configurar la conexión a nuestra nube privada por HTTPS:
- Para ver que la sincronización está funcionando correctamente vamos a copiar un fichero en la carpeta personal owncloud de Windows y veremos si este archivo se ha subido a nuestro servidor de Owncloud:
Fuente para poder realizar este post: geekland.eu blog sobre tecnología el cuál recomiendo
Saludos y espero que os haya sido de ayuda 😉