I have a Jellyfin instance on my local server which I forward to the public web via a cloudflare tunnel. I’m not sure how secure it is, and I keep getting random requests from all over the world. It’s my first experience maintaining something on a public domain so I may be worrying about something obvious, but some advice would still be appreciated.

My SSL/TLS encryption mode appears to be “Full”.

  • Dempf
    link
    fedilink
    English
    arrow-up
    8
    ·
    11 months ago

    VPN drains my phone battery like crazy, plus eventually I’d like to be able to share my services with some less technical people, and want to keep the barrier to entry low for them, so I’ve been looking at what I’d want in order to be comfortable exposing services publicly.

    Services are running on Truenas Scale (k3s).

    What I’ve been thinking is:

    1. Isolate services’ network access to each other and to my local network.
    2. Reverse proxy in front of all services (probably Caddy)
    3. Coraza as a WAF
    4. Crowdsec Caddy module
    5. Some sort of auth layer in the proxy, like oauth2-proxy (kind of tricky because not every service would work well with this, especially without client support). Probably would start with a 3rd party identity provider rather than rolling my own, especially since 3rd party will probably do a lot more monitoring around logins, patterns, etc.

    Thinking of hosting the reverse proxy piece on a VPS. Probably not completely necessary because I don’t think hiding my home IP really buys me much security, but Caddy might be easier to configure on the VPS compared to Truenas (though I guess I could run it in a VM on Truenas).

    Each app could run a wireguard sidecar to connect it to the VPS.

    Curious what others think about this setup, or if the recommendation is still to keep things behind a VPN.