Background: 15 years of experience in software and apparently spoiled because it was already set up correctly.

Been practicing doing my own servers, published a test site and 24 hours later, root was compromised.

Rolled back to the backup before I made it public and now I have a security checklist.

  • lud@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    Don’t use passwords for ssh. Use keys and disable password authentication.

    • Voroxpete@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      14 days ago

      More importantly, don’t open up SSH to public access. Use a VPN connection to the server. This is really easy to do with Netbird, Tailscale, etc. You should only ever be able to connect to SSH privately, never over the public net.

      • troed@fedia.io
        link
        fedilink
        arrow-up
        0
        ·
        14 days ago

        It’s perfectly safe to run SSH on port 22 towards the open Internet with public key authentication only.

            • DefederateLemmyMl@feddit.nl
              link
              fedilink
              arrow-up
              0
              ·
              14 days ago

              A VPN like Wireguard can run over UDP on a random port which is nearly impossible to discover for an attacker. Unlike sshd, it won’t even show up in a portscan.

              This was a specific design goal of Wireguard by the way (see “5.1 Silence is a virtue” here https://www.wireguard.com/papers/wireguard.pdf)

              It also acts as a catch-all for all your services, so instead of worrying about the security of all the different sshds or other services you may have exposed, you just have to keep your vpn up to date.

              • troed@fedia.io
                link
                fedilink
                arrow-up
                0
                arrow-down
                1
                ·
                14 days ago

                Yeah I don’t do security via obscurity :D I agree you need to keep your Internet facing services up to date.

                (No need to educate me on Wireguard, I use it. My day job is slightly relevant to the discussion)