108 - Tu Raspberry en Internet con la red TOR
Como acceder a tu Rasbperry desde Internet de forma muy sencilla gracias a la red TOR. Sin tener que abrir un router, sin utilizar servicios externos, nada
Ya he escrito diferentes artículos y en ocasiones te he hablado sobre el acceso a tu Raspberry desde internet. Te he comentado como conseguirlo de forma segura. Sin embargo, esto requiere de una dedicación y unos conocimientos. Pero ¿y si pudieras hacerlo de una forma mucho mas sencilla?¿Y si pudieras conectarte a tu Raspberry sin necesidad de abrir puertos del router?¿Y si pudieras hacerlo sin exponer la Raspberry a internet? Pues si, es posible. Puedes poner tu Raspberry en Internet con la red Tor.
Si no conoces que es eso de la red Tor, indicarte que TOR es las siglas de The Onion Project (el proyecto de la cebolla). El objetivo de este proyecto, es el de crear una red de comunicaciones que proporcione una capa de privacidad a los que navegan por ella. Luego profundizaré un poco mas.
Así, en este nuevo episodio del podcast, te contaré como puedes utilizar la red TOR para poner tu Raspberry en Internet. Pero de forma segura, de forma, que solamente tu puedas llegar a ella. O al menos dificultando el acceso.
Tu Raspberry en Internet con la red TOR
¿Porque conectarnos desde Internet a la Raspberry?
Como te decía en la introducción, sin lugar a dudas a la Raspberry le puedes dar multitud de usos. En internet puedes encontrar cientos de proyectos. Cientos de proyectos que te permitirán hacer casi cualquier cosa que puedas imaginar. Sin embargo, en muchos de estos proyectos hay una parte común. Y es que muchos de estos proyectos, sin que puedas acceder a tu Raspberry desde internet dejan de tener gracia.
A que proyectos me refiero. Pues desde crear tu propia página con WordPress alojada en la Raspberry, pasando por tu propio NAS o un NextCloud. Así como muchos estos proyectos. Sin embargo, como te he comentado anteriormente, tener tu propia página web y que no puedas compartirla en internet, lo cierto es que le quita toda la gracia. No solo esto, en el caso de que tengas tu propio sistema domótico, tu hogar inteligente, y no lo puedas controlar, allá donde vayas, lo cierto es que le quita mucha gracia.
¿Como conectarnos desde Internet a la Raspberry?
Así, tanto en el blog como en el podcast he dedicado diferentes artículos y episodios al acceso a tu red local desde internet. Así en el tutorial sobre crear tu nube en la Raspberry Pi le dediqué dos episodios. Uno para conseguir el acceso teniendo ip dinámica y el segundo para hacerlo de forma segura con Let’s Encrypt. En el caso del podcast, el mas claro es el episodio 24 que titulé un servidor por cuatro euros.
Tanto en los capítulos del tutorial como en el podcast, te hablo de diferentes pasos para conseguirlo. Por un lado necesitas un servicio externo para resolver el problema de la IP dinámica. Por otro lado, necesitas dirigir el tráfico del puerto 443 del router a tu Raspberry. Tienes que cifrar las comunicaciones con Let’s Encrypt. En fin, que no es que sea una tarea intuitiva. Tienes que dedicarle un tiempo.
¿Que peligros tiene tener tu Raspberry expuesta a internet?
Llegados a este punto, indicarte que tienes un pequeño problema. Tienes tu Raspberry expuesta a internet, con lo que es susceptible de que cualquier amigo de lo ajeno quiera hacerte un mal. Este problema también lo tendrías en el caso de un VPS. O sea que, no estás exento de peligros.
Es decir, al problema de la configuración de la Raspberry, tienes que añadir los peligros externos.
La solución
Para evitar este problema, y tal y como te he adelantado en la introducción la solución se encuentra en la red TOR, esa red que pretende proporcionarnos una capa de privacidad en nuestra navegación a través de Internet. Esta red puede ser un punto para poner tu raspberry en Internet con la red TOR
¿Pero que es TOR?¿Como funciona?¿TOR en profundidad?
Inicialmente se trataba de una red de servidores distribuidos por todo el mundo bajo el amparo de la U.S. Navy. Actualmente está bajo el amparo de una organización sin ánimo de lucro cuyo principal objetivo es la investigación y el desarrollo de herramientas para la privacidad online.
Realmente TOR está compuesto de dos partes. Por un lado está el software que te puedes descargar y que te permite navegar por internet de forma anónima. Por otro lado está la red de voluntarios, que ponen sus servidores u ordenadores a disposición de TOR, haciendo posible que el software funcione. Evidentemente para que el software funcione, deben existir estos voluntarios que ponen sus máquinas a disposición de todos. Y, como te puedes imaginar, cuantos mas equipos existan, cuantos mas voluntarios pongan sus ordenadores a disposición de la red TOR, mas segura, fuerte y fiable es esta.
Para conseguir esta privacidad, las conexiones no son directas desde nuestro equipo a la máquina destino, sino que se hace a través de nodos de la red TOR, y se hace de forma completamente aleatoria. Así si te conectas dos veces al mismo destino, en cada una de las dos ocasiones, los nodos por los que viajarán los datos serán distintos, haciendo complicado que te rastreen. Cada uno de estos nodos se conocen en la terminología de TOR como relay.
Existen tres tipos de relays los extremos, los intermedios y los puente. Los extremos son los que están al final de la cadena, y desde donde viaja hasta los puntos inicial y final.
Cuando utilices el software de TOR, tu dirección IP permanece oculta y parece que tu conexión viene de otra IP, en concreto de un relay de salida. Un relay de salida que puede estar en cualquier lugar del mundo.
Para garantizar la seguridad, todo el tráfico en la red TOR, pasa al menos a través de tres nodos antes de llegar a su destino final. Son los nodos de salida los que parecen el origen del tráfico. Esta es la razón, por la que si se hace un uso fraudulento de la red TOR, son los nodos finales, los que pueden tener problemas, al ser la fuente aparente del tráfico.
Además de los relay intemedio y de salida, existen otros llamados puente. Este nodo, llamado puente, están especialmente destinados para aquellos países, donde de forma regular se bloquean las direcciones IP de los nodos TOR.
Inconvenientes de la red TOR
Seguro que ya has caído en uno de los problemas de esta red, la lentitud. El tener que pasar por al menos tres nodos de la red, supone una importante penalización en cuanto a tiempo se refiere. Si visitar una página a través de la red TOR, es significativamente mas lento. Esto sobre todo lo notarás si reproduces audio o vídeo. En ocasiones es imposible.
A parte de esto existen dos problemas, que seguramente no te afectan. Por un lado está el peligro de tener un nodo de salida, porque todo el tráfico que sale por ese nodo es como si se hubiera originado en ese nodo, con los peligros que ello conlleva. Por otro lado, las agencias como la NSA consideran que un usuario de un red como la TOR es un extranjero por defecto, con las consecuencias que ello conlleva.
¿porque utilizar la red TOR?
Además de lo que te comentaré un poco mas adelante, es posible que te estés preguntando ¿porque utilizar la red TOR? Existen multitud de razones para utilizar la red TOR. Evitar que determinadas páginas web registren tu actividad. Acceder a sitios web que están bloqueados en tu país. Mantener tu privacidad sobre todo cuando estás transmitiendo información sensible.
Pero además de todo esto, ahora tienes una razón mas para utilizar la red TOR, y es para poner tu Raspberry en internet de una forma mas privada y segura.
La Raspberry en Internet gracias a la red TOR
Ahora que ya sabes lo que es la red TOR, sus ventajas e inconvenientes, te voy a comentar otra interesante ventaja y que te puede ser de mucha utilidad, sobre todo por su simplicidad, y por lo fácil que es ponerla en marcha.
Como he comentado anteriormente, se trata de que puedas acceder a tu Rasbperry, no desde tu red local, sino desde internet. Esto sin necesidad de abrir puertos del router, sin redirigirlos, sin necesidad de servicios externos como DuckDNS para evitar el problema de la IP dinámica, y sin tener que utilizar Let’s Encrypt. Todo de forma sencilla, utilizando la red TOR.
Para conseguir esto, tan solo tienes que seguir unos sencillos pasos, que se hacen en un momento.
Instalar TOR en la Raspberry.
El primer paso es instalar TOR en la Raspberry. Esto es bien sencillo, porque el software está disponible en los repositorios oficialese de Ubuntu. Así que puedes instalarlo en un solo paso ejecutando sudo apt install tor
.
Configurar TOR para acceder desde internet
El siguiente paso consiste en configurar TOR para permitir el acceso desde internet. Para ello, tienes que editar el archivo /etc/tor/torrc
, y añadir las siguientes líneas,
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 443 127.0.0.1:443
HiddenServicePort 22 127.0.0.1:22
HiddenServiceVersion 2
#HiddenServiceAuthorizeClient stealth rpimonitor
Una vez modificado el archivo de configuración, tienes que reiniciar TOR. Para ello solo tienes que ejecutar, sudo systemctl restart tor
. Una vez hecho esto, se habrá creado un nuevo directorio hidden_service
conforme has indicado en la configuración. En el directorio /var/lib/tor/hidden_service/
encontrarás un archivo hostname
donde está el acceso a tu Raspberry.
Dependiendo de como lo hayas configurado, necesitarás modificar el archivo de configuración de tu navegador Tor, para poder acceder a la Raspberry. En mi caso el archivo de configuración se encuentra en la siguiente ruta,
~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc
Edita este archivo torrc
y añade el contenido del hostname
de la Raspberry. Tiene que tener un aspecto como el que te indico a continuación,
HidServAuth 1srtead3dfdaeraa.onion EASF0323hdOIFGJSAKL4jk
Eso si has establecido la autorización de cliente. En otro caso, no tendrás que hacer nada.
Ahora simplemente reinicia TorBrowser
y dirígete a https://1srtead3dfdaeraa.onion
y ahí encontrarás tu Rasbperry.
Accediendo vía SSH
Pero si esto te parecía poco, aún hay mas. Es posible a través de la red TOR acceder a tu Rasbperry vía SSH. Para esto tan solo tienes que ejecutar la siguiente línea en un terminal,
ssh -o ProxyCommand='nc -x localhost:9150 %h %p' pi@1srtead3dfdaeraa.onion
Ahora te tengo que decir que no esperes que esto vaya a la velocidad de tu red local. Ni mucho menos. Esto va mas lento que el caballo del malo. Pero es una forma de que entiendas claramente las ventajas y desventajas de utilizar la red TOR.
Conclusión
Creo que es una solución interesante y a tener en cuenta en caso de necesidad. No es la mejor de las soluciones, sobre todo por la velocidad. Sin embargo, tienes que tener en cuenta dos aspectos realmente interesantes, la privacidad y la sencillez. Es posible que para un determinado proyecto, con esta solución tengas mas que de sobra… Todo es cuestión de tenerlo presente y valorarlo.
Más información,
- Imagen de portada de Hannah Gibbs en Unsplash