As the title says, I want to know the most paranoid security measures you’ve implemented in your homelab. I can think of SDN solutions with firewalls covering every interface, ACLs, locked-down/hardened OSes etc but not much beyond that. I’m wondering how deep this paranoia can go (and maybe even go down my own route too!).

Thanks!

  • Gooey0210@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    Notifications on system file access

    Notifications on root login/sudo

    Declarative OS, tmpfs root, disabled sudo

    Bastion server, but right now I don’t have a proper router to do it at home

    Yubikey, or a separate phone on Graphene OS for otp, keys, etc

    Authelia + fascist fail2ban (or some CSF)

    Most of these are pretty normal, but usually you don’t do them all at once 😄 also, I don’t really like hiding my services from the open internet, authelia is fine tuned to let people only access what they are supposed to. And regular users of my server usually don’t notice that I even have it

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

        There are many ways to do many things in nixos

        For updates you can do automatic updates

        Also, there are many deployment tools, like deploy-rs, morph, colmena, bento. They all have different approaches. Some you use ssh to deploy a remote system. Some just fetch the configuration and autodeploy it.

        There are many ways how you can play with this. So you can disable sudo, and deploy with ssh only from some or a specified ip. Or you can keep ssh for root disabled and just deploy home-manager. It’s really a lot, you imagination is the only limit

        P.s. or you can just generate an image from a trusted machine, and flash it onto the device you want, unlimited number of ways

    • SaintWacko@midwest.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      11 months ago

      I’d love to hear more about your Authelia setup. I’m using Authentik, but planning to do the same thing. I haven’t opened my server up to the Internet yet (just built it on Friday), but what I’d like to do is have a webserver that supplies a login page, and you can’t access anything else until you’ve logged in

      • Gooey0210@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        I’m a Nixos user, I wouldn’t be much help unless you do Nixos. But it’s a whole new rabbit hole which would take you months/years to learn and setup 😅

        What I can say, you can do “access from home network”, “access from VPN network”, “1fa/2fa from the internet” OR “access for / and /api, but 1fa/2fa for stuff like /admin, /admin-settings, or just /login or /logged-in”

        Fail2ban is fun, also maybe have a look at crowdsec

        • SaintWacko@midwest.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          Ah, yeah, I’m running Proxmox. And I’m definitely seeing I have a lot of research to do before I open up to the internet!

          • Gooey0210@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            I’m actually not from the “close everything, don’t open ports, always sit behind cloudflare” camp

            We selfhost so we can use and share our services

            There are other things we can practice instead of just isolationism and keeping everything as simple as possible