So I’m relatively new to server hosting. (But experienced with remote web hosting from providers.) After about a year of fighting to run Nextcloud on a hosting company and finally losing everything from the cPanel vulnerability a few months ago, I broke down and launched my own home server. I’m looking for advice to maximize security.

CachyOS Linux with ClamAV Docker via Portainer Nextcloud (E2EE), Immich, DocuSeal and NoteTrace Routed through a domain and subdimains via Zero Trust Cloudflare Tunnel and Cloudflare DNS.

I have regular redundant backups both onsite and offsite with Duplicati.

My passwords for OS and all admin dashboards are extremely long, unique, random strings managed by Bitwarden.

I know just enough about this stuff to get into trouble. What else should I setup? I have little to no monitoring going on and don’t know much about that direction.

  • foggy@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    ·
    15 hours ago

    Use authelia for 2fa

    Disable root ssh

    Disable password authentication for ssh. Keys only.

    Set up Fail2ban

    That’s about all that’s left; 2fa and brute force protection. Good job.

    • StateMachine@lemmy.zip
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      2
      ·
      14 hours ago

      And move SSH to a non-default port. Without that, my public-facing servers get thousands of SSH attacks a day, and it basically goes to zero after moving it to a random-looking high port.

      Also, totally agree with using public key login and disable password login.

      • Ooops@feddit.org
        link
        fedilink
        English
        arrow-up
        10
        ·
        12 hours ago

        That’s generally good advice but not actually security related.

        Removing all the stress on your ressources by using a non-standard port is good for your ressources, But those automated scanners looking for unsecured devices and trying out password like admin/admin are not actually a risk. It’s just a case of security by obscurity and never actually serves its purpose.

        • gastroglizzy@piefed.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          8 hours ago

          Very true. There are only ~65K ports. If someone decides they want to, trying all of them to see which one gives a valid response is trivial.

          • foggy@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            Literally a single nmap command will tell me where you “hid” your ssh port.

            Like the poster you’re responding to said, it is good advice but not for security. It takes you off the hacker spam list, essentially.

            Rereading this it sounds like I am disagreeing with you sorry. Just trying to reiterate your point.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        9 hours ago

        OpenSSH rate limits authentication attempts so it isn’t a big deal. My public VPS gets pounded but it doesn’t matter as it doesn’t really use any system resources.