As I start to host more and more services on my home server, my family and friends are interested in using some of the services I host as well. Up to now, all of my services have been internal-only, and my wife and I just use Tailscale to access everything. Getting others set up with tailscale isn’t an issue, but I can only have up to 4 other users before I have to pay to add more, and I have more than 4 people I would like to have access to some of the things I host.

Right now I’m using cloudflare tunnels to make some services available externally. I’m behind CGNAT, so I’m forced to use something like tunnels or similar. I’ve always read that if you are going to open things up externally to use a reverse proxy (which I use internally), but does this still apply with cloudflare tunnels? What else should I be looking at to make sure I have everything secured properly?

  • GreenKnight23@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 days ago

    if you’re going to expose a reverse proxy, you might as well use a WAF instead.

    think of a WAF as a smart reverse proxy with logging intelligence.

    might also help to have blocklists on your firewall that block any IP outside of your country.

  • poundyourdrum@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 days ago

    if you want more users you can host headscale instead of using tailscale, users can still connect with the regular tailscale clients

    additionally you can use forward auth on your reverse proxy using something like authentik so that users have to be logged in before they can even see the service itself. personally I trust authentik more than I trust all of the individual services which might not have the same level of scrutiny applied to their security. it also has the added bonus of letting your users use SSO if your services support it.

  • mxdcodes@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 days ago

    Tunnel is fine security wise. Keep the reverse proxy anyway and let the tunnel point at it. Routing, logs, etc. stay in one place this way.

    Zero Trust with Google etc. is the way for family. Tailscale or Wireguard means installing a VPN client and making sure it keeps running, that’s too much for most people who just want to click a link.