I’m almost ready with my lemmy instance server. Now what are some steps that are definitly worth doing after setup?

  • Wander@yiffit.net
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    1 year ago

    Definitely install fail2ban and use certificates for ssh authentication. Also, use cloudflare and consider using an email delivery service like jetmail instead of sending mail directly from the instance.

    You could then block any incoming traffic that doesn’t come for port the ssh port or from cloud flare for port 443.

    • Samuel Proulx@rblind.com
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 year ago

      In my opinion, folks should avoid Cloudflare at all costs. They’re free speech maximalists with a history of defending NAZI’s and other terrible people. They only discontinue service to white nationalists when the media attention gets too hot. Then they turn around and let them back in once things have died down.

      Also, speaking as a screen reader user, if they think your IP address is suspicious (maybe because you’re using Tor or a VPN), they present an inaccessible captcha and don’t offer work-arounds. Then because the entire website is blocked behind the captcha, screen reader users can’t even get in contact with you to let you know what’s happening.

      • Fizz@lemmy.nz
        link
        fedilink
        English
        arrow-up
        18
        ·
        1 year ago

        Cloudflare is a major player in the infrastructure of the internet. The should remain neutral and provide their service to anyone operating within the law.

      • DXLUSION@beehaw.org
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year ago

        Care to share any source on the first part? Not doubting, I’m just genuinely curious because this is the first time I’ve read that.

        • Samuel Proulx@rblind.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          From a Mashable article published at the time, quoting the CEO in his own words:

          In an interview, Prince expressed doubt about his decision to remove The Daily Stormer from Cloudflare, and conveyed concern over companies like his own, and their ability to pull a lever, and knock a website offline.

          • Leigh@beehaw.orgM
            link
            fedilink
            English
            arrow-up
            13
            ·
            edit-2
            1 year ago

            If you go back to [the] early days of Cloudflare, we’ve wrestled with: ‘What is our role in term of controlling what content flows through our network?’ And we believed that the right principle was to remain content neutral.

            I think he’s exactly correct. This is what Net Neutrality is about. Service providers on the Internet should be treated like a utility. It’s easy to conflate this issue with that of ‘tolerating the intolerant,’ but I don’t think that’s correct at all. It’s also an argument that many parts of the Internet infrastructure have had. Cloudflare is a big part of the infrastructure underpinning the Internet at large, but it’s only a part. There are many others that need to come together to support a simple website. What about RIRs (Regional Internet Registries) like ARIN, who are responsible for allocating IP addresses? If you’re going to be upset with Cloudflare for struggling about whether or not to be neutral, why should they get off the hook? I think it’s probably because most people don’t understand how the Internet works, and so they remain ignorant of what goes into simply ‘hooking up’ a website to the Internet, allowing these other critically necessary components to fly under the radar of the public attention.

            The debate about various Internet infrastructure entities remaining neutral has long raged. By and large, the communities that build and maintain these kinds of underpinnings have come down on the side of remaining neutral. It’s a vastly complex situation, with no easy answers, and a LOT of ‘hidden’ variables and concerns.

    • lemmy@melly.0x-ia.moe
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Also, use cloudflare and …

      I was using CF initially for proxying, but noticed some weirdness with federation. I would only get updates from Beehaw, but lemmy.world and other servers’ updates wouldn’t come through. As soon as I dropped the proxy and restarted the server, my instance got flooded by updates. I’m really not sure where to start debugging, so I’ve kept it off for now

    • Salamander@mander.xyz
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      consider using an email delivery service like jetmail instead of sending mail directly from the instance

      Why is this better? To overcome spam filters, or is there some security risk associated with e-mails?

      • Wander@yiffit.net
        link
        fedilink
        arrow-up
        6
        ·
        1 year ago

        Better delivery and avoids exposing your IP via emails, although it’s best to setup a some sort of tunnel to avoid having that problem altogether.

        • Salamander@mander.xyz
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Better delivery and avoids exposing your IP via emails, although it’s best to setup a some sort of tunnel to avoid having that problem altogether.

          Is it possible to have a public-facing instance without exposing your IP? I am not sure I understand that part, and I am very interested in understanding how to achieve that.

          • Wander@yiffit.net
            link
            fedilink
            arrow-up
            5
            ·
            1 year ago

            Yes, you tunnel all your traffic through cloudflare. Google “Cloudflare tunnel”.

            Whatever people say about cloudflare, right now it’s a necessity if you manage a public facing server and don’t have the resources to avoid DDoS attacks.

            • Salamander@mander.xyz
              link
              fedilink
              arrow-up
              4
              ·
              1 year ago

              Thank you! I will look into cloudfare, what people say about it, and what resources are necessary to avoid DDoS attacks without it!

          • ActuallyRuben@actuallyruben.nl
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            For incoming http(s) connections you can hide behind Cloudflare, which also helps for caching pictures. For outgoing connections to other instances you could also hide behind an outgoing proxy, in my opinion that’s not really necessary, but I’m sure others would disagree on that.

  • PenguinCoder@beehaw.org
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Practice standard server security.

    • Disable all inbound ports in the firewall except for those you absolutely need (like port 80/TCP, port 443/TCP, sshport/TCP, DENY all other inbound)
    • Use the principle of least privilege. Don’t run your docker containers or web server as the root user. Make a new user, give it only the permissions needed in order to run the service definitely not sudo group. Set a strong password for those users, and disable remote/SSH logins for them
    • For SSH, use public key authentication, disable password login afterward
    • Instead of fail2ban, I like and would recommend Crowdsec. Needs some fiddling for Lemmy though, due to rate limits and federation