So I set up a media server with jellyfin for the first time this week and initially gave remote access to people by simply opening port 8096 on my router.
After learning that that isn’t good for security and copyright enforcement reasons, I found a guide and set up a reverse proxy using Caddy.
Is this enough for security and ensuring that my ISP or anyone else doesn’t know what’s on my server. I’m okay with it not being the most secure thing ever.
There’s no such thing as a completely secure external connection, though there are plenty of mitigations which can improve the security.
Using a reverse proxy with SSL will prevent most (but not all, as Snowden revealed) external actors from sniffing your traffic.
Using a VPN as /u/ex800 suggested would be the most secure method as it allows connectivity only from those who are connected via a secure tunnel, but this has the disadvantage of not being able to readily hand out log-ins and connection details to family and friends (whilst most people can comfortably manage to enter URLs and credentials, far fewer are confident enough to install and configure a VPN client).
Somewhere in between those is the method I use, more secure than a simple reverse proxy, but less secure than VPN - I restrict incoming connections to only IP addresses from my own region, meaning that the “usual suspects” (USA/Russia/China/Israel) can’t get into my network. I do this at the router, using a weekly-updated address range list from IPDeny.
If you’re fortunate enough to have all your clients sitting on static IP addresses for their internet connectivity, you can restrict this even further by only allowing incoming connections from the addresses they’re on.
Reverse proxy only adds HTTPS support which will encrypt the traffic from your ISP., if you truly want to hide your services then VPN like Wireguard/Tailscale is your only solution.
Yes, it’s enough for secure remote access, after all it is just a website. Make sure you keep jellyfin up to date and that your users have passwords (and max login attempts set) in jellyfin.
I’m not good at this, so I’m sorry if this is a stupid question, but what should I be doing then?
I still want people to access the web application, I used Caddy for that express purpose, I just want to make sure I’m (realistically) covered from attacks or copyright enforcement
If you’re paranoid of ISP’s/copyright holders and you want to make sure no outsider knows what is going on between server and users AND no other person should have access to it, then yes, vpn it is.
Otherwise https is plenty good…
isp dns servers, obvious subdomains, etc you know?