I noticed that Quad 9 is not able to respond to the spy.pet query:

$ dig spy.pet @9.9.9.9 +short
;; communications error to 9.9.9.9#53: timed out

But Cloudflare DNS is able to do it:

$ dig spy.pet @1.1.1.1 +short
104.26.0.165
104.26.1.165
172.67.74.73

And to be sure, I checked another domain with the same TLD to rule out the option that Quad9 is unable to handle the .pet TLD, but I received a correct answer…

$ dig hello.pet @9.9.9.9 +short
3.64.163.50

Does Quad9 censor DNS queries?

  • @TCB13
    link
    English
    -7
    edit-2
    23 days ago

    Because:

    Quad9 blocks lookups of malicious host names from an up-to-the-minute list of threats. (…) If the system detects that the site you want to reach is known to be infected, you’ll automatically be blocked from entry – keeping your data and computer safe.

    If you query their “unsecure” servers, it works:

    dig spy.pet "@9.9.9.10" +short
    104.26.1.165
    172.67.74.73
    104.26.0.165
    

    I would never use a provider that has the means in place / likes to filter the DNS - you never know when a govt will ask them to kill a certain domain (even for the “unsecure” servers) or redirect things.

    • @[email protected]
      link
      fedilink
      2724 days ago

      Don’t all providers have the ability to filter things?

      Personally I have very few problems with DNS providers filtering out malware, that sounds like a benefit to me.

      • @TCB13
        link
        English
        -424 days ago

        Don’t all providers have the ability to filter things?

        It depends on what you can consider “the ability”. If by ability you mean have to deploy a team of engineers working for a week to make it happens, that’s okay, if they’ve their system built for it things are different.

        • @[email protected]
          link
          fedilink
          1024 days ago

          I can do this in like 5 seconds with my PiHole and not only am I not a network engineer, I would encourage people to never employ me as such.

          So for an actual business that has a bigger budget than me ($0) and more hours to devote to it than me (.02), shouldn’t it be less of a problem?

          • @TCB13
            link
            English
            -224 days ago

            I can do this in like 5 seconds with my PiHole and not only am I not a network engineer,

            Exactly and consider Cloudflare for instance, adding an “if domain block” is easy but then once you’ve thousands of servers running the same piece of software across the globe deploying updates and features becomes way slower and way harder. You’ve to consider tests, regressions, a way to properly store and sincronize the blocklists across nodes etc…

            I’m not saying it can be done, because it can. But it will take longer and it will be a problem for someone. Besides you only have that point and click interface in your PiHole that allows you to do it in .02 because someone spend a few hours developing the feature. :)

            • @[email protected]
              link
              fedilink
              English
              5
              edit-2
              24 days ago

              but then once you’ve thousands of servers running the same piece of software across the globe deploying updates and features becomes way slower and way harder. You’ve to consider tests, regressions, a way to properly store and sincronize the blocklists across nodes etc…

              This is what we’re trying to explain to you, this is how DNS works. Those thousands of servers? Recusrive DNS resolvers, ran by Cloudflare. All watching and caching the records from Cloudflare’s authoritative nameservers in near real time, because that’s how it was designed. You don’t need to test for regressions, figure out how to properly store and synchronize the “blocklist” (it’s not a blocklist, it’s changing a domain record or simply using a CNAME to point to the registrar) or whatever else, because DNS is continuous, and it was designed to do what you’re describing, in the 90’s.

              Yes, if you’re updating your infrastructure, you’d want to test. But this isn’t that.

              Ever ran into an expired domain and thought about how the registrar can just park an expired domain and make it an ad for themselves? That’s just them adding a CNAME in their authoritative nameservers, which gets distributed globally. The prior delinquent owner can still be hosting, but because they don’t have the authoritative nameserver they can’t use the domain anymore.

        • OsaErisXero
          link
          fedilink
          4
          edit-2
          24 days ago

          The ability to selectively respond to DNS requests is integral to the function of DNS. The only real issue here is that there isn’t a standard response code indicating the reason for not returning the record like there is in http

          • @TCB13
            link
            English
            -324 days ago

            The ability to selectively respond to DNS requests is integral to the function of DNS.

            The availability of such feature and how useful it might be to block something is dependent on the actual implementation (software) you’re using.

    • @[email protected]
      link
      fedilink
      1324 days ago

      Making a DNS server not respond to queries for a specific name is trivial for any DNS provider to implement, this is not a situation where they would have to develop months worth of new features to support that if the government asked.

      • @TCB13
        link
        English
        -424 days ago

        Making a DNS server not respond to queries for a specific name is trivial for any DNS provider to implemen

        It might not be that easy, you’re thinking about one single server running some kind of DNS server you’re familiar with. When we’re talking about Quad9, Cloudflare etc. were talking about hundreds of servers across the planet, highly distributed solutions that rely on multicast and other non-trivial techniques. If you’ve to change a system like that to add the ability to block something, trust me, it won’t take a few hours.

        • @[email protected]
          link
          fedilink
          English
          324 days ago

          DNS is literally distributed by design. It’s how it works. Even if a deployment was done for some reason, it would not take more than a single engineer (an engineer really isn’t even necessary for this, because again, it’s built into DNS).

          • @TCB13
            link
            English
            -224 days ago

            DNS is literally distributed by design

            You know you can setup a single instance of PDNS or other resolver and by default they all work in a non-distributed way. You assuming to much, and again while it is likely that most providers running custom stacks already have the functionally built in, it isn’t a guarantee and once you’ve thousands of servers running the same piece of software across the globe deploying updates and features becomes way slower and way harder.

            • @[email protected]
              link
              fedilink
              English
              4
              edit-2
              24 days ago

              That is not what they do, though. Just because a non standard configuration is possible doesn’t mean that’s the best thing to use. DNS, by design, uses authoritative nameservers, which is what cloudflare and quad9 host. These authoritative hosts distribute their records to caches (usually just recursive DNS resolvers) to ease and distribute the load. It’s literally in all of their documentation, and explained in pretty plain english on their pages.

              https://www.cloudflare.com/learning/dns/what-is-dns/ https://www.quad9.net/about/

              Much of the Quad9 platform is hosted on infrastructure that supports authoritative DNS for approximately one-fifth of the world’s top-level domains, two root nameservers, and which sees billions of requests per day.

              When a record is updated in your domain (or cloud) provider, it is distributed via an authoritative nameserver hosted by that company. These get distributed to the root name servers, which then distribute the records to other authoritative nameservers.

              I don’t know why you’re arguing over this, when it’s one of the first things you learn in information systems and networking. Sure, there’s a lot of stuff for the infrastructure. But the way DNS works on these hosts is still the same, and blocking a single record is not difficult and does not take extra engineering effort. The authoratative hosts simply change their records and it’s done. DNS takes care of the rest.

              There’s an entire wikipedia page on this: https://en.wikipedia.org/wiki/DNS_blocking

              • @TCB13
                link
                -224 days ago

                The thing is, everything you said is correct. But if you think they can just solve this globally for everyone and everything without delays by just pushing things their root servers or the first line of authoritative ones then what else can I say.

                • @[email protected]
                  link
                  fedilink
                  English
                  124 days ago

                  They can, because that’s how DNS works. This is why when you update a record for your domain it’s updated globally in near real time with multiple providers. I don’t know how else to tell you that it already works this way. I work in the cloud, and deal with this stuff on a daily basis.

                  • lemmyreader
                    link
                    fedilink
                    English
                    124 days ago

                    This is why when you update a record for your domain it’s updated globally in near real time with multiple providers.

                    Depending on the TTL, right ?

                  • @TCB13
                    link
                    English
                    -224 days ago

                    This is why when you update a record for your domain it’s updated globally in near real time with multiple provider

                    So, you know that “near real time” is different from actual real time.

        • @[email protected]
          link
          fedilink
          324 days ago

          It would literally be easier to add that capability to your own custom DNS server software. After all it is literally an “if query.name in blocklist then drop connection”. Even replacing results would be simple as long as DNSSEC is not involved. You wouldn’t have to add it though since all major DNS servers already include it because it is so simple and has legitimate uses, such as blocking malware control server names or ad blocking.

          • @TCB13
            link
            English
            -324 days ago

            Yes, it is likely that most providers running custom generic or custom stacks already have the functionally built in and also yes, adding an “if” is easy but then once you’ve thousands of servers running the same piece of software across the globe deploying updates and features becomes way slower and way harder. You’ve to consider tests, regressions, a way to properly store and sincronize the blocklists across nodes etc…

            • Monkey With A Shell
              link
              fedilink
              223 days ago

              How much simpler can I make this…

              You have a primary ‘master’ server in the pool.

              Replica/cache servers periodically ask the master for any updates.

              Master gives a new update, which is a sinkhole for a marked malicious domain.

              Replica/cache server now resolves malicious domain to the sinkhole address.

              This is not a ‘feature’ you have to implement, it’s a basic function of running a redundant DNS system.

      • @TCB13
        link
        English
        -224 days ago

        Yes, but if the provider doesn’t have the capabilities baked in they’ll take more time to comply or just not do it at all.

          • @TCB13
            link
            English
            -2
            edit-2
            24 days ago

            And blocking websites is trivial.

            Nothing is trivial at scale. When we’re talking about Quad9, Cloudflare etc. were talking about hundreds of servers across the planet, highly distributed solutions that rely on multicast and other non-trivial techniques. If you’ve to change a system like that to add the ability to block something, trust me, it won’t take a few hours and a LOT of testing will be required before pushing into production.

            • @[email protected]
              link
              fedilink
              English
              324 days ago

              The ability to change address records at global scale is built into DNS. It’s not a new thing.

              • @TCB13
                link
                English
                -324 days ago

                Nothing is “built into DNS”. DNS is a couple of RFCs that include specifications on how the thing should work. What features one implementation (software) has is decision of those who made it and nothing else.

                • @[email protected]
                  link
                  fedilink
                  English
                  2
                  edit-2
                  24 days ago

                  What you said here is not really on topic, but it is literally part of DNS. I already explained it in my other comment, but here:

                  DNS, by design, uses authoritative nameservers, which is what cloudflare and quad9 host. These authoritative hosts distribute their records to caches (usually just recursive DNS resolvers) to ease and distribute the load. It’s literally in all of their documentation, and explained in pretty plain english on their pages.

                  https://www.cloudflare.com/learning/dns/what-is-dns/

                  https://www.quad9.net/about/

                  Much of the Quad9 platform is hosted on infrastructure that supports authoritative DNS for approximately one-fifth of the world’s top-level domains, two root nameservers, and which sees billions of requests per day.

                  When a record is updated in your domain (or cloud) provider, it is distributed via an authoritative nameserver hosted by that company. These get distributed to the root name servers, which then distribute the records to other authoritative nameservers.