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.
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/
Do you have that VM siloed off from the rest of your network
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 :)