I am in love with my Jellyfin server (running in a Docker container) - it feels so nice to take back control over my media consumption again, after more than a decade in the land of streaming. So much, that I want to share this with my family.
So I was thinking of setting up a reverse proxy (Nginx Proxy Manager is what I have used before) and expose my Jellyfin-instance through that. However, I’ve seen several people be skeptical about this solution, instead opting for access through a VPN (I don’t think that would be a good solution for some of my family members).
What are the potential pitfalls of setting it up this way, that makes people skeptical? Where could I go wrong, and what dangers would I expose myself to? As I understand it, this would only expose one port to the internet, direct all that traffic to the Nginx Proxy Manager, which then forwards traffic to specific ports internally on my home network, which sounds safe in my mind. Is it misconfiguration of the proxy manager I should be wary of? Or some exploits in the proxy manager?
Denial-of-service attacks or risk of someone compromising your server and therefore network via a vulnerability. Possibility of an attacker using your server for other malicious activities if they manage to compromise it.
Don’t get me wrong, your server would be a teeny tiny fish in the sea of internet connected services and probably of little interest to most hackers. But, if you expose the door, it’s gonna at least get knocked on.
Security issues aside, you will now be ‘tech support’ for this service and they’re going to complain at you any time it doesn’t do what they want it to. Just make sure you’re ok with that.
Are denial-of-serivce attacks something anyone would waste resources on for a random Jellyfin-server, though? Do people do that kind of thing just for the lulz? I have no reason to believe anyone would actively target me for anything like this.
I also wonder that, since the URL to access the server would not be posted anywhere, I guess the only way someone finds the server is by trying random IPs? This presumably would be part of some larger automated crawling, where they attempt to SSH in or something similar to gain access - I’ve seen this on my Nextcloud server which I host on a VPS. Lots of attempts to login with “root” or “admin” or regular usernames to the server itself, not seen any attempts to login to my Nextcloud server (or maybe I have been looking in the wrong places). Since Nginx listens only on one port, anything that could compromise the server would have to be either in Nginx itself, or Jellyfin? And if there was a vulnerability in Jellyfin or Nginx, is it likely that exploits of this kind would be incorporated into this crawling?
On the tech support side, I’m am aware of the potential consequences, and I am fine with this. :)
Do people do that kind of thing just for the lulz? I have no reason to believe anyone would actively target me for anything like this.
They most definitely do. Some people get some sort of sick joy out to of being a PITA. I’ve had it happen to me. You’re very unlikely to become the target of a DDOS (distributed DOS) attack since that takes a lot more effort to execute successfully and there’s no payoff in this situation. But, isolated DOS attacks are more common than you might think. Whether you can defend against one depends on how much bandwidth you have but probably more on the firewall you’re running. If you have a WAN facing firewall capable of detecting and dropping connection attempts that follow a malicious pattern without choking, you’re probably not gonna have a lot of issues if any.
The level of obscurity also helps minimize your likelihood of becoming a target. Just keep your servers and any device firmware up to date.
These are just some risks you might run into. I wouldn’t necessarily consider them showstoppers. Just things to be aware of what could happen, not necessarily will and try to take preventative measures. To be honest, you’re probably going to get more trouble from your relatives than you will from a malicious actor.