Actualizado el 5/11/17
(Las imágenes corresponden a una versión anterior de Certbot, pero el proceso sigue siendo prácticamente igual)
En la entrada anterior veíamos que Nextcloud nos advertía de que no estábamos usando una conexión segura para verlo. Hasta hace bien poco, la única opción que podría haber funcionado era comprar un certificado de servidor, pero si la idea es ahorrar lo más posible, salía más caro el certificado que la propia Raspberry.
Sin embargo, no hace demasiado ha aparecido el proyect Let’s Encrypt, que pretende facilitar y abaratar (¡es gratis!) el acceso a conexiones seguras. Está apoyado por jugadores tan importantes dentro del campo del software libre y de la libertad en internet como la EFF o la Fundación Mozilla. Con Let’s Encrypt («Vamos a cifrar») es mucho más fácil crear conexiones seguras. Y esto es importante por detalles como que yo guardo en mi nube el cuaderno de clase con datos personales de mis alumnos, y usar una conexión no fiable es peligroso e, incluso. podría ir en contra de la LOPD. Este, por cierto, es un problema de Dropbox.
Técnicamente estoy convencido de que es muy difícil de entender, pero por suerte no hace falta saber mucho, es muy fácil de llevar a cabo.
Los pasos son estos:
- Instalamos el paquete python-certbot-apache, que instala todo lo necesario:
sudo apt-get install python-certbot-apache
- Actualización (12/6/18): parece que ha habido algún tipo de problema de seguridad con certbot, y da un error al llegar a este paso. Lo que hay que hacer es ejecutar
sudo certbot --authenticator webroot --installer apache
.
Los pasos son similares, pero algo más largos.
Nos preguntará en primer lugar sobre el dominio. Respondemos el ddns.net que hayamos escogido. Después nos pide una dirección de correo y nos pide que aceptemos los términos y condiciones, lo que hacemos escribiendo ‘a’. A continuación nos pregunta por la raíz web, y deberemos responder que/var/www/html
. Por último nos pregunta si queremos el método fácil o el seguro. A gusto del consumidor pero, evidentemente, es más seguro el Seguro. Lo escogemos pulsando ‘2’.
Una vez hemos terminado, podemos probar nuestro dominio de ddns en el navegador. Nos pedirá que añadamos LOQUESEA.ddns.net a los dominios fiables (trusted domains) porque de primeras Nextcloud no se fía del cambio en la dirección. Pulsamos el botón… y nos dará un error. Es normal: se debe a que el certificado de Let’s Encrypt que hemos instalado certifica que esa web es realmente LOQUESEA.ddns.net, mientras que la página que acaba de cargar sigue estando en la red local con 192.168.0.x. Debemos agregar una excepción pulsando el botón «Avanzado» y después «Añadir excepción»:
Y lo que nos queda es añadir el dominio pulsando Sí en la ventana emergente que nos aparece.
Ejecutamos el archivo:
sudo certbot --apache
Aparece un mensaje de aviso y nos pide nuestro dominio. Lo rellenamos. La captura de pantalla siguiente contiene un error, no se debe añadir el http:// al principio sino empezar directamente.
Nos pide nuestro correo:
Empieza a trabajar y nos solicita que aceptemos los términos de usuario. Podemos aceptar con la A.
Respondemos las preguntas que nos hace el instalador:
Dominio: ponemos el que hayamos escogido en no-ip.com
Correo: nuestra cuentaDespués nos pregunta si queremos el método fácil o el seguro. A gusto del consumidor pero, evidentemente, es más seguro el Seguro.
- Comprobamos que está bien hecho yendo a una prueba de seguridad. Vamos a https://www.ssllabs.com/ssltest e introducimos nuestra dirección de No IP. Nos debe dar este resultado, que está muy bien.
Y ya está. Sencillo, ¿verdad? En próximas entradas veremos cómo mejorar y ajustar nuestra nube, ya con un servidor más seguro.
Comentarios recientes