https://paquita.masto.host/polkillas

Nextcloud 19 en la Raspberry Pi. Acceso seguro: Let’s Encrypt

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:

  1. Instalamos el paquete python-certbot-apache, que instala todo lo necesario:
    sudo apt-get install python-certbot-apache
  2. Ejecutamos sudo certbot --authenticator webroot --installer apache.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… y nos dará un error:
Error de dominio en Nextcloud 14

Para seguir las instrucciones, debemos editar el archivo /var/www/html/config/config.php (acuérdate de añadir la carpeta si Nextcloud no está instalado en la raíz). Buscamos el apartado
'trusted_domains' =>
array (
0 => '192.168.xx.xx',

y añadimos a continuación una línea en la que escribimos     1 => 'LOQUESEA.ddns.net' , en la línea antes de ),.

Guardamos con CTRL-X, s y vamos en el navegador a la dirección https://LOQUESEA.ddns.net o https://LOQUESEA.ddns.net/nextcloud, según donde lo hayamos instalado, y comprobaremos que el navegador ya está contento.

Inicio de Nextcloud 14 con HTTPS

Puede ser que no nos fiemos demasiado porque, al fin y al cabo, antes los certificados eran cosas caras y raras y a nosotros nos ha salido gratis. Bien, pues es fácil comprobar la seguridad de nuestro servidor. Vamos a https://www.ssllabs.com/ssltest e introducimos nuestra dirección de No IP. Tarda un buen rato, y al final nos debe dar este resultado, que no está mal.

 

Hasta hace un par de meses, daba una A, un resultado mejor, pero lo an rebajado para animar a dejar de utilizar TLS 1.0 y TLS 1.1, versiones anticuadas que pueden ser peligrosas. Para quitar este peligro (que es muy pequeño, en realidad) podemos desactivar estos dos protocolos.

Para ello editamos un archivo de configuración con del servidor web con sudo nano /etc/letsencrypt/options-ssl-apache.conf. Buscamos la línea «SSL Protocol» y añadimos después de  all -SSLv2 -SSLv3 dos elementos más: -TLSv1 -TLSv1.1

Con esto ya quedan desactivados y el resultado del test pasa a ser una A. Sencillo, ¿verdad? En próximas entradas veremos cómo mejorar y ajustar nuestra nube, ya con un servidor más seguro.

 

1 comentario

  1. Muchas gracias por tus indicaciones. Las he seguido pero no encuentro el archivo config.php por ningún lado.si un config-sample.php y un CAN INSTALL donde debería estar el config.php. Sin poder modificarlo no es posible entrar de forma segura entonces. ¿Sabrías que puede estar pasando?

    Gracias

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.