Hi, I know this topic has been talked about 70 thousand times but I’m still not sure.

I have home server on an intel NUC behind the ISP router. On it I have the standard arr apps, jellyfin, pi-hole etc etc. I would like to access them through a domain rather than an IP. So I set them up in docker, behind traefik, behind authelia and behind cloudflare. I am the only one that uses it.

Now, I’m worried about the security of it all. I’ve been searching here and there and I’ve read about cf tunnels, wireguard server, vps, vlan, OPNsense etc etc. I still don’t know what would be the most secure. Should I just stay with what I have?

EDIT: I’m not behind CGNAT

  • @bless@lemmy.world
    link
    fedilink
    English
    4511 months ago

    I would go with wireguard VPN or something like cloudflare tunnels or tailscale. With wireguard you’ll need to open up an external port and forward to your VPN host, but wireguard uses UDP so no one can probe it for responses. CF tunnels and tailscale you don’t have to open up holes in your firewall which is nice.

    You also have the option of using a proxy and opening up 443 publicly on your firewall, but unless you know what you’re doing I’d leave that closed until you learn more.

    • NaibofTabr
      link
      fedilink
      English
      1811 months ago

      Nah, that sounds complicated. Just open port 22 and forward it your server.

    • Footnote2669OP
      link
      fedilink
      English
      311 months ago

      Mmmmmm, tunnels sound boring haha I might try figuring out wireguard. Do you have any trusted guides on it? Or should I just google :P

      • @bless@lemmy.world
        link
        fedilink
        English
        211 months ago

        Good thing about wireguard is it’s really simple. Google should get it done, if you get stuck send me a DM. I started with basic wireguard, I now run firezone in docker as I like the frontend.

        • Footnote2669OP
          link
          fedilink
          English
          111 months ago

          (I’m gonna copy what I said in another comment lol)

          I don’t know if I’m shooting myself in the foot by trying to do in docker for now or not, but I’d rather do that before I do it on bare metal. It seems to work already, as I can see that my IP changes on my phone when I access it. Hell, I can even access my routers’ dashboard. However, I still can’t access the services on the server (by IP, like 192.x.x.x:8989), which I can access if I’m on Wi-Fi. So I’m trying to figure that out. Any ideas?

          • @bless@lemmy.world
            link
            fedilink
            English
            211 months ago

            Hmm do a traceroute and see where it’s dying. Can you ping inside IP of the tunnel on the wireguard server? What about outside?

            What did you deploy in docker, firezone or basic wireguard?

            Does your phone say connected and you see both incoming and outgoing packets? Is there a firewall in place on the wireguard host (ufw maybe)?

            If you have nmap available you can also check port status.

            • Footnote2669OP
              link
              fedilink
              English
              2
              edit-2
              11 months ago

              Yup, run journalctl and I can see ufw blocking requests. Now just need to figure out how to allow it

              EDIT: Adding a rule “ufw allow from 192.x.x.x/24” fixed it, just need to find out if THAT’s secure now lmao

              • @bless@lemmy.world
                link
                fedilink
                English
                1
                edit-2
                11 months ago

                You can bound ufw rules to interfaces, so you can allow in only on the wg0 interface and not eth0 interface.

                Glad it’s working! I love wireguard!

                • Footnote2669OP
                  link
                  fedilink
                  English
                  211 months ago

                  I couldn’t use the interface, as wg is in a docker container, but I used the container IP, and it seems to be working. Huge thanks! Now I can get rid of Cloudflare and related containers :D (just need to fix the homepage first, I’m not using IPs for services lol)

      • @sunbeam60
        link
        English
        111 months ago

        Honestly it couldn’t be simpler. Look at wg-easy docker container. You’ll be up and running in 10 minutes.