Hello selfhosters. I have a Linux VM spun up on my server that I access via Remmina. Would it be ok for me to expose Remmina for external access? It would be behind a reverse proxy as well as Authelia 2FA of course. Is that secure “enough”, just for a VM?
You can use tailscale for that, it took literally 1 minute to set up for me and is completely free for use cases like this.
Should have mentioned, Tailscale is blocked on my work network
Luckily on your own network you have control over these decisions! Especially with source and destination firewall rules.
You could try ZeroTier. I’ve not used it personally, but it’s free if you host your own instance. Your traffic gets routed through that VM, and everything behaves like it’s on the same LAN
It’s free with their account using their services for up to 25 nodes. It uses direct connections where possible so your information goes straight from one device to the other without having to self host their program.
Looks like that’s blocked on my work network too
Maybe consider routing your traffic through an SSH tunnel?
Yes that’s what someone else said below. I will try that
In the end it depends on your risk profile and adversary model. Usually it’s not a good idea though. Why not have an SSH tunnel to the network/machine and use port forwarding to forward the RDP connection? Or why not use SSH for remote access, period?
Hey man, so I’ve been thinking about this and doing a lot of reading since I read your comment… Question: what makes an SSH tunnel any more secure than an SSL connection through a browser? I only have port 443 opened on my home network for reverse proxy and wouldn’t want to open anything more to the internet. Am I missing something fundamental in terms of security? I would definitely like to understand this more.
The nice thing about an SSH tunnel is that it only exists when you create it, on the fly, per use, with your SSH credentials. And it is only accessible if you possess an authorized private key. An SSL connection through a browser doesn’t fill the same role. SSL provides privacy and security in the communication between server and client. It doesnt have authentication built in. If you are accessing through a web browser you are probably talking to a web server, but SSH allows you to tunnel any protocol (web, rdp, whatever) forwarding traffic, encrypted, across a chosen port.
Edit to add a bit more: attack surface. SSH is a very robust and heavily used protocol with well tested implementations. Other solutions involving the web are probably involving software stacks with layers of configuration, more rapid iteration to add features and therefore a higher probability of vulnerabilities existing or being introduced in updates. Is this consideration relevant to your use? Probably not, =P but you asked about what might differentiate these two approaches from a security standpoint.
Ah perfect! Exactly what I was looking for! Thank you so much for that explanation. Definitely trying to understand more about security and your explanation just made something click in my brain :)
My work’s network is pretty locked down, which is why I’m trying to think of other solutions that would work.
Personally my go-to for this would be the ipv6 experimental Yggdrasil-network. https://yggdrasil-network.github.io/
So from reading the site, is this an IPV6 end-to-end encrypted p2p network? That’s super interesting, but I’m sure my work firewall would be hardened against any incoming traffic. Will definitely experiment with this though. And I love the name
John Goerzen writes the deepest dives on Yggdrasil-network…
- https://changelog.complete.org/archives/10478-easily-accessing-all-your-stuff-with-a-zero-trust-mesh-vpn
- https://changelog.complete.org/archives/10319-make-the-internet-yours-again-with-an-instant-mesh-network
- https://www.complete.org/using-yggdrasil-as-an-automatic-mesh-fabric-to-connect-all-your-docker-containers-vms-and-servers/
- https://www.complete.org/recovering-our-lost-free-will-online-tools-and-techniques-that-are-available-now/