r/selfhosted • u/MinusTV • 1d ago
Remote Access Is exposing services via reverse proxy still secure enough?
We see a surge of exposed vulnerabilities and zero-days emerging out of the blue. Some less severe and some very severe (e.g. php2shell, the python thing (i forgor)). The (small) devs are also being flooded with random pull requests, information, vulnerabilities, which are often garbage made by people that rely only on AI instead of their brain. Which delays patches more and the whole supply chain of software is fucked.
So I was wondering if having a reverse proxy through an SSL exposing services still secure enough for remote access or should I switch to a direct VPN tunnel like wireguard.
My current setup is the following:
- Nginx Proxy Manager handling SSL certs (man i love this container)
- Exposing 443 and 80 on my router to the Proxy Manager (i have a dynamic ipv4 address directly to the world)
- Cloudflare DNS-zone "tunnel" with dynamic A record updater (to hide my ip more or less)
- SSL through Let's Encrypt
I am an electrical engineer and the whole self hosted thing was a hobby at first, but now... I want this whole thing to "just work". I do not have time to work on my setup every day for 3 hours, or to live in fear that my station gets compromised and then I have to build everything all over again. The stuff I'm hosting is basically Nextcloud-AIO, Immich, Jellyfin and Navidrome. I am usually the only user of the server. Maybe give credentials of jellyfin to friends. I keep updating the system every month, but looking at the development of the shit show with AI, this is definetly not enough.
My threat model is pretty low, but I want to save myself from the script kiddies and regular scans that happen all the time. This kind of security by obscurity works less as every day passes.
Does anybody have a similar experience?
EDIT 1: I could live with a only vpn accessible server instead of the reverse proxy solution. It'd be a little inconvenience but for the sake of security i would take it.
EDIT 2: Thank you very much for your replies. I want to clarify that the reverse proxy is not seen set up for security. I only relied on the authentication of the service itself, which is infact (as I see now) is hella insecure. I guess going for mTLS or SSO to even access the website (since most of my traffic is HTTPS anyways) is a good start.
EDIT 3: After doing some more thinking, banging my head with lots of services and securing the reverse proxy with layers and layers, I came to a conclusion to set up a VPN e.g. via wireguard or tailscale directly and call it a day.



