Nextcloud con Tor
December 05, 2019

En este artículo se aborda la problemática de la privacidad de los datos en el uso de servicios de compartición de archivos en la nube.

En este artículo se abordará la problemática de la privacidad de los datos en el uso de servicios de compartición de archivos en la nube. Con software libre se pueden implementar alternativas seguras y autónomas con funcionalidades similares. Bajo estas consideraciones se dispondrán de scripts que automatizan la instalación y configuración de una red propia mediante Nextcloud y Tor.

Introducción

La evolución de la internet ha permitido que cada vez más usuarios accedan a información y se comuniquen de forma rápida, cómoda y ágil. Muchos servicios se han originado desde la internet, por ejemplo, aplicaciones de comunicación por voz y video, sistemas informáticos en línea, tiendas virtuales, etc. Desde hace no muchos años atrás se viene hablando de un paradigma denominado computación en la nube, o simplemente “la nube” como generalmente se lo conoce.

Pero, ¿qué es la nube?

Más allá de las definiciones comerciales, donde se busca hacernos a la idea de que es el grupo de servicios que se alojan en la internet para ser accedidos desde cualquier parte del mundo, se dice en líneas generales que la nube es la computadora de otra persona (empresas o instituciones).

Y… ¿para qué sirve la nube?

De la misma manera en la que se puede acceder 24/7 a consultar información o tener la opción de comunicarse, la nube facilita el acceso a los servicios que se alojan en ella sin necesidad de que los equipos locales tengan que realizar grandes tareas de procesamiento y necesiten capacidad de almacenamiento.

NWT Imagen 1: Esquema de servicio en la nube tradicional.

Terminología

Nextcloud: Plataforma de código y arquitectura abierta para el alojamiento de archivos y trabajo colaborativo que puede ser instalado en un servidor privado.

Debian: Distribución GNU/Linux basada en el núcleo de Linux, herramientas GNU, filosofía y metología Debian.

Tor: Tor es una red distribuida que permite tener anonimato en Internet. Es comúnmente utilizado mediante un navegador que permite acceder a sitios web de forma anónima. Adicionalmente Tor permite exponer servicios TCP accesibles solo dentro de su red conocidos como Servicios Ocultos o Servicios Cebolla.

Terminal o consola: Entorno que facilita que los usuarios puedan realizar la ejecución de instrucciones en el computador mediante el uso de comandos específicos.

Bash scripts: Mediante el uso de programación básica, permite la ejecución de comandos de forma estructurada en la línea de comandos, para entre otras cosas, la automatización de tareas repetitivas, administrar el Sistema Operativo, etc.

Git: Software desarrollado por Linus Torvalds para el control de cambios que se realizan sobre archivos.

ISP: La entidad que brinda del servicio de internet a los usuarios finales, generalmente bajo un modelo de comercialización de venta de servicio.

Nota de descargo

El siguiente artículo es una propuesta conceptual que no ha sido suficientemente probada por lo cual se recomienda utilizarla bajo su propia responsabilidad.

Descripción del problema

Si bien los grandes proveedores de servicios en la nube como Google, Amazon, Microsoft, etc como parte de su modelo de comercialización ofrecen seguridad y confiabilidad en el resguardo de nuestros datos, no es un garantía que sea así. Todo esto gracias al oscuro antecedente del ya conocido proyecto PRISM de la NSA, en el que varias empresas de internet como Facebook, Skype, Yahoo entre otras, entregaban datos de sus usuarios a agencias de seguridad e inteligencia norteamericanas.

NWT Imagen 2: Esquema de servicio en la nube tradicional con adversario.

Suponga que es usuario de uno de los servicios de compartición de archivos en la nube. Durante un tiempo trabajó de manera colaborativa con información sensible. Una vez terminado este trabajo decide eliminar esta información. ¿Qué garantías tiene de que la información fue borrada?

En el año 2017 Dropbox fue parte de un escándalo, admitido por ellos, en el que se reconoció que archivos que habían sido eliminados por usuarios, varios años atrás, volvieron a aparecer por supuestas fallas en el sistema. Esto es una muestra de que no existe garantía de cómo nuestros datos son administrados por los proveedores, lo que debería afectar a nuestra confianza.

¿Qué hacer?

Lo ideal sería entonces, ¡contar con nuestra propia nube!. A primera vista puede parecer inalcanzable e incluso imposible porque se podría creer que es técnicamente difícil y económicamente caro. Afortunamente existen alternativas a la mayoría de servicios gracias al software libre, que en convergencia con otras tecnologías que buscan preservar la privacidad pueden ofrecer un marcado camino hacia la autonomía digital.

En este artículo se facilitarán scripts que permiten la automatización del proceso de instalación y configuración de Nextcloud sobre Servicios Ocultos de Tor. De esta manera se podrá contar con un servicio similar a los ofrecidos por Google Drive, OneDrive o DropBox pero de forma segura, privada y autónoma.

Nota: “Nextcloud es una solución de colaboración autohospedada…“ que ofrece diversas funcionalidades como acceso universal de archivos, capacidades de sincronización y colaboración en ambientes de escritorio y web, video conferencias, calendarios, administración de contactos, correo electrónico y otras características de productividad.

Desarrollo de la solución propuesta

Se programaron scripts de bash que automatizan la instalación y configuración de NextCloud con servicios ocultos de Tor. De esta manera se contará con una instancia de NextCloud en el equipo local que podrá ser accedida remótamente por los usuarios mediante el uso de internet , el navegador Tor Browser, la aplicación de escritorio NextCloud Sync o la aplicación NextCloud para teléfonos inteligentes, todos através la red de anonimato Tor sin necesidad de tener una IP pública, preservando así la privacidad de los usuarios y la seguridad de la información.

NWT Imagen 3: Esquema de la solución propuesta.
* Teléfonos inteligentes con Sistema Operativo Android y aplicación Orbot.

Prerequisitos

  1. Debian 10
  2. Git
  3. Navegador Firefox (opcional)
  4. Navegador Tor Browser (opcional)

Manos a la obra

  1. Abrir la terminal o consola: NWT Imagen 4: Abrir la consola
  2. Clonar el repositorio con los archivos bash scripts en una carpeta local, ejecutando los siguientes comandos:
git clone https://github.com/digitalautonomy/nextcloud_onion_installer.git

NWT Imagen 5: Clonando el repositorio

  1. Verificar que se hayan descargado los archivos bash scripts necesarios y que cuenten con los permisos de ejecución:
ls -l

NWT Imagen 6: Verificando permisos de ejecución sobre los archivos scripts descargados

3.1. En caso de que no tengan permisos de escritura, agregarlos mediante el comando:

chmod u+x *.sh

NWT Imagen 7: Agregando permisos de ejecución a los archivos bash

  1. Ejecutar el instalador:

NWT Imagen 8: Ejecutando el archivo bash de instalación

Nota. Ingresar la clave de administrador del sistema requerida.

4.1 Configurar las credenciales de la cuenta de administrador de Nextcloud solicitadas dentro del proceso de instalación:

NWT Imagen 9: Proceso de instalación y configuración

  1. (Opcional) Comprobar el acceso a la cuenta de adminstrador de Nextcloud con los datos previamente configurados:

NWT Imagen 10: Proceso de instalación y configuración

  1. (Opcional) Comprobar el acceso desde el navegador Tor Browser a la dirección del servicio oculto de Tor que debió haberse copiado en el portapapeles:

NWT Imagen 11: Proceso de instalación y configuración

Conclusiones

  1. El uso de servicios ocultos de Tor es una herramienta muy útil y poderosa para precautelar la privacidad y el anonimato en internet. Como facilitador para la publicación de servicios sobre la red Tor, los servicios ocultos permiten que podamos hacer uso de diferentes plataformas sin depender únicamente de los productos normalmente comercializados en internet, brindándonos así una alternativa mejor y mucho más confiable que las antes mencionadas.
  2. La solución publicada no es perfecta, existen consideraciones a ser tomadas en cuenta a la hora de su uso. Tor, por su naturaleza, hace que el tráfico dentro de su red sea más lento que el que puede darse por medio de los ISPs.
  3. Al existir la necesidad de ejecutar el terminal o consola, son necesarios conocimientos básicos sobre su uso. En futuras versiones se buscará realizar el desarrollo de una herramienta que permita la ejecución de este tipo de soluciones de forma transparente para los usuarios, sin importar el nivel de conomiento previo que tengan.
  4. Nextcloud es sin duda una gran opción, de código abierto y libre a la hora de contar con una plataforma que permita el intecambio y almacenamiento de nuestros documentos e información, permite la integración con aplicaciones de terceros para brindar mayor robustez a sus propias funcionalidades. Es una propuesta autonóma y segura a plataformas como Google Drive, Google Docs, DropBox, OneDrive, Office 360, Skype, etc.

Código fuente

El código fuente puede ser descargado desde el repositorio https://github.com/digitalautonomy/nextcloud_onion_installer.git