Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

agnos.is Forums

  1. Home
  2. Selfhosted
  3. How to secure Jellyfin hosted over the internet?

How to secure Jellyfin hosted over the internet?

Scheduled Pinned Locked Moved Selfhosted
selfhosted
138 Posts 62 Posters 1.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D [email protected]

    I was thinking of setting this up recntly after seeing it on Jim's garage. Do you use it for all your external services or just jellyfin? How does it compare to a fairly robust WAF like bunkerweb?

    ? Offline
    ? Offline
    Guest
    wrote on last edited by
    #99

    I use it for all of my external services. It's just wireguard and traefik under the hood. I have no familiarity with bunkerweb, but pangolin integrates with crowdsec. Specifically it comes out of the box with traefik bouncer, but it is relatively straightforward to add the crowdsec firewall bouncer on the host machine which I have found to be adequate for my needs.

    1 Reply Last reply
    0
    • B [email protected]

      Oh, I get that, but it just doesn't make any sense to me to be physically next to the server, and connect to it via VPN...

      dan@upvote.auD This user is from outside of this forum
      dan@upvote.auD This user is from outside of this forum
      [email protected]
      wrote on last edited by
      #100

      My point is that since the VPN uses a different subnet, it's fine to keep it connected even at home. It'll only use the VPN if you access the server's VPN IP, not its regular IP.

      In any case, Tailscale and Wireguard are peer-to-peer, so the connection over the VPN is still directly to the server and there's no real disadvantage of using the VPN IP on your local network.

      B 1 Reply Last reply
      0
      • lambda@programming.devL [email protected]

        I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

        gagootron@feddit.orgG This user is from outside of this forum
        gagootron@feddit.orgG This user is from outside of this forum
        [email protected]
        wrote on last edited by
        #101

        I use good ol' obscurity. My reverse proxy requires that the correct subdomain is used to access any service that I host and my domain has a wildcard entry. So if you access asdf.example.com you get an error, the same for directly accessing my ip, but going to jellyfin.example.com works.
        And since i don't post my valid urls anywhere no web-scraper can find them.
        This filters out 99% of bots and the rest are handled using authelia and crowdsec

        ? ? O N 4 Replies Last reply
        0
        • O [email protected]

          I don't understand how that isn't widely deployed. I call it poor man's Zero Trust.

          jagged_circle@feddit.nlJ This user is from outside of this forum
          jagged_circle@feddit.nlJ This user is from outside of this forum
          [email protected]
          wrote on last edited by
          #102

          I mean I'd rather jellyfin fix the bug and let me just put that behind basic auth

          1 Reply Last reply
          0
          • S [email protected]

            It is enabled, but now I'm doubting that. I'll double check when my homelab shift is complete.

            jagged_circle@feddit.nlJ This user is from outside of this forum
            jagged_circle@feddit.nlJ This user is from outside of this forum
            [email protected]
            wrote on last edited by
            #103

            It isnt. Else you wouldn't be able to loaf many jellyfin assets. Because there's a colission of the Auth header

            1 Reply Last reply
            0
            • gagootron@feddit.orgG [email protected]

              I use good ol' obscurity. My reverse proxy requires that the correct subdomain is used to access any service that I host and my domain has a wildcard entry. So if you access asdf.example.com you get an error, the same for directly accessing my ip, but going to jellyfin.example.com works.
              And since i don't post my valid urls anywhere no web-scraper can find them.
              This filters out 99% of bots and the rest are handled using authelia and crowdsec

              ? Offline
              ? Offline
              Guest
              wrote on last edited by
              #104

              And since i don't post my valid urls anywhere no web-scraper can find them

              You would ah... be surprised. My website isn't published anywhere and I currently have 4 active decisions and over 300 alerts from crowdsec.

              gagootron@feddit.orgG 1 Reply Last reply
              0
              • ? Guest

                And since i don't post my valid urls anywhere no web-scraper can find them

                You would ah... be surprised. My website isn't published anywhere and I currently have 4 active decisions and over 300 alerts from crowdsec.

                gagootron@feddit.orgG This user is from outside of this forum
                gagootron@feddit.orgG This user is from outside of this forum
                [email protected]
                wrote on last edited by
                #105

                Of course i get a bunch of scanners hitting ports 80 and 443. But if they don't use the correct domain they all end up on an Nginx server hosting a static error page. Not much they can do there

                spacecadet@feddit.nlS 1 Reply Last reply
                0
                • lambda@programming.devL [email protected]

                  I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

                  K This user is from outside of this forum
                  K This user is from outside of this forum
                  [email protected]
                  wrote on last edited by
                  #106

                  I've put it behind WireGuard since only my wife and I use it. Otherwise I'd just use Caddy or other such reverse proxy that does https and then keep Jellyfin and Caddy up to date.

                  1 Reply Last reply
                  0
                  • gagootron@feddit.orgG [email protected]

                    I use good ol' obscurity. My reverse proxy requires that the correct subdomain is used to access any service that I host and my domain has a wildcard entry. So if you access asdf.example.com you get an error, the same for directly accessing my ip, but going to jellyfin.example.com works.
                    And since i don't post my valid urls anywhere no web-scraper can find them.
                    This filters out 99% of bots and the rest are handled using authelia and crowdsec

                    ? Offline
                    ? Offline
                    Guest
                    wrote on last edited by
                    #107

                    Are you using HTTPS? It's highly likely that your domains/certificates are being logged for certificate transparency. Unless you're using wildcard domains, it's very easy to enumerate your sub-domains.

                    1 Reply Last reply
                    0
                    • dan@upvote.auD [email protected]

                      My point is that since the VPN uses a different subnet, it's fine to keep it connected even at home. It'll only use the VPN if you access the server's VPN IP, not its regular IP.

                      In any case, Tailscale and Wireguard are peer-to-peer, so the connection over the VPN is still directly to the server and there's no real disadvantage of using the VPN IP on your local network.

                      B This user is from outside of this forum
                      B This user is from outside of this forum
                      [email protected]
                      wrote on last edited by
                      #108

                      Right, but I have wireguard on my opnsense. So when I want to reach https://jellyfin.example.com/ , if I am at home, it goes phone -> DNS -> proxy -> jellyfin (on the same network). If I am connected to the VPN, it goes from phone -> internet -> opnsense public ip -> wireguard subnet -> local subnet -> DNS -> proxy -> jellyfin. I see some unneeded extra steps here... Am I wrong?

                      dan@upvote.auD 1 Reply Last reply
                      0
                      • D [email protected]

                        Tailscale is awesome. Alternatively if you're more technically inclined you can make your own wireguard tailscale and all you need is to get a static IP for your home network. Wireguard will always be safer than each individual service.

                        spacecadet@feddit.nlS This user is from outside of this forum
                        spacecadet@feddit.nlS This user is from outside of this forum
                        [email protected]
                        wrote on last edited by
                        #109

                        all you need is to get a static IP for your home network

                        Don't even need a static IP. Dyndns is enough.

                        Q 1 Reply Last reply
                        0
                        • gagootron@feddit.orgG [email protected]

                          Of course i get a bunch of scanners hitting ports 80 and 443. But if they don't use the correct domain they all end up on an Nginx server hosting a static error page. Not much they can do there

                          spacecadet@feddit.nlS This user is from outside of this forum
                          spacecadet@feddit.nlS This user is from outside of this forum
                          [email protected]
                          wrote on last edited by
                          #110

                          This is how I found out Google harvests the URLs I visit through Chrome.

                          Got google bots trying to crawl deep links into a domain that I hadn't published anywhere.

                          Z 1 Reply Last reply
                          0
                          • lambda@programming.devL [email protected]

                            I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

                            spacecadet@feddit.nlS This user is from outside of this forum
                            spacecadet@feddit.nlS This user is from outside of this forum
                            [email protected]
                            wrote on last edited by
                            #111

                            What I used to do was: I put jellyfin behind an nginx reverse proxy, on a separate vhost (so on a unique domain). Then I added basic authentication (a htpasswd file) with an unguessable password on the whole domain. Then I added geoip firewall rules so that port 443 was only reachable from the country I was in. I live in small country, so this significantly limits exposure.

                            Downside of this approach: basic auth is annoying. The jellyfin client doesn't like it ... so I had to use a browser to stream.

                            Nowadays, I put all my services behind a wireguard VPN and I expose nothing else. Only issue I've had is when I was on vacation in a bnb and they used the same IP range as my home network 😐

                            1 Reply Last reply
                            0
                            • spacecadet@feddit.nlS [email protected]

                              all you need is to get a static IP for your home network

                              Don't even need a static IP. Dyndns is enough.

                              Q This user is from outside of this forum
                              Q This user is from outside of this forum
                              [email protected]
                              wrote on last edited by
                              #112

                              Unless you're behind cgnat and without ipv6 support.

                              spacecadet@feddit.nlS 1 Reply Last reply
                              0
                              • lambda@programming.devL [email protected]

                                I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

                                F This user is from outside of this forum
                                F This user is from outside of this forum
                                [email protected]
                                wrote on last edited by
                                #113

                                Whats your setup? I just Ngnix Proxy Manager, Jellyfin etc in Docker. Modify ufw rules and also install this on the server (linux) https://github.com/friendly-bits/geoip-shell

                                1 Reply Last reply
                                0
                                • Q [email protected]

                                  Unless you're behind cgnat and without ipv6 support.

                                  spacecadet@feddit.nlS This user is from outside of this forum
                                  spacecadet@feddit.nlS This user is from outside of this forum
                                  [email protected]
                                  wrote on last edited by
                                  #114

                                  cgnat

                                  Ew

                                  1 Reply Last reply
                                  0
                                  • lambda@programming.devL [email protected]

                                    I use Tailscale right now. Which, in fairness, I didn't state in the post. However, I was hoping to share it more similarly to how I used to with Plex. But, it would appear, I would have to share it through Tailscale only at this point.

                                    R This user is from outside of this forum
                                    R This user is from outside of this forum
                                    [email protected]
                                    wrote on last edited by
                                    #115

                                    Right now none of the native clients support SSO. It is a frequently requested feature but, unfortunately, it doesn't look like it will be implemented any time soon. As with many OSS projects it is probably a case of "you want it, you build it" - but nobody has actually stepped up.

                                    1 Reply Last reply
                                    0
                                    • B [email protected]

                                      I am using tailscale but I went a little further to let my family log in with their Gmail( they will not make any account for 1 million dollars)

                                      Tailscale funneled
                                      Jellyfin
                                      Keycloak (adminless)

                                      Private Tailscale
                                      Keycloak admin
                                      Postgres dB

                                      I hook up jellyfin to Keycloak (adminless) using the sso plugin. And hook Keycloak up (using the private instance) to use Google as an identity provider with a private app.

                                      lambda@programming.devL This user is from outside of this forum
                                      lambda@programming.devL This user is from outside of this forum
                                      [email protected]
                                      wrote on last edited by
                                      #116

                                      SSO plugin is good to know about. Does that address any of the issues with security that someone was previously talking about?

                                      B 1 Reply Last reply
                                      0
                                      • spacecadet@feddit.nlS [email protected]

                                        This is how I found out Google harvests the URLs I visit through Chrome.

                                        Got google bots trying to crawl deep links into a domain that I hadn't published anywhere.

                                        Z This user is from outside of this forum
                                        Z This user is from outside of this forum
                                        [email protected]
                                        wrote on last edited by
                                        #117

                                        This is true, and is why I annoyingly have to keep robots.txt on my unpublished domains. Google does honor them for the most part, for now.

                                        spacecadet@feddit.nlS 1 Reply Last reply
                                        0
                                        • lambda@programming.devL [email protected]

                                          I already host multiple services via caddy as my reverse proxy. Jellyfin, I am worried about authentication. How do you secure it?

                                          G This user is from outside of this forum
                                          G This user is from outside of this forum
                                          [email protected]
                                          wrote on last edited by
                                          #118

                                          setup a WAF appliance and forward traffic through it to your current installation.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups