Live data from Hacker News

DNS servers that offer privacy and filtering

danielmiessler.com

61–70 of 95 posts

Re: DNS servers that offer privacy and filtering

#61
post #54

Earlier quoted context omitted.

Not sure what timing attacks you are talking about. Having traffic analysis in your threat model is an extreme choice, typically it means your adversaries include law enforcement agencies or state-level actors. Sending DNS over VPN might just mean that you don’t trust your ISP and think they might intercept the request and forge a response—something which does happen, and I’ve personally observed it at two different…

It's not in my threat model per se, but it's something I give a lot of thought to because systems like this are expected to be used by political dissidents, whistleblowers and other persecuted individuals who are subject to such threat models. My ISP probably forges responses because they have no problem injecting html/js and hijacking ad space on unencrypted connections. As far as timing attacks, an example would be…

> It's not in my threat model per se, but it's something I give a lot of thought to because systems like this are expected to be used by political dissidents, whistleblowers and other persecuted individuals who are subject to such threat models.

This is wrong, you should not expect political dissidents, whistleblowers, and other people in the same category to use similar techniques to protect themselves.

If you are protecting yourself from different threats, then it is not unreasonable to use different methods to protect yourself. There is an inherent tradeoff between security and usability. If law enforcement or state-level actors are in your threat model, you're going to have to make some extreme usability sacrifices just to keep yourself safe. That means using different systems than other people use.

> Even though you are at a coffee shop in an undisclosed location miles away from home, if LE has a reason to profile the IP you're broadcasting from at home they could do look at request times and try to link a request from the coffee shop to your home DNS server.

You're describing a different system. The system described by kingo555 is just for home.

> As far as timing attacks, an example would be such: Even though you are at a coffee shop in an undisclosed location miles away from home, if LE has a reason to profile the IP you're broadcasting from at home they could do look at request times and try to link a request from the coffee shop to your home DNS server.

That's just traffic analysis. The term "timing attack" refers to something else.

If you're a political dissident, whistleblower, or someone else with law enforcement / state-level actors in your threat model, everything changes. Presumably if you are worried about law enforcement, you put the VPN endpoint outside their jurisdiction. This can make it extremely difficult to do traffic analysis, depending on who your adversary is.

I think it makes sense that not everyone has law enforcement and state-level actors in their threat model.

Re: DNS servers that offer privacy and filtering

#62
post #26

Another option here is DNS servers that block ads. I can't vouch for the company itself, but I have found AdGuard DNS reliable and effective, if not memorable: 176.103.130.130, 176.103.130.131 https://adguard.com/en/adguard-dns/overview.html

Run your own: https://pi-hole.net/

And then either install Cloudflared [1], or Unbound [2].

[1] https://bendews.com/posts/implement-dns-over-https/

[2] https://pi-hole.net/2018/06/09/ftldns-and-unbound-combined-f...

Re: DNS servers that offer privacy and filtering

#63
post #16

Earlier quoted context omitted.

The advantage of pinging IPs is that you don’t have to have a working DNS setup to test your connection. If DNS does work, then your connection probably works, too.

In this case one should run "ping -n", otherwise ping will hang trying to resolve the IP into an hostname, if the DNS is misbehaving or not responding.

what default(included in OS) ping utility tries to reverse-lookup an address before pinging, and hangs if it can't.

I've never observed this in any version of Windows nor Linux.

Re: DNS servers that offer privacy and filtering

#64
post #7

DNS servers should not be used as "internet connectivity tests" by pinging them. They are not maintained as ICMP test servers, and that is not their purpose. While many do not block ICMP packets, there are typically rate limiting systems in place, and other reasons why they would not respond to ping requests. Pinging DNS servers is a shitty inconclusive test for internet connectivity, or SLA measurements etc etc.

So, what should we ping for testing Internet connectivity ?

I just ping google.com when I need a quick sanity check.

Re: DNS servers that offer privacy and filtering

#66
post #60

I used OpenDNS long ago, even though it wasn't as easy to remember as the ones that came later. Then I shifted to Google DNS and stayed with it, albeit with some discomfort (even if the policies state it doesn't track, it's still a leap of faith for me). Then last year I switched to Cloudflare DNS and also learned about Quad9 DNS. I haven't done local benchmarking using a tool like namebench for a long time, and it l…

> I haven't done local benchmarking using a tool like namebench for a long time, and it looks like that tool has not been updated for several years.

In fairness, the DNS protocol that it's testing hasn't really changed in that time either. namebench is still sufficient for general testing.

Re: DNS servers that offer privacy and filtering

#67
post #56
post #2

I know this is not for everyone, but I strongly prefer to run my own recursive resolver at home. Performance is great, plus I get regular DNS for the machines on my home network. Also, it was a fun little project. :)

That's great and all, but you still need to pick an upstream DNS server. The conventional advice is to use one of these public services, or your ISP's resolvers, to avoid hitting the root servers constantly. A lot of services these days have very short TTLs, so running your own recursive resolver still causes a lot of requests to get forwarded. Also, as counterintuitive as it might seem, when I use namebench ( https:…

[deleted]

Re: DNS servers that offer privacy and filtering

#68
post #54

Earlier quoted context omitted.

It's not in my threat model per se, but it's something I give a lot of thought to because systems like this are expected to be used by political dissidents, whistleblowers and other persecuted individuals who are subject to such threat models. My ISP probably forges responses because they have no problem injecting html/js and hijacking ad space on unencrypted connections. As far as timing attacks, an example would be…

> It's not in my threat model per se, but it's something I give a lot of thought to because systems like this are expected to be used by political dissidents, whistleblowers and other persecuted individuals who are subject to such threat models. This is wrong, you should not expect political dissidents, whistleblowers, and other people in the same category to use similar techniques to protect themselves. If you are p…

> This is wrong, you should not expect political dissidents, whistleblowers, and other people in the same category to use similar techniques to protect themselves.

I don't know how you can say I'm wrong when I was making the general conjecture that people in these categories use privacy-enhancing systems. I don't think you understood me well. I was not specifically referring to any particular set of techniques or systems.

> You're describing a different system. The system described by kingo555 is just for home.

This system is not meant to be used when roaming? Or is this a use case?

> The term "timing attack" refers to something else.

Which is why I specifically listed both timing attacks and traffic analysis separately. They can be interrelated at times but that's not something I feel like discussing.

> If you're a political dissident, whistleblower, or someone else with law enforcement / state-level actors in your threat model, everything changes. Presumably if you are worried about law enforcement, you put the VPN endpoint outside their jurisdiction. This can make it extremely difficult to do traffic analysis, depending on who your adversary is.

I appreciate the lesson in OPSEC but I only asked a simple question and you've devolved into trying to tear apart my comment for errors and lecturing me about things I already know about instead of simply answering the question. In this case, the answer is apparently "Well, your question isn't really relevant because this system is just meant for home use." One helpful sentence, no assumptions and no negativity.

> I think it makes sense that not everyone has law enforcement and state-level actors in their threat model.

Cool. No one was saying anything to the contrary.

Re: DNS servers that offer privacy and filtering

#70
post #56
post #2

I know this is not for everyone, but I strongly prefer to run my own recursive resolver at home. Performance is great, plus I get regular DNS for the machines on my home network. Also, it was a fun little project. :)

That's great and all, but you still need to pick an upstream DNS server. The conventional advice is to use one of these public services, or your ISP's resolvers, to avoid hitting the root servers constantly. A lot of services these days have very short TTLs, so running your own recursive resolver still causes a lot of requests to get forwarded. Also, as counterintuitive as it might seem, when I use namebench ( https:…

You actually don't have to. The TTLs on NS records are generally pretty long, especially the root servers (6 days for root, 2 days for both .com and my domain's NS). You will hit the .com for example the first time you go to a domain, but so does Google.

In my experience, Google's DNS has so many servers that even on subsequent requests, you hit a different server and it has to do the full lookup again (likely querying a root unless it's a popular domain). It's not really decreasing the load on the root servers that much, if at all. It might actually increase the load.

One trick you can do to speed up your local recursive resolver is allowing it to serve expired records. Unbound in pfsense allows for this. If the record has been previously retrieved but is expired, it returns the record with a 0 TTL (to force the client to look it up again next time). This includes internally using expired NS records, for example to lookup a different subdomain. Meanwhile, in the background, it looks up all the records used to refresh the TTL, and serves/uses this next time. Generally speaking, expired records still work fine. I noticed that Cloudflare DNS does this as well, and regularly serves 0 TTL records.

I've found that this consistently makes my local resolver faster than any public DNS server, except sometimes the very first time it looks up a domain. The slowest DNS queries are records which use lots of nested CNAMES on different domains with short TTLs, such as www.microsoft.com / most sites using akamai, which takes 500ms for the first lookup. There was a domain I saw the other day which had 4 or 5 layers of CNAMES which took 1-1.5 seconds to resolve initially.

Post reply on HN