Is it considered bad practice to expose selfhosted services on public internet?

OmltCat@lemmy.world to Selfhosted@lemmy.world – 85 points –

I see a lot of people here uses some form of remote access tool (VPN/Tailscale) to access their home network when not at home. I can’t really do this because my phone (iOS) can only activate one VPN profile at a time, and I often need this for other stuff.

So I chose to expose most web based services on the public internet, behind Authelia. But I don’t know how safe this is.

What I’m really unsure are things like Vaultwarden: while the web interface is protected by Authelia (even use 2FA), its API address needs to be bypassed for direct access, otherwise the mobile APP won’t work. It feels like this is negative everything I’ve done so far.

29

You are viewing a single comment

Not bad practice just not as secure.

You can't beat the security of not exposing it but sometimes you need to so then you need to mitigate it with certs, reverse proxy or VPN.

It depends on what you need and what your thread model is.

I have my nextcloud server exposed, I keep it up to date, patched, etc. but I'd love to use the extra protection of a VPN. Just ... I don't think mobile apps work very well with that, unless I keep my phone constantly connected to the VPN, right? Or is there a smart way to do that?

I believe you can configure your phone to only route traffic to your server though the VPN.

Nice! ... how exactly, I wanna know :)

I'm my case, I'm using the OpenVPN server on my router. When I set it up, there was an option for the client to only use the VPN for local traffic. That way it's part of the config file on my phone. Works flawlessly

this thread mentions an OVPN client that can do split tunneling so all you'd do is whitelist your server in the android phone and turn it on.

ProtonVPN has tunneling too, for instance, but no self hosting option.

Yea that’s basically the reason why I can’t use a VPN.

In fact there isn’t really a problem to leave your phone connected to the selfhosted VPN all the time. If split tunneling works properly, only traffic that access your home network would actually go through the VPN, all others will just get bypassed.

But in my case, I already need to be connected to another VPN most of my day, so can’t really go this route.

Is the existing one wireguard? Because on android you can use the same interface and add another peer. You'd also have to use the same ip range and key on your VPN.

Not sure of your setup but I use OpenVPN on my Android and have set it to whitelist apps so only the apps that need to use the VPN do so. You can also go the opposite and blacklist so all apps except those you specify use the VPN.