This is a decent writeup on applying “Zero Tust” principles to a home lab using mostly open source tools. I’m not the author, but thought it was worth sharing.

  • PlutoniumAcid@lemmy.world
    link
    fedilink
    English
    arrow-up
    90
    arrow-down
    3
    ·
    3 months ago

    Zero trust, but you have to use Amazon AWS, Cloudflare, and make your own Telegram bot? And have the domain itself managed by Cloudflare.

    Sounds like a lot of trust right there… Would love to be proven wrong.

    • mosiacmango@lemm.ee
      link
      fedilink
      English
      arrow-up
      64
      ·
      edit-2
      3 months ago

      ZeroTrust is a specific type of network security where every network device has its access to other devices validated and controlled, not a statement on the trustworthiness of vendors.

      Instead of every device on a LAN seeing every other device, or even every device on a VLAN seeing other devices on a VLAN, each device can only connect with the other devices it needs to work, and those connections need to be encrypted. These connectioms are all monitored, logged and alerted on to make sure the system is working as intended.

      You do need to trust or validate the tooling that does the above, regardless of what you’re using.

        • mosiacmango@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          2 months ago

          Yes and no. The auditing is likely the harder part. You can use something like tailscale or nebula vpn to get the always on vpn/ACLs. With a dozen or two devices, it should be doable at a home scale.

          If you want clientless zerotrust then you’re talking heavier duty things like Palo alto gear and the like.

    • min@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      8
      ·
      3 months ago

      I’ve been researching zero-trust for my homelab recently and I’m considering OpenZiti instead of Cloudflare since I think it can all be self-hosted. The BrowZer from OpenZiti is especially interesting to me. The fact that I’m behind CGNAT is a hurdle though.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 months ago

      Yeah, I practice some ZeroTrust principles w/o using any of the above. I use Docker networks to associate services and their data and restrict them from accessing services/data they don’t need. I use HAProxy at the edge to route requests to specific nodes in my network, and all of that operates over my own WireGuard VPN. I’m working on creating VLANs for my network to further segment things, so I can dictate which devices can access which resources. For continuous monitoring and alerting, any separate device connected to my VPN would work (haven’t yet configured that); I personally don’t bother because my SO/kids will tell me if something they use goes down, and knowing a few minutes earlier wouldn’t matter.

      You really don’t need AWS, Cloudflare, or Telegram for any of this. That said, it is interesting to read through when crafting your own solution, if only to check which parts you have and what parts you may have forgotten.

  • powerofm@lemmy.ca
    link
    fedilink
    English
    arrow-up
    41
    arrow-down
    2
    ·
    3 months ago

    The document is filled with so much meaningless fluff that it’s annoying to read and was probably written by chatgpt and the cover image is AI generated: I don’t think there’s anything useful here.

  • ancoraunamoka@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    20
    ·
    2 months ago

    this is a very bad article. It talks about “zero trust” but then suggests you to use corporate software, the cloud, sketchy russian apps to monitor your traffic at home. Also, I am not spending 2 hours a day going through my logs, nor I want a VM/container with 8GB of ram wasting 40% of my GPU on grafana.

    • krnl386@lemmy.ca
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      2 months ago

      The author has a Master’s in informatics. That’s pretty much like an MBA. I wouldn’t expect more than buzzword-bingo from someone like that.

  • schizo@forum.uncomfortable.business
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    2
    ·
    3 months ago

    Amused that the ‘This is private! You no hack!’ banner nonsense isn’t a dead thing yet.

    Life protip: the bots scanning your shit will absolutely not care, and shockingly, criminals will also absolutely not care.

    • Melmi@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      2
      ·
      3 months ago

      When done correctly, the banner is actually a consent banner. It’s a legal thing, not necessarily trying to discourage criminals. It’s informing users that all use will be monitored and it implies their consent to the technology policies of the organization. It’s more for regular users than criminals.

      When it’s just “unauthorized access is prohibited”, though, especially on a single-user server? Not really any point. But since this article was based on compliance guidelines that aren’t all relevant to the homelab, I can see how it got warped into the empty “you no hack” banner.

  • Quik@infosec.pub
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    3 months ago

    I, too, don’t love the use of AWS/Cloudflare, while I get that you can simply replace AWS S3 with something else for backups, this server setup is innately based on using Cloudflare.

  • Mikelius@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 months ago

    I’d say anyone wanting to go this deep into a home monitoring setup will likely go with what works best for them instead of reading and following the entirety of this guide… I’m one of those people…

    Wrote my own log parsing software to put into a database, display and alert through grafana, which is alerting through a homemade webhook that sends a notification to ntfy based on severity… And I also use uptime Kuma like mentioned, but my notifications channel is ntfy. No cloudflare for my internal services, only wireguard to connect home and use everything. And definitely no telegram.

    Plenty of other stuff setup, but my security alerts and monitoring rely heavily on the syslog/grafana server which helps me monitor everything.

  • cron@feddit.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 months ago

    Based on the complexitiy of this setup, you need to be quite enthusiastic about your homelab.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    I don’t meet all of the items here (my homelab setup is still a WIP), but here’s basically what I have:

    1. Cloudflare manages my domain and DNS, but nothing else; I only use them because they’re cheaper than my last registrar (Namecheap)
    2. VPS at Hetzner acts as my edge - HAProxy forwards packets based on SNI over my WireGuard VPN to the relevant device on my network
    3. I use Caddy on each device to handle TLS, and all services are inside docker with zero directly exposed ports
    4. each service only has access to the files and other containers it needs to accomplish the task
    5. my router is configured w/ static DNS, so all requests to services go to my domain name over TLS, but they don’t hit the WAN if I’m on my LAN

    I don’t have continuous monitoring and alerting, mostly because the only people using my network are me, my SO, and my kids. I am planning on adding some alerting though, and I especially need to configure SMART reporting (had it configured at one time). So when I do that, I’ll add some dashboards for my various other services as well.

    Some things I plan to add:

    • backup and restore - I plan to use Backblaze, my main hurdle is that I don’t want to backup my large media files (movies and whatnot), and I haven’t put in the work to configure a service to handle backups; this is a top priority for me
    • VLANs to separate devices - I want one network w/o internet access for my IP cameras, one for devices that need access to specific external sites (e.g. my smart TV, or a separate media device once I switch to a dumb TV), one for privileged services (e.g. my NAS, which will talk to multiple VLANs), and one for guests
    • continuous monitoring and alerting - each device would report to a service on my VPS (or maybe a separate VPS)
    • home automation system - my focus has been on replacing external services, and I don’t use an automation system yet, so I haven’t gotten to this; but I’m planning on using HomeAssistant as I roll out my other home monitoring stuff

    So I’m probably halfway to what the OP has laid out. I don’t do this type of thing at work, and I don’t share anything outside my network, so I’m in no hurry. However, I do need to handle backups and SMART monitoring on my NAS ASAP, since those are the last glaring gaps in my setup.

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

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

    Fewer Letters More Letters
    CGNAT Carrier-Grade NAT
    DNS Domain Name Service/System
    IP Internet Protocol
    NAS Network-Attached Storage
    NAT Network Address Translation
    SSL Secure Sockets Layer, for transparent encryption
    TLS Transport Layer Security, supersedes SSL
    VPN Virtual Private Network
    VPS Virtual Private Server (opposed to shared hosting)

    [Thread #957 for this sub, first seen 8th Sep 2024, 14:05] [FAQ] [Full list] [Contact] [Source code]

  • adr1an
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    2 months ago

    Nice write-up. I’d take this as a blueprint. Anyone can swap 3rd-party services to their like (e.g. headscale, xmpp bot on that vps, backblaze s3, etc.) and extend upon (e.g. oidc providers, mailboxes, arr suite, etc.)