Tor

Ángel Ortega

He escrito este email a un amigo sobre cómo configurar Tor para el servicio SSH en clientes y servidores Linux:

[...]

Respecto al cliente (azazel, portátil con Ubuntu): instalar tor y ya está. Desde ese momento corre como un proceso que monta un túnel SOCKS5 en el puerto 9050. Nada más montarlo yo ya puedo hacer:

ssh angel@samael.triptico.com -o ProxyCommand="nc -X 5 -x localhost:9050 %h %p"

Esto lo que hace es abrir una conexión normal ssh pero a través de las múltiples capas de cebolla del Tor, haciéndolo súper-seguro, intrazable y bla bla bla. Es interesante esto:

Last login: Fri Mar 13 08:52:21 2020 from 185.220.103.243

Esa IP no es la mía, sino la de uno de los nodos de salida del Tor. Todo esto ya funciona sin haber instalado aún Tor en samael.triptico.com.

Para un servidor (lucifer, servidor casero con Debian sin puertos abiertos desde el router): instalar tor y abrir un «Tor Hidden Service» añadiendo lo siguiente a /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/ssh/
HiddenServicePort 1234 127.0.0.1:1234

Tras reiniciar tor (1234 es el puerto en el que corre mi SSH) te crea un servicio oculto, lo ha configurado y se lo ha notificado a la red Tor. El contenido de /var/lib/tor/ssh/hostname es:

tlnm26rl4fskwzzpxzvj25slznioajxv4afi2yb6a4fjkceraguvvaqo.onion

Mola, ¿eh? (apunta, que te lo dicto). La magia es que eso ya es accesible desde el mundo exterior con algún cliente que tenga instalado Tor:

ssh tlnm26rl4fskwzzpxzvj25slznioajxv4afi2yb6a4fjkceraguvvaqo.onion -p 1234 -o ProxyCommand="nc -X 5 -x localhost:9050 %h %p"

Aunque mola escribir eso todo el tiempo lo propio es configurarlo (tanto el host como el ProxyCommand) en ~/.ssh/config.

El lastlog te mostrará que la conexión ha ocurrido desde 127.0.0.1 (desde el punto de vista del servidor todo llega desde el túnel local).

Ojo a una cosa: la línea de comando del nc es para el de openbsd. Por alguna razón, en Ubuntu tengo el de openbsd pero en Debian el tradicional. He instalado netcat-openbsd en Debian para que todo sea consistente.

Tor proporciona un servicio para saber algo más sobre los «Exit Nodes» en el url https://metrics.torproject.org/rs.html#search/IP_EN_TU_LOG.

Espero que te sirva de ayuda.

Un abrazo,
Ángel

Más: https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidden-service/