The more I am selfhosting the more ports I do open to my reverse proxy.

I also have a VPN (wireguard) but there are also 3 family members that want to access some services.

Open ports are much easier to handle for them.

How many users do you have and how many ports are open?

My case: 4 users (family)/ 8 reversed proxy ports

How many users and open ports have you?

  • lemming007@lemm.ee
    link
    fedilink
    English
    arrow-up
    19
    ·
    1 year ago

    You’re comparing apples and oranges, reverse proxy and VPN serve two different purposes.

    • Sethayy@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Though in this context they’re both being used to provide safe access to local hardware from the internet.

      They probably want the pros vs cons of this specific situation

  • Ungoliantsspawn@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    1
    ·
    1 year ago

    May I ask what do you guys have exposed to the internet?

    I personally just have a wireguard VPN (single UDP port open) and everything is accessible through an internal reverse proxy. I just never felt the need to expose nothing ant least not web related.

    • CumBroth@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 year ago

      One thing I need to publicly expose is my own instance of Mealie. It’s a recipe manager that supports multiple users. I share it with family and friends, but also with more distant acquaintances. I don’t want to have to provide and manage access to my network for each and every one of them.

      • grue@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        What made you pick Mealie over other stuff like Nextcloud Cookbook or Grocy or whatnot?

        • CumBroth@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I’ve never heard of NextCloud Cookbook before. Looking at its Github page, it says it’s “mostly for testers” and is unstable, so no point in even considering it for regular use at this point in time. Besides, I’m assuming you’d need to have your own instance of Nextcloud up and running to use it; I don’t use Nextcloud.

          As for Grocy and other more mature alternatives (Tandoori also comes to mind), I think I initially went with Mealie because it had the most pleasant UI out of all of them. I liked it and found that it satisfied all of my requirements, so I just kept using it.

    • sizzling@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      I have Jellyfin and Jellyseerr open through cloudflare -> nginx over port 443 so i can share it with friends. Eventually I’ll do the same with NextCloud probably.

      • peregus@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Video streaming is against Cloudflare policies, aren’t you worried that they’ll may block your account?

        • sizzling@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Hmm I thought if I set it up to not cache data it would be fine, but it turns out that was outdated data. I don’t see an option for paying for it unless I host media specifically on their servers which I won’t be doing.

          I doubt I’ll be using a significant amount of data but if they give me a warning I’ll have to turn off the tunnel I suppose. Thanks for the question!

    • keyez@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I expose self-hosted bitwarden for my family to access through cloudflared tunnels and only allowing US IP via cloudlfare rules. Only the webUI is exposed and traffic has to go through cloudflare and nginx to be able to do anything.

    • einsteinx2@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      That’s exactly how I have my setup, and on my client WireGuard configs I have it set to split route so I can connect to my home VPN without disrupting anything else.

    • Reborn2966@feddit.it
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      a lot of stuff:

      • owncloud
      • paperless
      • immich
      • jellyfin
      • jellyseerr
      • traefik

      than i have stuff only accessible from local, like the *arr stack.

      i’m not using cloudflare or anything, should I?

      the only exposed ports i have are http / https and a random port for ssh.

      i also don’t use any sso… maybe i should set one up.

  • brygphilomena@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 year ago

    Both. Some things are only resolvable internally or over wireguard. Some things are publicly accessible via a reverse proxy.

    Overseerr, bitwarden, plex all have ports open or through the reverse proxy. Same with email and a few other services. All the *arrs are accessible only on my network or over VPN.

      • brygphilomena@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Because no one needs access externally. Overseerr is public facing and passes the requests to the arrs.

        It’s not about secure access, it’s that no one outside my house, me included, really needs access to them at all.

  • giant_smeeg@feddit.uk
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 year ago

    VPN because I don’t know enough about all the random arrr services to expose them trustworthily.

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Do you even need a reverse proxy if you’re using Tailscale? What advantage does it give you over setting up your DHCP correctly such that you can access your services by hostname?

      • ShinNoodleBlackCup@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Because I have my own custom domain internally and don’t use tailscale while on I’m on my network physically. But I get the best of both worlds, however I do have Tailscale setup with DNsMasq to set to my domain name anyway instead of using the Tailscale domain

  • Engywuck@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    edit-2
    1 year ago

    Reverse proxy and allowing connection only to IPs from my country.

      • Caboose20@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I know cloudflare has a free tier and allows you to put rules like this in place. AFAIK you’d have to use them as DNS at least in order to use this feature. I use Cloudflare tunnels and access to facilitate remote access to my home-server, and I know I have this same rule in place.

      • Engywuck@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        1 year ago

        Cloudflare DNS basically, but it can be implemented at nginx level using geoip2 modules (I do both, because some of my services don’t play well with Cloudflare proxied DNS). The cumbersome part is keeping geoip database up to date but I’m sure there are plenty of tutorials online.

      • Wtfrud@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I’m using an nginx reverse proxy with maxminddb for geo filtering. I have it limited to my state instead of country. If I could reliably go more specific I would. I really only rely on external access to the reverse proxy for family. I could use a vpn myself but I’m not bothering with the inevitable and endless questions from family.

        I don’t know if it’s realistic or not but I would love to use a client certificate to authenticate with the reverse proxy but I’m not sure of the compatibility with mobile devices or smart TVs. If it would work even a self signed cert that’s valid for years would be a nice layer.

    • InvertedParallax@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I used to, but less so now, I get that weakens the separation.

      Mostly the vps is hardened to f and that’s my defense but I agree it’s a bad one.

  • naeap@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    Wireguard, as only a handful of people need access to the services, I manage it manually - and not with Tailscale or something similar.

    With that my server looks nothing like a server from the outside, as I’m exposing nothing - Wireguard doesn’t even show up in a port scan

    • Jason2357@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      I like this approach, but I’m currently sitting in a foreign hotel who’s wifi seems to block WG. Annoying. Keep a TLS-protected reverse proxy for things you might need through obscure networks.

  • funk@lemmy.ca
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    I’ve got a reverse proxy for stuff I want to be able to hit from the outside. It’s behind an SSO portal with 2fa (hardware token). Then for everything else I VPN in.

  • eratic@feddit.uk
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    A reverse proxy isn’t a substitute for a VPN for access outside your network. And it isn’t any less secure; you only need to open 1 port however all of your services will be accessible via that single port which is arguably less secure.

    • MaggiWuerze@feddit.de
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Everything that is managed by that RP, yes. One should obviously be careful when selecting what to expose.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    NAS Network-Attached Storage
    SSH Secure Shell for remote terminal access
    SSL Secure Sockets Layer, for transparent encryption
    SSO Single Sign-On
    TLS Transport Layer Security, supersedes SSL
    UDP User Datagram Protocol, for real-time communications
    VPN Virtual Private Network
    VPS Virtual Private Server (opposed to shared hosting)
    nginx Popular HTTP server

    [Thread #60 for this sub, first seen 18th Aug 2023, 07:55] [FAQ] [Full list] [Contact] [Source code]

  • oendha@jlai.lu
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Currently I expose port 22 for SSH, 443 for Nginx and a couple extra for Syncthing (to mirror my media files between a Hetzner Storage Box and my NAS at home).
    There’s a specific setup I tried to build once but didn’t manage:

    • Expose only Wireguard port from my VPS
    • make it so that when (and only when) a device is connected to the VPS via Wireguard, then mydomain.xyz will target the VPS’ IP (and therefore hit my Nginx proxy which redirects to my various services at myservices.mydomain.xyz.

    I tried by having a Adguard Home running on that same VPS, and setting its IP as the DNS in the wg0.conf that goes on the client device but it didn’t work.

  • bjornp_@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Caddy Reverse Proxy with Basic Auth for services which are critical like my 3d printer. Without auth for other services like my website or jellyfin and such. I use docker for everything so that’s another layer of safety for me.

    I have port 443 open and use subdomains for most stuff. Some other ports for non-HTTP services but I don’t have any right now.

  • eximo@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Anything that is exposed is done through nginx proxy manager and 2FA is enforced on those apps either through the app or through Authelia.

    Some of the exposed apps are shared with friends and family so easier to expose securely than mess with VPN for them.

    Anything else is only accessible via VPN on my router.

    I need to look at tailscale.

  • freddo@feddit.nu
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Depending on the services you provide, the usual standard ports. So if you run http/https services, port 80 and 443 respectively.

    You seem to answer your own question.