I am looking to setup a public DNS server and I found this DNS server

https://technitium.com/dns/

Does anyone know what the risks are of exposing the DNS port to the internet? How likely am I to get compromised? Is this a really bad idea?

  • AtariDump@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    1
    ·
    edit-2
    6 months ago

    Do. Not. Open. Port. 53. To. The. Internet.

    Just Don’t.

    This is a really bad idea.

    If you’re trying to reach something on your network, VPN back in.

    • Nik282000@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      6 months ago

      I ran my ssh behind 53 for a while because it’s rarely blocked. A few bots even got it right and figured out it was ssh.

      • 𝕽𝖔𝖔𝖙𝖎𝖊𝖘𝖙@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 months ago

        I use a DNS server on my local network, and then I also use Tailscale.

        I have my private DNS server configured in tailscale so whether on or off my local network everything uses my DNS server.

        This way I don’t have to change any DNS settings no matter where I am and all my domains work properly.

        And my phone always has DNS adblocking even on cell data or public Wi-Fi

        The other advantage is you can configure the reverse proxy of some services to only accept connections originating from your tailscale network to effectively make them only privately accessible or behave differently when accessed from specific devices

      • ikidd@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        6 months ago

        From outside? Set up a Cloudflare account and point the NS from your registrar to it.

        From inside? Set up unbound on a docker host and don’t open it to the internet. Use that one when you’re local and the normal public DNS when you’re outside. But everything I’m seeing in here makes me sure you shouldn’t even consider opening ports in your firewall to expose inside host services. Use a VPN when you’re roaming, and only use your DNS for local servers/hosts via that VPN. The only use for your outside domain name should be to point a single hostname to your outside IP address so you can use it for your VPN endpoint.

        Use DNS challenges for LetsEncrypt cert requests and remove host entries from your Cloudflare after you get your cert.

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

          Use encryption, using vpns for such a trivial task is a “really bad idea”

          There are many cases when somebody wants to have their dns public, maybe they want to share with their friends, family, community, audience (not everyone is a solo server user)

          Also, it’s good to use your dns even before connecting to the vpn. Just use encryption, it’s safe and nice

          Keeping 53 opened is not that bad, the only thing you will notice is an increased load on your server if somebody tried to ddos somebody’s server using your dns

          P.S. Or as somebody mentioned below, use rate limiting. It’s described pretty well in some other comments. Not just “spooky internet port”

          • atzanteol@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            edit-2
            6 months ago

            Use a public dns provider. Cloudflare, route53, dyndns (are they still around?), etc. Cheap, reliable, no worries about joining a ddos by accident. Some services are better left to experts until you really know what you’re doing.

            And if you do really know what you’re doing you’ll use a dns provider rather than host your own.

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

              Cloudflare is not private… not sure if dyndns has even worse reputation than cloudflare

              Some services are better left to experts until you really know what you’re doing.

              DNS, for experts? 😂

              You host your own dns, and don’t work with glowing services, this is the private way

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

                Host your own private DNS - yes, knock yourself out. I highly recommend it.

                Public DNS? No - don’t do that.

                There are two services homegamers should be extra cautious of and should likely leave alone - DNS and email. These protocols are rife with historic issues that affect everybody, not just the hosting system. A poorly configured DNS server can participate in a DDOS attack without being “hacked” specifically. A poorly configured mail server can be responsible for sending millions of spam emails.

                For a homegamer you probably only need a single public DNS record anyway (with multiple CNAME if you want to do host based routing on a load balancer). You take on a lot of risk with almost zero benefit.

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

                  You don’t knock yourself out, it doesn’t look like you ever even tried it

                  See you when you start selfhosting stuff, or at least get interested

                  Also, knocking yourself out is not privacy, but anonymity 🤭