zlacker

[parent] [thread] 2 comments
1. dns_sn+(OP)[view] [source] 2025-01-05 17:43:48
If you care about privacy I wouldn't even consider using Cloudflare or any other CDN because they get to see your personal data in plain "text". Can you can forward a port from the internet to your home network, or are you stuck in some CG-NAT hell?

If you can, then you can just forward the port to your Immich instance, or put it behind a reverse proxy that performs some sort of authentication (password, certificate) before forwarding traffic to Immich. Alternatively you could host your own Wireguard VPN and just expose that to the internet - this would be my preferred option out of all of these.

If you can't forward ports, then the easiest solution will probably be a VPN like Tailscale that will try to punch holes in NAT (to establish a fast direct connection, might not work) or fall back to communicating via a relay server (slow). Alternatively you could set up your own proxy server/VPN on some cheap VPS but that can quickly get more complex than you want it to be.

replies(1): >>j_bum+W
2. j_bum+W[view] [source] 2025-01-05 17:51:39
>>dns_sn+(OP)
Yikes… I had no idea about CDN being able to see raw data.

> forward a port

From what I understand, my Eero router system will let me forward ports from my NAS. I haven’t tested this to see if it works, but I have the setting available in my Eero app.

> forward port to Immich instance

Can you expand on this further? Wouldn’t this just expose me to the same vulnerabilities as OP? If I use nginx as a reverse proxy, would I be mitigating the risk?

Based on other advice, it seems like the self hosted VPN (wireguard) is the safest option, but slower.

The path of least resistance for daily use sounds ideal (RP), but I wonder if the risk minimization from VPN is worth potential headaches.

Thanks so much for responding and giving some insight.

replies(1): >>dns_sn+z4
◧◩
3. dns_sn+z4[view] [source] [discussion] 2025-01-05 18:16:59
>>j_bum+W
> Can you expand on this further? Wouldn’t this just be exposing myself to the same vulnerabilities as OP?

Yeah I wouldn't do this personally, I just mentioned it as the simplest option. Unless it's meant to be a public service, I always try to at least hide it from automated scanners.

> If I use nginx as a reverse proxy, would I be mitigating the risk?

If the reverse proxy performs additional authentication before allowing traffic to pass onto the service it's protecting, then yes, it would.

One of my more elegant solutions has been to forward a port to nginx and configure it to require TLS client certificate verification. I generated and installed a certificate on each of my devices. It's seamless for me in day to day usage, but any uninvited visitors would be denied entry by the reverse proxy.

However support for client certificates is spotty outside of browsers, across platforms, which is unfortunate. For example HomeAssistant on Android supports it [1] (after years of pleading), but the iOS version doesn't. [2] NextCloud for iOS however supports it [3].

In summary, I think any kind of authentication added at the proxy would be great for both usability and security, but it has very spotty support.

> Based on other advice, it seems like the self hosted VPN (wireguard) is the safest option, but slower.

I think so. It shouldn't be slow per se, but it's probably going to affect battery life somewhat and it's annoying to find it disconnected when you try to access Immich or other services.

[1] https://github.com/home-assistant/android/pull/2526

[2] https://community.home-assistant.io/t/secure-communication-c...

[3] https://github.com/nextcloud/ios/pull/2908

[go to top]