What are your VPN recommendations for accessing self-hosted applications from the outside?
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
I use the built-in Wireguard feature of my Fritzbox to connect to my home network.
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
https://github.com/wg-easy/wg-easy
WG-Easy to run Wireguard
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
Simple and fast solution is tailscale. tailscale is a business, but it works well
Personally i use opnsense and wireguard
-
You got two options which I’ve tried -
- A solution like tailscale or zerotier. Simple setup, easy to turn on and just go. Tailscale is newer and has a nicer interface and features like using an actual VPN like Mullvad as an “endpoint” (or whatever they call it). Their Mullvad connection also basically gives you a discount as they charge only $5 for the vpn instead of €5. The catch is that Mullvad charges you that price for 5 devices. So if a sixth device connects to the VPN through tailscale, you get charged $10 for that month.
- A cloudflare tunnel with zero trust on top. More work to setup. But makes it easy to access your apps without any vpn. They’re basically exposed to the internet at that point, but locked in behind cloudflare’s authentication. You can literally set it up for one or two email IDs. Yours and a family member’s. Much simpler for others to wrap their heads around. But some people dislike cloudflare for some reason or the other.
The variant version of number 2, which is more work to set up of course, is Pangolin on a VPS. Basically serves the same purpose but skips Cloudflare entirely.
I'm in the process of setting up Pangolin and Headscale on a VPS to expose a small handful of services and to replace my wg-easy setup. Currently chaining wg-easy through a gluetun container, so with a single VPN connection I get LAN access and protect my outbound traffic, but I can't for the life of me get the same setup working on wg-easy v15, so I'm going to give tailscale/headscale a try with a gluetun exit node.
-
-
Mullvad
-
Mullvad
-
Mullvad.
There is no need to pay for an external service for this and I don't think Mullvad would work for this use case.
-
-
https://github.com/wg-easy/wg-easy
WG-Easy to run Wireguard
I would recommend this too. This was the easiest to setup. I only had an issue with docker compose which made the pihole not being accessible while on wireguard. Once I put the pihole and wg-easy on the same docker network it started working.
-
You got two options which I’ve tried -
- A solution like tailscale or zerotier. Simple setup, easy to turn on and just go. Tailscale is newer and has a nicer interface and features like using an actual VPN like Mullvad as an “endpoint” (or whatever they call it). Their Mullvad connection also basically gives you a discount as they charge only $5 for the vpn instead of €5. The catch is that Mullvad charges you that price for 5 devices. So if a sixth device connects to the VPN through tailscale, you get charged $10 for that month.
- A cloudflare tunnel with zero trust on top. More work to setup. But makes it easy to access your apps without any vpn. They’re basically exposed to the internet at that point, but locked in behind cloudflare’s authentication. You can literally set it up for one or two email IDs. Yours and a family member’s. Much simpler for others to wrap their heads around. But some people dislike cloudflare for some reason or the other.
I'm in camp #2. Only my Gmail address can access my apps from outside my home. It's a little bit of a pain to configure the rules, but once it's done it's done. I've been happy with it.
You do need to have a domain name though.
-
Run WireGuard on some home machine. (Does not need to be the machine the app you want to access is hosted on.)
Run WireGuard on your road warrior system.
There is no step 3.
I'm doing this right now from halfway around the world from my house and it's been great. Been using iPhone, iPad, and macOS clients connected to linuxserver/WireGuard docker container. Been doing this on many WiFi networks and 5G, no difference.
Is wire guard a service you pay for? Otherwise how does wire guard in your home machine not need your router to forward ports to it? And then the remote client need to be pointed at your home’s external IP?
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
Wireguard is the way to go. I like using wg-easy to use wireguard because its easy to set up in a docker container.
-
Is wire guard a service you pay for? Otherwise how does wire guard in your home machine not need your router to forward ports to it? And then the remote client need to be pointed at your home’s external IP?
wrote last edited by [email protected]WireGuard is free. Obviously my instructions didn't go into detail about specifically how to set everything up. Port forwarding is required. Knowing your servers external IP address is required. You also need electricity, an ISP subscription, a home server (preferably running Linux), so on and so forth. This is /c/selfhosted after all.
-
No I am talking about creating a secure tunnel.
And why, pray tell, do you need Mullvad to do it? I want to know why you think that.
-
WireGuard is free. Obviously my instructions didn't go into detail about specifically how to set everything up. Port forwarding is required. Knowing your servers external IP address is required. You also need electricity, an ISP subscription, a home server (preferably running Linux), so on and so forth. This is /c/selfhosted after all.
wrote last edited by [email protected]Yeah that’s fine. The steps were so simple I figured they could work without router config changes if they made some kind of connection handshake in a third party service’s server.
But given all that, I wonder if it makes sense to look into if your router has its own vpn server (or flash the firmware with one that does.)
-
Run WireGuard on some home machine. (Does not need to be the machine the app you want to access is hosted on.)
Run WireGuard on your road warrior system.
There is no step 3.
I'm doing this right now from halfway around the world from my house and it's been great. Been using iPhone, iPad, and macOS clients connected to linuxserver/WireGuard docker container. Been doing this on many WiFi networks and 5G, no difference.
Okay, so that's pretty much the setup I had in mind. Good to know there is not much need for an extra step for security, thanks for the answer !
Well, I guess that would still be vulnerable to DDOS attacks, but that would just prevent me from accessing my cinnamon apple-pie recipe from my self hosted recipe manager for some time. A bit mean, but not catastrophic.
I wondered if there would be some other attacks that could compromise my machine with only a wireguard setup, but that's a good sign if there is nothing obvious.
-
Also a beginner here, I use Tailscale, and it's been a very easy setup!
Tailscale is very tempting, on one hand it should provide a pretty good layer of security without too much thinking and it is "free", and on another hand, it's a business solution, so it is probably not really free...
Thanks for the answer anyway confirming that Tailscale is pretty easy to setup !
-
I use the built-in Wireguard feature of my Fritzbox to connect to my home network.
Good point, I did not check if my router has already some built-in system that could let me connect to my home network with trusted devices from outside
-
Yeah that’s fine. The steps were so simple I figured they could work without router config changes if they made some kind of connection handshake in a third party service’s server.
But given all that, I wonder if it makes sense to look into if your router has its own vpn server (or flash the firmware with one that does.)
wrote last edited by [email protected]Some routers even run WireGuard natively
like for instance Ubiquiti. Personally I'd rather run it on my own server though because ubiquiti doesn't have easy IAC features.
-
Run WireGuard on some home machine. (Does not need to be the machine the app you want to access is hosted on.)
Run WireGuard on your road warrior system.
There is no step 3.
I'm doing this right now from halfway around the world from my house and it's been great. Been using iPhone, iPad, and macOS clients connected to linuxserver/WireGuard docker container. Been doing this on many WiFi networks and 5G, no difference.
wrote last edited by [email protected]Apologies for the dumb noob question, but if your iOS device is VPNed to your home server, how does it access the open internet? Does it do this via the VPN?
-
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
I’m in the same boat and currently run WireGuard to access my services.
However the more I extend my stack of services, the more I have use-cases to expose certain services to friends and family. For that I’m currently looking into using Pangolin. -
Hello,
Some time ago, I started self-hosting applications, but only on my local network. So far, it's working fine, but I can't access them as soon as I go outside (which is completely normal).
For the past few days I've been looking for a relatively secure way of accessing my applications from outside.
I don't need anyone but myself to have access to my applications, so from what I've understood, it's not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.
From what I've seen, Wireguard seems to be a good option. At first glance, I'd have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard
However, I don't have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.
I've also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don't really get what else they are doing despite simplifying the setup).
Do you have any opinions on this? Are there any obvious security holes in what I've said? Is setting up a VPN really the solution in my case?
Thanks in advance for your answers!
wrote last edited by [email protected]Managing Wireguard is just one of Tailscale's features.
It uses some UDP black magic fuckery to get through NAT and firewalls without having to open ports on the edge. Very useful if you're behind CGNAT and/or your ISP is a dickhead and locks down the firewall on your router (this is why I use it; eat a dick, Vodafone). If the UDP fuckery is not available, it reverts to simple relay servers. The client can also advertise subnets and route to hosts on it. You could install the Tailscale client on OPNSense/pfSense/OpenWRT and access your entire home network through that one device.
-
Tailscale is very tempting, on one hand it should provide a pretty good layer of security without too much thinking and it is "free", and on another hand, it's a business solution, so it is probably not really free...
Thanks for the answer anyway confirming that Tailscale is pretty easy to setup !
The tailscale clients are, I believe, open source. It's just the server that's not, and you can run the unofficial but well supported "headscale" as a server if you want. But this requires you to run this somewhere publicly accessible, like a VPS, for coordination and NAT-punching purposes.
But! I'm pretty sure as the business operates right now, that tailscale doesn't have access to the actual data connections or anything, it's all encrypted, they're basically just there for simplicity and coordination. And their business model is to offer simple things for free, like small numbers of devices, with the hope that you like the service and convince your business to pay for the fancy version for money. So I don't think it's quite as bad as the typical "free because I'm harvesting your data" models.
That all having been said, I run headscale