Tor Deep Dive Part 10: Tor, VPN, Tailscale or Cloudflare Tunnel? A Decision Table

The earlier parts looked at Tor in detail. This last part asks the question most readers actually have: if I want to reach my own server, or hide where my traffic goes, which tool should I use?

A disclosure first. I tested Tor in this series. I did not test a commercial VPN, Tailscale or Cloudflare Tunnel. What I say about them comes from their own documentation, quoted where I can, and I flag what the documentation does not say.

What the vendors say

Tailscale builds a WireGuard network between your devices. Its encryption documentation describes WireGuard as the data plane, and says of its DERP relay servers that they “never access your unencrypted data; they only handle WireGuard packets that are already encrypted” (Tailscale: encryption). That page does not say whether the coordination service could read traffic, so I will not claim either way.

Cloudflare Tunnel runs a small daemon on your server that makes an outbound connection to Cloudflare, so you need no inbound ports. Its documentation says all traffic to your origins flows through Cloudflare (Cloudflare Tunnel). That is the trade: no open ports, and Cloudflare sits in the path.

Who sees what

Tor (exit)Tor (onion service)Commercial VPNTailscaleCloudflare Tunnel
Hides your IP from the destinationYesYes, both endsYes, behind the VPN’s IPNot the goalNot the goal
Who can see the destination and contentThe exit, unless the protocol is encrypted end to endNobody on the pathThe VPN providerOnly your devices, per the vendor’s description of the data planeCloudflare
Who knows who you areYour guard sees your IP, not your destinationSameThe provider sees your IP and destinationThe vendor knows your account and devicesThe vendor knows your account
Opens inbound ports on your serverNot for an onion serviceNoDepends on setupNoNo
Works for ordinary users without setupNeeds Tor clientNeeds Tor clientYesNeeds client on each deviceNeeds the daemon on the server
SpeedSlowSlowerUsually fastUsually fastUsually fast

The honest caution: “who sees what” rows for the commercial tools are statements about their design, not my measurements, and a VPN provider’s no-logs claim is something you trust, not something you verify.

Which tool for which job

You want toUseWhy
Reach your own SSH server from anywhere without exposing port 22Tor onion service or TailscaleNeither needs an open inbound port
Hide your IP from a websiteTor Browser, or a VPN if you trust the providerTor spreads trust, a VPN concentrates it
Expose a web app without opening portsCloudflare TunnelBuilt for this; accept Cloudflare in the path
Join your own machines into one private networkTailscaleDesigned for it
Get past a network that blocks TorTor bridges, if you can test themI did not test bridges, so treat this as a pointer, not a recommendation
Resist a patient observer of both endsNot any of these aloneSee Part 9

Ranking ways to reach your own SSH server

This is the part I would act on. From best to worst, on the evidence of the earlier parts:

  1. An onion service plus key-only SSH. There is no exit to attack, no open port, and the address is the key. Part 4 sets it up and notes the costs.
  2. A private network such as Tailscale, with key-only SSH over it. No public port, and you rely on the vendor’s design as documented.
  3. A pinned host key over a public exit, with key-only login. A hostile exit cannot log in without your private key, and a pinned key makes interception show as a warning. Part 5 tested what an interceptor can and cannot do.
  4. Password SSH over a public exit. Do not. This is exactly what the Part 1 attackers harvested.

The whole series

  1. How over 300 Tor exit relays were hijacked to steal SSH passwords
  2. How Tor works and what you are trusting
  3. Running a Tor client on Debian 13
  4. SSH over Tor, host keys, and why an onion service beats an exit
  5. What a hostile exit can do to an SSH connection
  6. Ebury, and how to check your own Debian hosts for it
  7. Finding bad exit relays with a Python scanner
  8. Running a Tor relay securely on Debian
  9. Other ways Tor can fail you

The scanner from Part 7 and the relay check from Part 8 are published together as tor-checks on GitHub, under the MIT licence.

Sources