Why not use DNS over HTTPS (DoH)?
141 points
11 hours ago
| 36 comments
| bsdhowto.ch
| HN
josephcsible
4 hours ago
[-]
This article is totally wrong. I'm not sure how it got so much traction. Details:

> But slowly people started to realize what the collaboration between Mozilla and Cloudflare really means: Cloudflare gets all your DNS queries.

There are a lot of DoH providers other than Cloudflare. https://github.com/curl/curl/wiki/DNS-over-HTTPS lists several. If you don't want Cloudflare seeing your DNS requests, then use one of them instead. (And even for users who do just stick with the default, I think it's better privacy-wise for Cloudflare to see that data than for the average American ISP to.)

> Yes, there is. It is called DNS over TLS and is specified as a proposed standard in RFC 7858. This provides transport encryption to DNS without abusing HTTP as transport protocol.

The only difference between DoT and DoH is that DoT is easier to block and force fallback to totally insecure DNS. There's no reason to ever use DoT if you can use DoH. (And I don't get why the author likes it better: whoever runs the DoT server gets the exact same data that they'd get with a DoH server instead.)

> No, it is not. Abusing HTTP as a transport protocol for DNS data adds a unneeded complexity to the protocol. You must add a HTTP module to all DNS servers or interact with a separated HTTP server on the same system in order to support DoH. That is a lot of code which can contain a lot of bugs and security flaws. Complexity is the enemy of security.

The extra complexity of HTTP is massively outweighed by the significant reduction in fallbacks to insecure DNS.

reply
AnthonyMouse
2 hours ago
[-]
> If you don't want Cloudflare seeing your DNS requests, then use one of them instead.

Normal people have no idea that this even exists, much less how to do it, so they're still having all their queries routed to Cloudflare by default.

> The only difference between DoT and DoH is that DoT is easier to block and force fallback to totally insecure DNS.

A normal middlebox can't even tell the difference between DoH and DoT because they both just look like TLS. A corporate one that requires you to install certificates on the client so that it can, is just as able to block DoH as DoT.

And fallback isn't required in either case. If some network is blocking encrypted DNS, the client device can be configured to fail rather than use the insecure DNS, at which point the user knows that the network is adversarial and can switch to a VPN or a cellular connection etc.

reply
josephcsible
2 hours ago
[-]
> Normal people have no idea that this even exists, much less how to do it, so they're still having all their queries routed to Cloudflare by default.

This goes the other way too. Normal people don't know about DNS at all, and without DoH, are leaking all of their DNS queries to their ISP without knowing.

> A normal middlebox can't even tell the difference between DoH and DoT because they both just look like TLS.

DoT uses port 853, which can just be blocked wholesale. It's not feasible to do the same for DoH since it uses port 443.

> And fallback isn't required in either case. If some network is blocking encrypted DNS, the client device can be configured to fail rather than use the insecure DNS, at which point the user knows that the network is adversarial and can switch to a VPN or a cellular connection etc.

It can be, but it's not the default on any mainstream system. Normal people won't change defaults, and they deserve privacy too.

reply
AnthonyMouse
2 hours ago
[-]
> This goes the other way too. Normal people don't know about DNS at all, and without DoH, are leaking all of their DNS queries to their ISP without knowing.

But is this actually any better than leaking them to Cloudflare? There is at least the possibility that the ISP isn't logging them and that they only run a DNS server because their customers expect one.

It's hard to imagine any reason for Cloudflare to do it other than because they want to analyze DNS traffic, and then it's in a much more centralized location than to be distributed across every network and ISP.

> DoT uses port 853, which can just be blocked wholesale. It's not feasible to do the same for DoH since it uses port 443.

So run DoT over port 443. The benefit of DoT is removing the implementation complexity of a pointless HTTP stack.

> Normal people won't change defaults, and they deserve privacy too.

So change the system defaults to use DoT. That might even get you port 853 open, because breaking the defaults in popular devices would get the network admins off their butts to notice that a new protocol exists.

reply
burnerthrow008
1 hour ago
[-]
> It's hard to imagine any reason for Cloudflare to do it other than because they want to analyze DNS traffic, and then it's in a much more centralized location than to be distributed across every network and ISP.

Isn't bot/DDoS protection a very obvious reason for Cloudfare to do it?

Any normal user agent will make a DNS request shortly before requesting a page from that domain. A normal user agent will also request the page from the IP returned by the DNS server.

Attempting to connect to a server IP hosted by Cloudfare from a client IP that has not recently received that server IP in a DNS response seems like an obvious signal for their bot/DDoS mitigation system.

reply
AnthonyMouse
1 hour ago
[-]
> Any normal user agent will make a DNS request shortly before requesting a page from that domain. A normal user agent will also request the page from the IP returned by the DNS server.

How does that tell them anything when there are many legitimate client devices using someone else's DNS servers?

reply
josephcsible
2 hours ago
[-]
> But is this actually any better than leaking them to Cloudflare? There is at least the possibility that the ISP isn't logging them and that they only run a DNS server because their customers expect one.

> It's hard to imagine any reason for Cloudflare to do it other than because they want to analyze DNS traffic, and then it's in a much more centralized location than to be distributed across every network and ISP.

Your ISP knows your real-world identity, whereas Cloudflare just knows your IP address. And I trust most ISPs, e.g., Comcast, less than I trust Cloudflare.

> So run DoT over port 443. The benefit of DoT is removing the implementation complexity of a pointless HTTP stack.

That would be perfectly fine and address all of these problems, but it isn't how things work today, and unless/until it does happen, I think DoH is way, way better than DoT over port 853.

> So change the system defaults to use DoT. That might even get you port 853 open, because breaking the defaults in popular devices would get the network admins off their butts to notice that a new protocol exists.

That'd only be true if the system defaults prevented fallback to insecure DNS, and so far, the few systems that support any form of secure DNS all will automatically do insecure fallback.

reply
AnthonyMouse
2 hours ago
[-]
> Your ISP knows your real-world identity, whereas Cloudflare just knows your IP address.

Your ISP also just knows your IP address. They may have some information linking that IP address to a person, but so does Cloudflare, which does a MITM on half the internet and thereby knows not just your identity but the things inside the TLS connections you make.

> That'd only be true if the system defaults prevented fallback to insecure DNS, and so far, the few systems that support any form of secure DNS all will automatically do insecure fallback.

So change the system defaults instead of having the browsers disrespect the system settings that may well have been purposely set by the user.

reply
josephcsible
2 hours ago
[-]
> Your ISP also just knows your IP address. They may have some information linking that IP address to a person, but so does Cloudflare, which does a MITM on half the internet and thereby knows not just your identity but the things inside the TLS connections you make.

But then Cloudflare has your info even without DoH, so in that case, it's strictly more private to use DoH.

> So change the system defaults instead of having the browsers disrespect the system settings that may well have been purposely set by the user.

Just like you said about running DoT over port 443: this is a totally reasonable thing that would solve the problem, but it isn't how things work today, and unless/until it does happen, I think browsers defaulting to using secure settings when the system settings are insecure is the better option. (Especially since users who purposely don't want DoH can just manually configure their browser too in that case.)

reply
AnthonyMouse
1 hour ago
[-]
> But then Cloudflare has your info even without DoH, so in that case, it's strictly more private to use DoH.

They have your info when the site you're accessing uses Cloudflare, which means they know more than enough to identify you.

Now you're telling them when you access a site that doesn't use Cloudflare.

> Just like you said about running DoT over port 443: this is a totally reasonable thing that would solve the problem, but it isn't how things work today, and unless/until it does happen, I think browsers defaulting to using secure settings when the system settings are insecure is the better option.

How do you get them to stop doing it once a better solution exists?

> Especially since users who purposely don't want DoH can just manually configure their browser too in that case.

This is the problem with doing it this way. Suppose I don't want DoH in my house, how do I get rid of it? Configure six different browsers on each of the dozens of devices in my family and hope I didn't miss any?

It needs something in the nature of "change this DHCP option on your internet gateway" is the issue, but that thing needs to be a universal standard that everything respects.

reply
josephcsible
1 hour ago
[-]
> They have your info when the site you're accessing uses Cloudflare, which means they know more than enough to identify you.

> Now you're telling them when you access a site that doesn't use Cloudflare.

But if Cloudflare already has that info from half the Internet, then the loss of privacy from that is outweighed by the gain of privacy from hiding it from your ISP.

> How do you get them to stop doing it once a better solution exists?

Once Windows, macOS, iOS, and Android all default to secure DNS with no automatic fallback, I expect browser vendors will be perfectly happy to change it.

> This is the problem with doing it this way. Suppose I don't want DoH in my house, how do I get rid of it? Configure six different browsers on each of the dozens of devices in my family and hope I didn't miss any?

The phrase "devices in my family" sounds a lot like "other people's devices", so wanting that seems uncomfortably close to what the malicious network operators want.

> It needs something in the nature of "change this DHCP option on your internet gateway" is the issue, but that thing needs to be a universal standard that everything respects.

That's specifically what there needs to not be, because if such a setting existed, malicious networks would all just use it.

reply
AnthonyMouse
1 hour ago
[-]
> But if Cloudflare already has that info from half the Internet, then the loss of privacy from that is outweighed by the gain of privacy from hiding it from your ISP.

Except that your ISP gets it anyway via SNI and seeing which IP addresses you connect to.

> Once Windows, macOS, iOS, and Android all default to secure DNS with no automatic fallback, I expect browser vendors will be perfectly happy to change it.

Then why is Chromecast hard-coded to use Google's DNS with no option to even manually change it?

> The phrase "devices in my family" sounds a lot like "other people's devices", so wanting that seems uncomfortably close to what the malicious network operators want.

The "devices in my family" want the same DNS server because they want to be blocking ads and malware. The issue is there are then rather a large number of them and requiring them each to be configured individually with many opportunities for omissions becomes a security vulnerability, since omissions allow the malware through.

You also need this if you want devices to resolve local names.

> That's specifically what there needs to not be, because if such a setting existed, malicious networks would all just use it.

The browsers already have this:

https://support.mozilla.org/en-US/kb/canary-domain-use-appli...

The problem is it's not a standard so then not everything respects it or does it the same way, and devices not implementing it out of malice (e.g. to purposely avoid ad blocking) get to pretend they're not doing anything untoward.

reply
josephcsible
1 hour ago
[-]
> Except that your ISP gets it anyway via SNI and seeing which IP addresses you connect to.

Hence my point about CDNs and ECH upthread.

> Then why is Chromecast hard-coded to use Google's DNS with no option to even manually change it?

I lump Chromecast into the "IoT" category, not the "browsers" category. Google could spy on you even with no DNS access at all if it wanted to.

> The "devices in my family" want the same DNS server because they want to be blocking ads and malware. The issue is there are then rather a large number of them and requiring them each to be configured individually with many opportunities for omissions becomes a security vulnerability, since omissions allow the malware through.

If you're concerned about that, don't you realistically need something like uBlock Origin on each endpoint anyway, since so many sites serve their (malware-laden) ads from their own domains these days, specifically because of things like the Pi-Hole?

> You also need this if you want devices to resolve local names.

There would be nothing wrong with a fallback just for TLDs like ".local" and ".internal" that will never exist for real on the Internet. The critical "no fallback" point is just for potentially-real TLDs when the DoH server isn't reachable.

> The browsers already have this:

> https://support.mozilla.org/en-US/kb/canary-domain-use-appli...

> The problem is it's not a standard so then not everything respects it or does it the same way, and devices not implementing it out of malice (e.g. to purposely avoid ad blocking) get to pretend they're not doing anything untoward.

That setting is bad and needs to go away. It completely defeats the purpose of DoH.

reply
AnthonyMouse
1 hour ago
[-]
> Hence my point about CDNs and ECH upthread.

ECH isn't widely used and the IP address still reveals a ton of information regardless.

> I lump Chromecast into the "IoT" category, not the "browsers" category. Google could spy on you even with no DNS access at all if it wanted to.

In that case it's more about ad blocking than spying.

> If you're concerned about that, don't you realistically need something like uBlock Origin on each endpoint anyway, since so many sites serve their (malware-laden) ads from their own domains these days, specifically because of things like the Pi-Hole?

Most sites don't have the technical capacity to do that and you still get to block all of the others. Also, a lot of the malware comes from scummy ad networks that innocent sites used out of ignorance, and then blocking the ad network blocks the malware which that site isn't purposely trying to foist on you.

> There would be nothing wrong with a fallback just for TLDs like ".local" and ".internal" that will never exist for real on the Internet. The critical "no fallback" point is just for potentially-real TLDs when the DoH server isn't reachable.

You can get a TLS certificate for any real name, including dynamic DNS names on some providers, even if those names are only used locally, using ACME DNS01. You can't get a TLS certificate for .local or .internal names. But you may not want to put local names in the global DNS, or they may not resolve to the same IP address everywhere, e.g. you need some server to resolve to the public IP from the internet but the local IP on the LAN.

> That setting is bad and needs to go away. It completely defeats the purpose of DoH.

It doesn't, because Mozilla owns that domain and ISPs refusing to resolve it would get in trouble in most countries, so they don't, and then people using the default ISP DNS still get DoH instead.

You can manually configure your browser to always use DoH regardless of that entry, which is what people on actually malicious networks do. Its purpose is to make it so the default can be changed without touching every single application on every single endpoint device.

reply
illiac786
49 minutes ago
[-]
Are there really public DoT servers that listen on port 443? Do you have an example? I would be interested.
reply
AnthonyMouse
39 minutes ago
[-]
Anybody can get a VPS and install a DNS server on it using any port they want. You can also turn a VPS into a VPN or use any number of existing VPN providers that allow VPN connections on port 443.
reply
illiac786
32 minutes ago
[-]
If public DoT servers listening on port 443 do not exist, I find the argument about the fact that blocking 853 is very easy a very valid one then.

Only a very small minority will be able to run their own DNS server I assume.

reply
folmar
2 hours ago
[-]
With or without DoH you ISP knows all hosts you connect to anyway, for HTTP and similar including hostname. ECH could have been an improvement but does not get much traction.
reply
josephcsible
2 hours ago
[-]
ECH is getting deployed, and we shouldn't make it forever useless just because it's not widely deployed already.
reply
thayne
19 minutes ago
[-]
> Normal people have no idea that this even exists, much less how to do it, so they're still having all their queries routed to Cloudflare by default.

This is a complaint about Firefox's implementation, not DoH in general. Chrome will use DoH with your system dns provider, if it supports it.

I'm torn on whether using cloudflare by default was a good choice. On the one hand, having all requests going to a single provider and trusting that provider not to log anything is a potential privacy problem. And it can cause problems for people who use private DNS resolvers. On the other hand, even if you don't completely trust cloudflare, it is probably more private than a lot of people's default DNS providers that come from ISPs that are known to spy on customers either for profit or at the request of a government.

reply
zinekeller
2 hours ago
[-]
> A normal middlebox can't even tell the difference between DoH and DoT because they both just look like TLS.

You forgot the "let's intercept in a public place (e.g. public Wi-Fi hotspots)" one where blocking port 853 is super trivial while blocking port 443... is impossible. Sure, Google DNS will be blocked easily but there a lot of DoH providers!

reply
AnthonyMouse
2 hours ago
[-]
There is no law against running DoT over port 443.
reply
tptacek
2 hours ago
[-]
At that point you might as well use DoH. But you're also reasoning axiomatically about something we have a lot of documentary evidence for: the DNS operator community (or a big chunk of it) favors DoT and opposes DoH because they want to make it easier to block encrypted DNS; they frame this in terms of "control over their own networks".
reply
AnthonyMouse
2 hours ago
[-]
> At that point you might as well use DoH.

What benefit is the additional complexity and overhead of HTTP buying you there?

> the DNS operator community (or a big chunk of it) favors DoT and opposes DoH because they want to make it easier to block encrypted DNS; they frame this in terms of "control over their own networks".

This is one of the main issues here: When then DNS operator is you, i.e. your local network at home or your corporate network within your own company, you should be able to control DNS on your own network, which you can't if a bunch of adversarial devices are bypassing your DNS servers.

When the DNS operator is your ISP, letting them block encrypted DNS is bad.

So what we need is some way to distinguish between these situations so that the local network administrator's preferences are heeded but Comcast can go pound sand. But browsers are too late in the stack for that because they have no way to tell if the system DNS server is the one the user wants or the one they got by default from their ISP and never knew to change.

reply
tptacek
1 hour ago
[-]
I don't think we need any way to distinguish these situations any more than we needed to preserve the non-ephemeral key exchanges in the jump from TLS 1.2 to TLS 1.3, which were opposed for the same reason. You can control which computers you allow on your network, and allow only computers which give you endpoint monitoring. The 2025 TCP/IP protocol stack should not be going out of its way to give network operators more visibility into what applications are doing.
reply
AnthonyMouse
1 hour ago
[-]
> You can control which computers you allow on your network, and allow only computers which give you endpoint monitoring.

This would be a great argument if it was actually feasible, but then you have Chromecasts hard-coding Google's DoH servers to prevent ad blocking etc., and devices doing automatic firmware updates to change things like that after you've already bought them.

Pass the law that says the customer has to be given root and the ability to install custom firmware on any device they buy before saying that is reasonable.

reply
tptacek
1 hour ago
[-]
You're not going to get either of those things. The market has converged on DoH and applications will continue to run it, and you're not going to get a law giving you root on all the devices that go on your network. If you're concerned about Chromecast's DNS, don't hook up a Chromecast. I don't, and I'm doing fine.
reply
AnthonyMouse
1 hour ago
[-]
Saying "the market" when you're mainly just talking about Firefox and Chrome implies that it couldn't be changed just by convincing a small set of specific people.

And we'll yet see about that law. Right to repair is pretty popular.

reply
tptacek
51 minutes ago
[-]
Good luck. It doesn't bear in any way on DoH, though.
reply
gsich
2 hours ago
[-]
There are only like 3 major ones. You can block those IPs too.
reply
josephcsible
1 hour ago
[-]
There's a ton of minor ones, it's easy to spin up your own, and the hope is that eventually, with ECH, it won't be possible to block them without blocking basically the entire Internet like North Korea does.
reply
AnthonyMouse
1 hour ago
[-]
By the time you're spinning up your own there isn't any issue. The controversy is that they're switching everyone to Cloudflare by default.
reply
josephcsible
1 hour ago
[-]
What do you propose they do instead? They obviously can't trust the network-provided one, since the whole point is that that one is often malicious.
reply
AnthonyMouse
54 minutes ago
[-]
Malicious DNS in terms of returning bad results is generally irrelevant because if you can't trust the network then returning the wrong IP address and routing the right IP address to the wrong server are the same. Also, you're using HTTPS/TLS/SSH/etc. on the actual connection anyway, right?

So the point of this is to prevent Comcast from seeing your DNS queries. And then it works fine to trust the network to say "no, really, use this one and not the default DoH one" as long as that setting is one that Comcast would get in trouble for misusing. Notice that they don't return bad results for use-application-dns.net as it is.

reply
rsync
2 hours ago
[-]
"But slowly people started to realize what the collaboration between Mozilla and Cloudflare really means: Cloudflare gets all your DNS queries."

This is not wrong. This is correct. The article speaks correctly here.

reply
tptacek
2 hours ago
[-]
The comment you're replying to used that quote to frame their argument that there are plenty of providers besides Cloudflare. Nobody is disputing that if you set your provider to Cloudflare your queries go to Cloudflare. This is not a reasonable rebuttal.
reply
timewizard
2 hours ago
[-]
In 2018 how many other choices were there actually?
reply
josephcsible
1 hour ago
[-]
This article says "Last update: 2018-10-26". https://github.com/curl/curl/wiki/DNS-over-HTTPS/9e5a5acf799... shows the list as of then, which had 12 choices.
reply
josephcsible
2 hours ago
[-]
If you use Cloudflare as your provider, then yes. But the article incorrectly asserts that DoH requires you to use Cloudflare as your provider.
reply
gsich
2 hours ago
[-]
>The only difference between DoT and DoH is that DoT is easier to block and force fallback to totally insecure DNS. There's no reason to ever use DoT if you can use DoH. (And I don't get why the author likes it better: whoever runs the DoT server gets the exact same data that they'd get with a DoH server instead.)

Don't use shitty networks then. This is not an issue for all residential (and mobile) connections. Only corporate and other shtity configured networks are affected by this.

reply
josephcsible
1 hour ago
[-]
> Don't use shitty networks then. This is not an issue for all residential (and mobile) connections. Only corporate and other shtity configured networks are affected by this.

There are some residential and mobile connections that this is an issue for. And it's not always an option to use a network that doesn't try to do this.

reply
gsich
1 hour ago
[-]
Maybe 0.01%. Anyway, it's not an argument against it.
reply
Mister_Snuggles
4 hours ago
[-]
The thing that bothers me most about DoH is that it moves the responsibility for name resolution from the operating system to each application. So now you don't have the ability to set up your own DNS server system-wide, you need to do it per-application and per-device. Assuming, of course, that the applications and devices in question allow you to do this and/or respect your choice when you do it.

Also shoving every protocol under the sun into HTTPS just feels wrong. I get why it's happening (too many middleware boxes and ISPs think internet == web). But shouldn't we fix the ISPs and middleware instead of endlessly working around it?

reply
jlaporte
2 hours ago
[-]
> it moves the responsibility for name resolution from the operating system to each application

Browsers only took on DoH implementation directly because they were solving the cold-start problem for a new protocol. Nothing to do with the spec.

There is support for DoH in all major OSs today, but none have made it a simple box to click AFAIK (we could speculate why).

For macOS, iOS, either via Private Relay (paid) or a configuration profile. Premade profiles: * https://github.com/paulmillr/encrypted-dns

For Windows > In the Registry Editor window open: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters > Right-click within the “Parameters” folder and create a new Dword (32-bit) Value. Name this new file “EnableAutoDOH” and set its value to “2.” * https://superuser.com/posts/1764668/revisions

Linux: * https://dev.to/mfat/how-to-enable-system-wide-dns-over-https...

reply
bornfreddy
4 hours ago
[-]
Not just that. ISP knows the IP addresses anyway, so they can make an educated guess which domain you are accessing (or use SNI). So why would I want to leak this data to another entity?

Of course, Cloudflare (if page uses them) and Google (if you are not blocking their remote fonts & js) also already have this information, so there's that.

reply
josephcsible
4 hours ago
[-]
> Not just that. ISP knows the IP addresses anyway, so they can make an educated guess which domain you are accessing (or use SNI). So why would I want to leak this data to another entity?

Because a lot of sites are behind a CDN that makes such guessing infeasible, and can use ECH to block the SNI leak. And since your ISP knows your real identity and other personal info like physical address, it's better privacy-wise for them not to be the ones who know exactly which sites your IP is visiting.

reply
anonymousiam
2 hours ago
[-]
I have the same gripe about QUIC, but nobody seems to care. QUIC moves part of the network stack into the application layer.
reply
djha-skin
1 hour ago
[-]
It is bad on a server, but good on a mobile device. I hate QUIC too, but I'm Server guy.
reply
tptacek
2 hours ago
[-]
That's a good thing.
reply
anonymousiam
2 hours ago
[-]
Please elaborate. Why is it "good" to have a separate network stack element in each application, and what does this mean for legacy applications that will never support QUIC?
reply
tptacek
2 hours ago
[-]
Because different applications have different needs and there is nothing intrinsically safer or better about having the stack be kernel-resident and, in fact, a lot to recommend moving things out of the kernel and into userland, which has a better application cotenancy model (full cr3 context switches between different users).
reply
anonymousiam
2 hours ago
[-]
Circumventing the role of the operating system in the name of improved efficiency and duplicating a once-centralized function in (some) applications doesn't seem like a well thought out course of action. Why have an operating system at all? Why not just boot your computer to each application you want to run, as was done on the early PCs of the 1980's?

Perhaps we shouldn't use computers to run our applications anymore. Everything could run on a gaming console. That would certainly be more efficient for the applications.

reply
tptacek
1 hour ago
[-]
"The role of the operating system" is whatever we decide it is. The operating system exists to serve applications, not the other way around. This isn't an aesthetic thing; it's an engineering choice. Moving parts (or all) of the networking stack into userland is often better engineering, for the reasons I just supplied, any of which I'm happy to go further into.
reply
anonymousiam
1 hour ago
[-]
It's "better" for the application, but not necessarily better for the whole system, or the users. I'm sure it makes perfect sense from the (selfish) application developer point of view, but it goes against the philosophy that defines the roles of the OS vs. the applications.
reply
tptacek
1 hour ago
[-]
That's not engineering, that's just religion.

https://groups.csail.mit.edu/ana/Publications/PubPDFs/Archit...

reply
mlhpdx
4 hours ago
[-]
Yes, but it won’t be easy. Heavy investment has gone into HTTP and we have great tooling and support for it as a result. That has a lot of benefits and I’m glad for it. But there is a cost.

HTTP is a blunt hammer and computing sometimes needs a scalpel. Lighter, more efficient protocols are important, as QUIC and WireGuard have proven.

reply
Mister_Snuggles
4 hours ago
[-]
To play devil's advocate, shoving everything into HTTP/HTTPS also allowed a ton of innovation.

Would video streaming sites (Youtube, Vimeo, etc) ever have gotten off the ground if they had to go to IANA to get a port number assigned, then wait for browsers to support the new protocol that runs over the new port, etc? Probably not to be honest. Or maybe browsers would just let JavaScript connect to any port, which would be terrifying from a security standpoint.

I'm firmly convinced that shoving everything into HTTP/HTTPS was a mistake. But I'm also willing to acknowledge that it's probably the least-worst solution to a bunch of problems.

reply
AnthonyMouse
2 hours ago
[-]
> Or maybe browsers would just let JavaScript connect to any port, which would be terrifying from a security standpoint.

Isn't this just WebRTC?

Also, why does everything have to be done in a browser? We're talking about name resolution. That's supposed to be done by the OS regardless so you don't have a thousand separate configuration options to change if you want to change your DNS server.

reply
mlhpdx
3 hours ago
[-]
Absolutely. The investment in HTTP means I can setup a website or API in a few clicks and pay nothing (or nearly so) for it. That has made it possible for me to try many, many things over the years. It’s fabulous.

I would very much like to see that same freedom to innovate when using other protocols.

reply
lokar
4 hours ago
[-]
Why can’t you have a forwarding resolver send out queries via http and then use it as the system default?
reply
Mister_Snuggles
4 hours ago
[-]
There's no reason you couldn't, and this would actually be fine in my view.

The problem is that with DoH the applications themselves have their own resolver built in that doesn't respect the system defaults.

reply
josephcsible
4 hours ago
[-]
Today, it's a good thing that applications don't respect the system defaults, since on basically every OS, the system defaults are either "totally insecure DNS all the time", or "auto fallback to insecure DNS". I'd only want programs to start respecting the system defaults if that ever changes.
reply
__turbobrew__
3 hours ago
[-]
You can change the system defaults on sane OS.

Thats like saying every application should come up with its own bespoke encryption framework because the OS doesn’t utilize full disk encryption by default. The solution is not to implement encryption in all your programs, the solution is to configure full disk encryption in the OS.

reply
josephcsible
2 hours ago
[-]
> You can change the system defaults on sane OS.

You can, but most people won't.

> Thats like saying every application should come up with its own bespoke encryption framework because the OS doesn’t utilize full disk encryption by default. The solution is not to implement encryption in all your programs, the solution is to configure full disk encryption in the OS.

Should password managers just store all of your passwords in cleartext instead of encrypting them, since you should be using FDE?

reply
throwaway290
2 hours ago
[-]
> Should password managers just store all of your passwords in cleartext instead of encrypting them, since you should be using FDE?

Better analogy, should every random app bundle own custom crypto and encrypt all files and ask user for password just in case some user does not set login password?

An app should do what it does, if secure storage is not its task then it probably should leave it to the os and if it's not DNS resolving then it shouldn't DNS resolve. Is very annoying

reply
anonymousiam
2 hours ago
[-]
When applications don't respect system defaults, they are by definition "going rogue."

I run Pi-hole because I like having some control over the IoT garbage on my (separate IoT) home subnet. Much of the IoT garbage already pins their DNS server, which limits my control, or makes control more difficult to achieve.

reply
josephcsible
2 hours ago
[-]
If you're worried about IoT garbage spying on you, blocking DoH wouldn't even help. Presumably, there's something important on the Internet that they need to access (since otherwise you'd just air gap them outright), so they could exfiltrate your data through the same connection that they're using for their legitimate purpose.
reply
anonymousiam
2 hours ago
[-]
But that's the game that most IoT stuff plays. They offer some utility that makes them worthwhile, but they exfiltrate your data to marketeers and even government entities (such as Ring's partnership with law enforcement).

Maybe I'm old-school, but I like to have some control over what's going in and out of my network. DoH seems to exist mainly to circumvent that control.

reply
josephcsible
2 hours ago
[-]
> But that's the game that most IoT stuff plays. They offer some utility that makes them worthwhile, but they exfiltrate your data to marketeers and even government entities (such as Ring's partnership with law enforcement).

Sure. My point is that blocking DoH wouldn't stop that though.

> Maybe I'm old-school, but I like to have some control over what's going in and out of my network.

What if you were a public Wi-Fi operator? You definitely shouldn't have control or insight into the traffic to and from other people's computers and phones.

> DoH seems to exist mainly to circumvent that control.

No, DoH is purely a good thing, since the evil use cases like above can happen even without it.

reply
anonymousiam
1 hour ago
[-]
Sure, it's a "good thing" for the IoT garbage and the information hoarders, but it's not a "good thing" from my perspective, or from the perspective of corporate IT security.
reply
josephcsible
1 hour ago
[-]
Without DoH, only the evil IoT garbage with things like hardcoded IPs have "privacy". DoH gives privacy to legitimate users of regular browsers.
reply
anonymousiam
1 hour ago
[-]
So it's good for the use case where the user does not control the subnet they're using, but not anywhere else.
reply
VWWHFSfQ
4 hours ago
[-]
Firefox at least allows to set your own DoH resolver if you want
reply
Mister_Snuggles
4 hours ago
[-]
I can see a future where Chrome will use the system resolver for everything except Google's advertising domains, and those name resolutions will be impossible to block because they're going to a Google IP that may also serve services you want. Maybe Chrome would get called out for this change and they'd back it off.

But I doubt that a smart TV that does this would get called out, and even if they were the response would likely be "Oh, that model is three months old and we don't do firmware updates, sorry."

reply
kuschku
3 hours ago
[-]
That's already been the case for years, and is why DoH was invented in the first place.

Chromecasts hardcode DNS to 8.8.8.8, so people would redirect that traffic to their PiHole for adblocking.

To "fix" that, Google introduced DoH, which is why adblocking on chromecasts is significantly harder nowadays.

reply
jonhohle
4 hours ago
[-]
Google already makes blocking individual services nearly impossible. Want to give kids access to Google Classroom? Auth is done through google.com so now search is unblocked. What about Google Docs? You’ve just opened all of YouTube as well.
reply
josephcsible
4 hours ago
[-]
That's not a good argument to block DoH, since once apps or devices would start doing that, they could just as easily start hardcoding the IPs instead.
reply
meindnoch
4 hours ago
[-]
>Also shoving every protocol under the sun into HTTPS just feels wrong. I get why it's happening (too many middleware boxes and ISPs think internet == web).

But the HTTP part of HTTPS is invisible to middleboxes. They see an opaque TLS stream.

reply
Mister_Snuggles
4 hours ago
[-]
Usually.

Some middleboxes inspect the TLS session setup (e.g., SNI sniffing) and in some corporate environments they even decrypt the traffic (this relies on the endpoints having a root certificate installed that allows this functionality, which is something you'd see in a corporate environment).

reply
meindnoch
4 hours ago
[-]
Ok, but at that point there's zero benefit to DoH anyway.
reply
jen20
2 hours ago
[-]
There might be: even if my employer can decrypt traffic, there's no reason for either of my scumbag internet service providers to be able to.
reply
josephcsible
4 hours ago
[-]
> Also shoving every protocol under the sun into HTTPS just feels wrong. I get why it's happening (too many middleware boxes and ISPs think internet == web). But shouldn't we fix the ISPs and middleware instead of endlessly working around it?

It'd be great for the horrible ISPs and middleboxes to change, but that's not realistic, and working around it by wrapping everything in HTTPS is realistic.

reply
eckelhesten
4 hours ago
[-]
That’s incorrect. I use DNSecure (iOS app) to relay all DNS traffic on my iPhone to my DNScrypt-proxy server which I host on the internet (make sure you know what you do before exposing DNS servers on the internet).

It’s awesome because I have system wide tracker/adblocking which works whether or not I’m on my LAN and even with Apple Private Relay on.

reply
Mister_Snuggles
3 hours ago
[-]
How does this prevent a random application from making an HTTPS request to a random hard-coded IP address? Similarly, how does this prevent an application from making an HTTPS request to a generic host (e.g., api.example.com)?

This is what DoH looks like from outside the application. You can't really tell that it's DoH since it's just an HTTPS connection, which is kind of the whole point of it.

reply
zinekeller
2 hours ago
[-]
> How does this prevent a random application from making an HTTPS request to a random hard-coded IP address? Similarly, how does this prevent an application from making an HTTPS request to a generic host (e.g., api.example.com)?

I think that, franky, even without DoH, that ship has sailed. WhatsApp and Telegram (to name a few) is known to embed IP addresses into their applications. It is silly to assume that not standardizing DoH will not result in the same situation, and I imagine there are custom DNS bootstraping happening, for good or evil.

reply
nerdsniper
3 hours ago
[-]
Yep with applications hardcoding addresses and utilizing certificate pinning, there's nothing the device owner/homeowner/network admin/system admin can do to inspect or modify DNS over HTTPS traffic, other than uninstall the application or block the connection entirely. Increasingly, blocking connections breaks the app so you almost might as well just uninstall the app or block it from being installed on managed endpoints.
reply
eckelhesten
2 hours ago
[-]
Theoretically you could domainblock known DoH servers that certain applications would use.

But yes, I believe that if an application try hard enough there are ways to bypass any set of rules you set on a device. Luckily, most applications just use the internal libresolv for any domain resolving needs.

reply
eckelhesten
4 hours ago
[-]
And in case it wasn’t clear. Yes it’s DNS-over-HTTPs and no one except my server and njal.la know about my queries.
reply
marcosdumay
3 hours ago
[-]
> But shouldn't we fix the ISPs and middleware instead

Well, good luck with that.

I say we formalize an entire internet tunneled over HTTPS and throw some eggs on the face of those people.

reply
AnthonyMouse
2 hours ago
[-]
HTTP3/QUIC is on the path for this because once you have "HTTPS" over UDP, the next thing that happens is you mark all of the actual HTTP bits as optional to implement since the middlebox can't see them and just run a datagram TLS VPN over port 443 to tunnel whatever you want.
reply
gsich
2 hours ago
[-]
This is only because applications think they should do that. There is nothing against a DoH client in the OS, I think Windows and MacOS already supports it.
reply
camhart
2 hours ago
[-]
Windows, mac, ios, chrome os all support DOH at the OS level to some degree.

Android supports limited, preset DOH resolvers only.

reply
elashri
9 hours ago
[-]
I think one way or another you will have to trust some entity with your DNS. Unless you are willing to use tor all the way on OS level. Even running your own recursive DNS resolver will leak your IP to root servers. Put VPN in front of it and know you trust this VPN company (kudos Mullvad).

And abusing https is for a good reasons. Blocking ports 53 and 853 is easy and many ISPs will do that.

The author also make it feel like the only option is to use cloudflare DoH on Firefox while that's the first option, there is also nextdns and custom field. There are many providers I would trust more like quad9 and Mullvad DoH.

I think the reasons why not to use DoH is the same for why not using public dns from providers you don't trust anyway.

Most of the people are happily using 8.8.8.8 and handing all their dns information to the biggest advertisement company in the world. Or wosre, using their ISP provided DNS.

reply
btasker
9 hours ago
[-]
> The author also make it feel like the only option is to use cloudflare DoH on Firefox

In fairness, the date on the post is 2018 - when Firefox first launched this, Cloudflare was the only option

reply
rainsford
6 hours ago
[-]
True, but at the end of the post the author also explicitly rejects the idea of the DoH protocol in general on questionable technical grounds, so clearly their objection isn't just Cloudflare. I think the argument would be a lot clearer if they didn't conflate "using Cloudflare for your DNS" with "using the DoH protocol for DNS" even if they think both of them are bad.
reply
elashri
9 hours ago
[-]
Now that makes more sense regarding this point. I missed the date. I think the submission title needs (2018).
reply
josephcsible
3 hours ago
[-]
Even back then, wasn't Cloudflare just the only listed option? Couldn't you still have manually entered a different DoH server that you knew of?
reply
seanhunter
3 hours ago
[-]
That’s not true. Back in 2018 firefox had the option to use cloudflare or enter another DoH server IP.
reply
gsich
2 hours ago
[-]
Cloudflare is still default.
reply
heavyset_go
4 hours ago
[-]
The Tor daemon exposes DNS resolvers if you enable them in torrc.

You'd of course be trusting Tor nodes for your DNS at that point, as I believe the network pulls records from exit nodes' resolvers, but you sidestep the quandary of deciding who you trust to directly make requests to.

You can also have multiple resolvers in the same daemon that use their own circuits, reducing the chances of receiving forged DNS records from potentially malicious exit nodes.

Similarly, DoH and DoT work over Tor.

You don't have to use it at a system level, just point your DNS clients at the daemon.

reply
toast0
5 hours ago
[-]
> I think one way or another you will have to trust some entity with your DNS. Unless you are willing to use tor all the way on OS level. Even running your own recursive DNS resolver will leak your IP to root servers

With modern recursive DNS, you don't leak much to the root servers, just the tld you're trying to resolve. And you can axfr the root zone and then the root servers only know you're a resolver. The TLD servers know a lot, by necessity, though.

reply
mixdup
5 hours ago
[-]
I think, though, for the purposes of this argument you can lump the TLD and root servers together. Lot of people are going to know who you are and what you're looking up if you run your own recursive resolver directly against the root servers
reply
avg_dev
5 hours ago
[-]
I wonder if using a large number of DNS servers and picking one from the list or rotating through them would help.
reply
mlhpdx
4 hours ago
[-]
If you’re going to be hacking, why not just build your own DNS?
reply
mercora
9 hours ago
[-]
its funny you call out Mullvad in this specific case because its the one thing i really dislike about their VPN service. It wont route DNS to the root server, or any designated server really. They redirect DNS queries to their cache indiscriminately. which actually will harm the success of setting up a recursive resolver. I get this is done to prevent leaks, i would just like the option to opt out of it. been customer for many years now though. I use unbound semi recursively resolving using a forwarder with DNS over TLS. So Mullvad is not burdened with what i resolve and the forwarder not with information on who.
reply
timewizard
2 hours ago
[-]
The issue isn't trusting DNS. It's trusting my local network. DNS is unecrypted UDP traffic. There are less than 65,535 ports that my machine can use to originate that request.

The problem with the protocol is poisoning not authority.

reply
immibis
6 hours ago
[-]
It's crazy that OSes don't run their own recursive resolver by default or even have it as an option.
reply
ddtaylor
6 hours ago
[-]
I think `systemd-resolved` provides it out-of-the-box for most distros.
reply
a022311
6 hours ago
[-]
AFAIK it's just a proxy to another DNS server with the added benefit of being able to resolve local domain names through mDNS.
reply
hk1337
4 hours ago
[-]
Isn’t that essentially what DNS is? It may cache results but it has to get the results at some point and they communicate with other DNS servers that have the information?
reply
mlhpdx
4 hours ago
[-]
Not really. If motivated, building a bespoke DNS for personal (or whatever) use is easy these days. The hard part is the infrastructure to make it reliable and maintainable.
reply
ls612
7 hours ago
[-]
I tried configuring Mullvad DNS on Firefox (last year) with DoH/DoT and it would randomly flake out and not resolve some domains (different ones each time) and the only way to fix it was restarting the browser. Cloudflare at least Just Works (tm)
reply
dabacaba
6 hours ago
[-]
DoH does wonders against ISPs which filter DNS traffic (including traffic to third-party DNS servers). This happens more often than many people realize. My ISP blocks traffic to a couple of random websites (perfectly safe and legal) just because their security system doesn't like them, and they can't do anything about that. I only wish for more websites to deploy ECH, because they are using SNI filtering as well.
reply
atahanacar
4 hours ago
[-]
>they are using SNI filtering as well

This is surprisingly easy to beat using very funny methods, like splitting the request in the middle of SNI, or sending a request with a low TTL to an unblocked website first which gets dropped then repeating it to the correct SNI.

There are more methods all of which I find very funny for some reason. You can use GoodbyeDPI on Windows and zapret on Linux.

reply
dabacaba
3 hours ago
[-]
The disadvantage of those methods is that they require installing custom software, and they don't work on mobile devices unless you put them behind a router with custom firmware. In contrast, DoH works out of the box on most operating systems, and hopefully ECH will work as well.
reply
jsiepkes
5 hours ago
[-]
Same goes for if you have an IoT device behind a corporate firewall and you are being forced to use a enterprise DNS server running on some Cisco or Juniper device which doesn't respect TTL's, filters TXT records, etc.
reply
unethical_ban
4 hours ago
[-]
A decent corporate policy will block or decrypt DoH, same as it blocks direct outbound DNS.
reply
josephcsible
3 hours ago
[-]
The hope is we eventually get enough things like DoH and ECH that it stops being feasible for corporate policies to block things.
reply
unethical_ban
3 hours ago
[-]
Ah, are you a data exfiltrator or a ransomware operator? I jest.

I think the network as a chokepoint will slowly go away due to improvements in cryptography, and we'll need the endpoint to do all the inspection and enforcement.

reply
josephcsible
2 hours ago
[-]
> I think the network as a chokepoint will slowly go away due to improvements in cryptography, and we'll need the endpoint to do all the inspection and enforcement.

That's exactly what I want, because any solution other than that one would allow network operators to snoop on other people's endpoints.

reply
unethical_ban
47 minutes ago
[-]
Network operators that the endpoints trust.

If your OS doesn't trust a MitM box, it yells.

reply
bornfreddy
4 hours ago
[-]
I guess it depends on the situation then. My ISP doesn't pull such stunts and if they did, I would switch them in a moment. Fortunately others around here don't suck either. Cloudflare (or Google, or whoever) OTOH gets waaaay too much data from everybody. For my taste at least.
reply
josephcsible
3 hours ago
[-]
I'm glad your ISP doesn't do that, but there are a lot of people not as lucky as you, and we shouldn't deny them all a major increase in privacy just to avoid having you to change one browser setting.
reply
hn_throw2025
2 hours ago
[-]
Very true... I used to be with Sky here in the UK, and at the time they were running a transparent proxy on port 53. Changing DNS providers made no difference to the dnsleaktest results. Don't know if they still do that now.

I'm now with a different ISP, and anyway have PiHole handling DNS queries on most devices in our house. It forwards DNS requests to dnscrypt-proxy running on the same Pi, which uses Quad9 over DoH.

reply
michaelt
2 hours ago
[-]
To me, that seems awfully trusting of Cloudflare.

Instead of sending all my DNS traffic to sketchy multinational corporation A, we'll send all my traffic to sketchy multinational corporation B?

Doesn't seem like much of an increase in privacy to me.

reply
josephcsible
2 hours ago
[-]
If you're using insecure DNS, then you have no choice but to let your ISP see all your queries. But if you're using DoH, you can choose from plenty (see https://github.com/curl/curl/wiki/DNS-over-HTTPS) of other DoH providers instead if you don't trust Cloudflare.
reply
zinekeller
2 hours ago
[-]
Frankly, the article is doing a lot of disservice (and should be removed in HN because of its grossly outdated information). As josephcsible pointed out, there are many, many options for DoH.
reply
LtWorf
1 hour ago
[-]
I change it to mullivad of course.
reply
LtWorf
1 hour ago
[-]
My ISP does, because the government tells them to. Yes western nation so it's not government censorship.
reply
xrmagnum
9 hours ago
[-]
I find it problematic that this article recommends disabling DoH, which leaves users with unencrypted DNS — still centralized (e.g. to Google’s 8.8.8.8 or an ISP) and now vulnerable to man-in-the-middle attacks. Replacing one form of centralization with another while giving up encryption doesn’t improve privacy — it worsens it.

If the goal is to reduce centralization, a better approach would be to use encrypted DNS (DoH or DoT) with resolver rotation or randomization. That way, users retain privacy from local networks and ISPs without concentrating all DNS traffic in a single provider’s hands.

reply
exiguus
8 hours ago
[-]
If you're looking to implement encrypted DNS with multiple servers or providers, consider using unbound, which supports TLS resolvers and can operate in recursive mode. Alternatively, you might opt for AdGuard DNSProxy or dnscrypt-proxy, both of which support DNS over HTTPS (DoH), DNS over TLS (DoT), and DNSCrypt. You can run these tools on your local network or computer and configure your resolve.conf to point to them.
reply
tptacek
4 hours ago
[-]
It is problematic; it's a post from 2018 that did not age well at all.
reply
josephcsible
3 hours ago
[-]
It wasn't correct even when it was originally posted.
reply
tptacek
2 hours ago
[-]
I agree, but I remember the controversy at the time about browser vendors usurping DNS and want to avoid as much of that argument as I can.

(I have weirdly strong and specific ideas about DNS security.)

reply
WhyNotHugo
9 hours ago
[-]
Disabling DoH in your browser’s settings should make it fall back to you system’s resolver.

You’ll only be vulnerable to a MitM attack if your system’s resolver is insecure and also vulnerable to a MitM attack.

reply
sammy2255
9 hours ago
[-]
(which all are by default)
reply
NewJazz
5 hours ago
[-]
No, plenty of OSs ship encrypted DNS resolvers by default.
reply
josephcsible
3 hours ago
[-]
Zero mainstream OSs ship encrypted DNS resolvers by default, unless you count ones that will automatically fall back to insecure DNS, which defeats the purpose since a network attacker can cause that.
reply
piskov
4 hours ago
[-]
DoT is explicitly mentioned as a better alternative
reply
josephcsible
3 hours ago
[-]
DoT is strictly worse than DoH. It doesn't actually fix any of the author's issues with DoH, and it has the gigantic downside that it's trivial for hostile networks to block.
reply
creata
9 hours ago
[-]
The points here aren't technically wrong, but it still feels like disabling DoH would be a reduction in security. For example:

> Cloudflare gets all your DNS queries.

That's true, but Cloudflare is more trustworthy than my ISP, and probably most people's ISPs.

> Complexity is the enemy of security.

That's true, but that's no reason to go from an imperfect solution to a nonsolution.

> there is DNS over TLS

That doesn't solve most of the issues that the author brought up.

> How does a modern company in the IT business earn money? By selling data.

Maybe I'm naive, but I thought they made money by using all the data they collect for better threat prevention, and from their paid services.

reply
bigfatkitten
9 hours ago
[-]
My ISP is bound by robust privacy, telecommunications interception and other legislation.

Cloudflare, on the other hand is based in a foreign jurisdiction that offers none of these protections.

reply
zinekeller
8 hours ago
[-]
> My ISP is bound by robust privacy, telecommunications interception and other legislation.

It really depends on which jurisdiction are you in, unfortunately. US ISPs are selling everything they can hover (including DNS information) to advertisers, and it is impossible to switch to another one unless you're lucky (because the monopoly is essentially maintained).

reply
immibis
6 hours ago
[-]
So is Cloudflare, which is a US ISP....
reply
mixdup
5 hours ago
[-]
Cloudflare is not an ISP. They have other services they sell. Maybe they're selling your data, maybe not. I honestly have not read their agreements and terms, but it's not nearly as obvious that you're the product as something like Google
reply
ta1243
2 hours ago
[-]
So this company based in the US which provides internet services is not an internet service provider.

Given that they are funded and run by the same forces american parastical capitalism provides I would trust them as much as I'd trust google or alphabet.

I'll continue to route my DNS to quad-nine over mullvad over my specifically chosen ISP, and everything on my network does that as I can easily intercept and redirect udp/53.

The weak point are treacherous devices which use DoH which is a constant fight to block.

reply
mixdup
39 minutes ago
[-]
They provide network services on the internet, but unless I'm missing some product they don't list on their website they do not provide actual basic IP internet connectivity for businesses, everything they sell is some service on top of your existing ISP services
reply
waynesonfire
8 hours ago
[-]
And until TLS is made secure they'll continue to rape privacy by scraping your https traffic.
reply
mcpherrinm
6 hours ago
[-]
The most important part of DoH, etc is that it allows you to make a choice. You can choose a vendor in your country. As a Canadian, I might want to use the service offered by my national TLD operator https://www.cira.ca/en/canadian-shield/configure/firefox/

Many ISPs explicitly sell DNS data, and are also advertising vendors.

Cloudflare, on the other hand, doesn’t share or sell data and retains minimal data: https://developers.cloudflare.com/1.1.1.1/privacy/public-dns...

reply
mlhpdx
4 hours ago
[-]
> The most important part of DoH, etc is that it allows you to make a choice.

So does UDP based DNS, and TLS based DNS. It’s all the same in that regard.

reply
josephcsible
3 hours ago
[-]
With insecure DNS, the choice isn't meaningful since your ISP will see all of the data no matter which DNS server you pick to use. And those kinds of ISPs will probably block DoT because they want to keep seeing it all, but they can't block DoH.
reply
mlhpdx
3 hours ago
[-]
I put my DNS service on a non-standard port. I’m the only one using it so standards be damned. Windows doesn’t allow setting a nonstandard port for DNS, but pretty-much everything else does.

Do ISPs do deep packet inspection to get lookup data? Maybe, but it increases the cost of doing so and makes the business aspect of it less viable. Perhaps a minor win.

reply
LtWorf
1 hour ago
[-]
Change it to mullivad like i did then?
reply
j16sdiz
5 hours ago
[-]
ISP regularly captures NXDOMAIN.

They know your government id when you subscribe to their service.

CloudFlare, otoh, never have your identity. They only have the metadata

reply
AshamedCaptain
6 hours ago
[-]
In addition, your ISP can also extract whichever metadata it wants from your communications, incl. a very likely perfect guess of the hostnames you visit at which times _even if you don't use DNS at all_, just by looking at IP traffic metadata such as addresses and packet sizes.

So you already have to trust your ISP anyway -- but there was no need to trust Cloudflare *. DoH to Cloudflare is almost certainly a net loss in privacy compared to using your ISP's DNS over clear text.

* Right until they became hosters of half of the WWW. So Cloudflare can pretty much also guess your activity even if you don't do DNS with them anyway.

reply
josephcsible
3 hours ago
[-]
> In addition, your ISP can also extract whichever metadata it wants from your communications, incl. a very likely perfect guess of the hostnames you visit at which times _even if you don't use DNS at all_, just by looking at IP traffic metadata such as addresses and packet sizes.

Big CDNs and ECH make that impossible.

reply
AshamedCaptain
3 hours ago
[-]
Does it, really? Have you seen wireshark output lately? (the GUI can be configured to do reverse lookup on all IP address)

If I check up right now, form the top 10 links in HN right now, it is trivial to distinguish the top-level domain from just the IPv4 or IPv6 address. Heck, even _for this website itself_ the current IPv4 reverse DNS points to ycombinator.com. I don't even need to go into packet size heuristics, or the myriad of ad networks, etc.

Sure there are some instances where you will share the IP of the CDN. This has been seen recently e.g. in the recent article of the "LaLiga" blocks in Spain. But bigger sites cannot afford for this to happen, and even smaller sites tend to have at least one paid IP address for mail (reputation is a bitch, and Cloudflare doesn't have any).

reply
josephcsible
2 hours ago
[-]
> If I check up right now, form the top 10 links in HN right now, it is trivial to distinguish the top-level domain from just the IPv4 or IPv6 address.

Two of the top 10 links in HN right now (https://news.ycombinator.com/item?id=44215603 and https://news.ycombinator.com/item?id=44212446) are to different subdomains of github.io that resolve to the exact same IP addresses, so reverse DNS doesn't tell you which one is being visited.

And you can't even tell the TLD, because the TLD is "io", but the reverse lookup on the IPs will give you a TLD ending in "com".

> Heck, even _for this website itself_ the current IPv4 reverse DNS points to ycombinator.com.

That's because HN isn't behind the kind of CDN I'm talking about. But a lot are. Is your argument "since your ISP can see some of the sites you're going to, we should remove all protections and let them see all sites you're going to?"

reply
AshamedCaptain
2 hours ago
[-]
I said top-level domain. Anyway, you have a better estimate, for the types of sites people here would visit? If HN itself isn't an example, then Github subdomains definitely ain't (not even close to the traffic of the main domain).
reply
josephcsible
2 hours ago
[-]
> I said top-level domain.

"io" and "com" are top-level domains, and in the example I gave, you can't even distinguish between them.

reply
AshamedCaptain
2 hours ago
[-]
Well, I appreciate the correction: I meant second level (or whatever is most distinguishing for that TLD). However, even if what you say is true, you really cannot disprove my claim with one nitpick, you need to talk majorities. (And, in case it needs to be said: i really don't think the issue here is distinguishing activity to github.io vs github.com)
reply
josephcsible
1 hour ago
[-]
Okay, how about this then. Here's some of the IP addresses of posts on the HN front page right now:

  104.21.3.245
  104.21.68.247
  104.21.80.31
  104.21.95.131
  104.21.112.1
  104.26.4.133
None of them have reverse DNS records. Can you tell which is which?
reply
AshamedCaptain
27 minutes ago
[-]
So you take literally the worst possible set of IPs (all of them cloudflare), IPv4 only, and yet Copilot (!) is easily able to reverse 50% of them:

  104.21.3.245  -- trebaol.com
  104.21.80.31 -- diwank.space
  104.26.4.133 - daringfireball.net 
  104.21.112.1   - simonwillison.net , taras.glek.net
This was literally the worst example you could possibly do. I hope you kept which one was which, I'd like to know if Copilot was right.

In the meanwhile, from the current top #30 articles on HN (also via copilot script, but I removed non-cloudflare IPs):

  ycombinator.com -- no CDN
  letsbend.de -- no CDN
  grepular.com -- no CDN
  xania.org -- cloudfront
  github.io -- no common CDN
  owlposting.com -- AWS, but IPv4 remained static
  netfort.gr.jp -- no CDN
  simonwillison.net -- cloudflare, 104.21.112.1 fixed
  folklore.org -- azure, 13.107.246.1-255 range
  danq.me -- no CDN
  nature.com -- fastly, IPv4 remained static
  daringfireball.net -- cloudflare, 104.26.4.133
  ssp.sh -- no CDN
  trebaol.com -- cloudflare, 104.21.3.245
  glek.net -- cloudflare, 104.21.112.1
  gov.uk -- AWS, but IPV4 remained static
  phys.org -- no CDN
  diwank.space -- cloudflare, 104.21.80.31 
  free.fr -- no CDN   (French ISP, btw)
  ericgardner.info -- AWS, but IPv4 remained static
  ghuntley.com -- fastly, IPv4 remained static
  paavo.com -- no CDN
  railway.com -- cloudflare, 104.18.24.53
  alloc.dev -- cloudflare , 188.114.96.2
Look at how many of them are self-hosted, have zero CDN, or otherwise return me always the same IP (even when I try from 3 different ISPs) which makes them trivial to reverse address. This is already a pretty huge success rate and all my context is that you browsed HN first (which I know, see first result on the list). Now imagine the tools a ISP will have at its disposal:

- IPv6

- Its Geo region will actually match yours

- Routing tables

- The patience to also include resources fetched from these pages in the analysis (i.e. page X always gets its JS from Y domain which results in a constant Z KB transfer).

- The rest of your browsing activity

- The rest of everyone's browsing activity including most popular _current_ hosts for each hostname.

Do you still claim that it is "impossible" to track your activity because of CDNs? I still bet you your ISP can do it with _100%_ accuracy.

reply
josephcsible
25 minutes ago
[-]
They're not all running single IP ECH yet. I was just making the point that it's not as trivial as a reverse DNS lookup, as you said it was.
reply
AshamedCaptain
23 minutes ago
[-]
It took me the whole of one Copilot conversation to do the entire thing. Most of the top #30 results are in fact one reverse DNS away. The rest is not much more complicated.

They're never going to be "1 IP ECH" . That would be the end of the Internet as we know it.

If it ever happens that the majority of the WWW is 1 CDN, we have a bigger privacy problem than DNS. Much bigger.

reply
koakuma-chan
5 hours ago
[-]
> IP traffic metadata such as addresses and packet sizes.

Even if you use a VPN?

reply
gruez
5 hours ago
[-]
That just shifts the trust from your ISP to your VPN provider. Moreover if you're already using a VPN, your DoH requests to cloudflare is already anonymized.
reply
mlhpdx
4 hours ago
[-]
If you are using WireGuard between endpoints your traffic if opaque, but yeah if/where it exits it becomes (depending on the encapsulated protocol) visible.
reply
archerx
9 hours ago
[-]
> That's true, but Cloudflare is more trustworthy than my ISP, and probably most people's ISPs.

Based on what?

reply
ignoramous
9 hours ago
[-]
> Based on what?

The bar is real low, mostly for the fact that ISPs are mandated by law in most if not all countries to track traffic flowing through their pipes.

Cloudflare provides relatively better privacy guarantees for the public DNS resolvers it runs: https://developers.cloudflare.com/1.1.1.1/privacy/cloudflare...

reply
chgs
9 hours ago
[-]
CF certainly less trustworthy than my isp which is shibboleth compliant. Or my vpn provider.

CF issues are dealt with “hope to get a post on HN trending”.

reply
pacifika
9 hours ago
[-]
In the UK you can typically pick from a dozen ISPs, some of which are more trustworthy
reply
tankenmate
7 hours ago
[-]
All of which have infrastructure already in place to hand over all DNS queries if requested by HMG.
reply
aleph_minus_one
6 hours ago
[-]
And you don't believe that Cloudflare has a similar infrastructure in place? :-(
reply
haiku2077
5 hours ago
[-]
Cloudflare specifically has infrastructure to prevent that: https://developers.cloudflare.com/1.1.1.1/encryption/oblivio.... It requires some additional setuo, but for example if you're on an Apple device using Private Relay you are using it.

You're next argument might be "but how do you know the server is really using ODNS?" You don't. If your security threat profile doesn't allow for this, whatever you're doing shouldn't be using a public internet network anyway.

reply
ortichic
9 hours ago
[-]
Can you also choose which company provides the physical infrastructure that connects to your home?
reply
tialaramex
9 hours ago
[-]
If you live in a city or other urban area, typically you have the option of the decoupled telco (BT Openreach) that more or less everybody has, the entity which bought all the cable television companies (Virgin Media) and usually a fibre-for-purpose Internet company that decided to do your city or region.

If you live in a rural area where people are co-operative, there might be a community owned fibre operator plus Opeanreach, otherwise just Openreach.

If you live somewhere very silly, like up a mountain or on your own island, your only practical option will be paying Openreach to do the work.

Edited to add, Notably: Only Openreach is usable by an arbitrary service provider. So if you want to pick your service provider separately, the actual last mile delivery will always be Openreach. And if they're small it won't just be last mile, Openreach also sell backhaul to get your data from some distant city to the place where the ISP's hardware is, you're buying only the, like, actual service. Which is important - mine means no censorship, excellent live support and competent people running everything, but the copper under the ground is not something they're responsible for (though they are better than most at kicking Openreach when it needs kicking)

reply
chaz6
8 hours ago
[-]
CityFibre is only available through wholesale ISP's. Other smaller alt-nets (such as the one I work for - Netomnia (including Brsk/YouFibre)) is gearing up to provide wholesale access.

In the UK there are even aggregators like Fibre Café [1] that makes it easier for ISP's to connect through multiple networks.

[1] https://fibrecafe.co.uk/

reply
chaz6
8 hours ago
[-]
If you are lucky, yes. For example, I have a choice between CityFibre (XGS-PON), Openreach (GPON) and Virgin Media (DOCSIS) as well as 2 different 5G networks. It is rare for a property to only be covered by a single wired network these days in the UK.
reply
AshamedCaptain
6 hours ago
[-]
> That's true, but that's no reason to go from an imperfect solution to a nonsolution.

This is textbook politician's fallacy. Yes, it may be preferable to continue with a "non-solution" if the solution proposed is stupid enough.

reply
creata
6 hours ago
[-]
No it's not. I'm saying don't let the perfect be the enemy of the good.

DoH does solve a problem for many people. Many large ISPs will sell your DNS requests, use them for targeted advertising, tamper with responses for various reasons, etc., and so DoH is an improvement over the status quo--not for everyone, but for many users, and I'd guess most users.

You're right, DoH might not be worth adopting if it were "stupid enough", but... it's not stupid enough.

reply
AshamedCaptain
2 hours ago
[-]
Your ISP already has all this metadata and more from other sources, so it is pointless to switch to DoH in this case, and if you do you willingly give this metadata to Cloudflare, which (for the majority of users) may even be in a better position to do evil.
reply
haiku2077
1 hour ago
[-]
> Your ISP already has all this metadata and more from other sources

If you combine this with ECH and a good blocker, no they do not. That's exactly why Spain is blocking around 60% of the internet during football games now; the ISPs cannot tell which websites and subscribers are pirating football streams.

reply
AshamedCaptain
22 minutes ago
[-]
> Spain is blocking around 60% of the internet during football games now

[citation needed for the 60% figure]

Precisely due to these blocks is why I know that Cloudflare is NOT 60% of the WWW, not even close. Certainly, if Cloudflare was serving 60% of the Internet, I would consider switching my DNS to them. But that would be a privacy nightmare for another day (replacing federated ISPs with a single big centralized one? great idea /s). It is not yet the case as of today.

In fact, as of today, and even if you have a "good blocker", I, a total noob, have a high chance of reliably identifying which HN news item from the top #30 you clicked from just the addresses: https://news.ycombinator.com/item?id=44219061 . Imagine what the non-noobs at your ISP could do.

reply
haiku2077
5 hours ago
[-]
In the Politician's Fallacy, the chosen solution doesn't solve the problem. In this example, DoH solves many of the problems, perhaps not optimally, but better than the "do nothing" choice.
reply
AshamedCaptain
2 hours ago
[-]
So it doesn't really solve the problem, and may generate more (privacy) problems of its own. "doing nothing" may be the better solution here, which was the entire point made in the original episode.
reply
nmcfarl
5 hours ago
[-]
To save some googling the Politicians Fallacy is this one:

We must do something. This is something. Therefore, we must do this.

reply
aborsy
23 minutes ago
[-]
Part of the reason I let Tailscale up even if I don’t need connectivity is DoH.

It can send DNS in all devices encrypted to a public or private DNS server. It can force this by overriding client configuration if desired.

reply
yegle
4 hours ago
[-]
I don't understand any of the arguments.

Why mentioning DNS-over-TLS if you are against DNS-over-HTTPS? They have all the same "downside".

What's wrong with one less peeper (your ISP)? You _have_ to use a DNS server unless you use something fancy like dnsmasq to round-robin between multiple DNS servers (but your ISP can still see everything)

Besides, you can run your own DoH server with ease, you don't have to use Cloudflare's.

reply
sudahtigabulan
9 hours ago
[-]
His proposed alternative, DoT, still has one known peeper, and is easier to block. DoH, OTOH, looks like regular HTTPS traffic and is on port 443. So the "abuse" of HTTP is not unnecessary, you get something in return.

In some situations, DoT is fine. In others, it won't work, but DoH will.

reply
rainsford
6 hours ago
[-]
Even ignoring the question of the technical merits of DoT vs DoH, the way the author transitioned from "Cloudflare bad" to talking about DoT made no sense since DoT as an alternative does not solve the problems raised earlier in the post. Is the author opposed to DoH as a protocol or opposed to sending DNS requests to a company they don't like?

If we're getting into the technical part of the discussion though, I personally don't think DoH or DoT are great protocols for DNS. Security is fine, but it's a lot of overhead for relatively small requests where latency matters. I wish DNScrypt had gained more traction as an encrypted protocol designed specifically for DNS.

reply
exiguus
8 hours ago
[-]
I concur and generally advise against using large corporate DNS providers. Instead, consider setting up your own DNS infrastructure, such as your own recursive servers, or opt for a trustworthy DNS provider like Freifunk or CCC, rather than Google, Cloudflare, or Quad9.

The advantages of self-hosting recursive servers include complete configurability, absence of censorship, tracking, and rate limits. However, like any self-hosting solution, it requires an investment of time and money. It's also important to note that DNS lacks an authentication layer, so for access restrictions, it should be placed within a private network or VPN.

The issue of pre-configured DNS over HTTPS (DoH) in many browsers and mobile devices can be addressed through firewall rules on your router.

For creating your own DNS infrastructure, I recommend dnsdist if you have ample time, though bind and unbound are also viable options.

For the past three years, I have been running dnsdist with recursive servers on two ARM VPS instances, costing around 14 EUR per month. This setup provides me with DNS over TLS (DoT), DoH, and other features. I use them with unbound (TLS) or dnsproxy and dnscrypt-proxy across routers, servers, and other machines. For mobile devices, I utilize DoH directly.

Previously, I used bind in recursive mode without any encryption beyond SSH tunneling or VPN.

Alternatively, I can recommend ffmuc as a DNS provider.

reply
c0l0
8 hours ago
[-]
I also run my own recursive DNS server on a VPS I rent, but I freely share it with other users of the Internet. This causes my "personal" signal of queries to authoritative servers to effectively disappear, and I also (marginally) benefit from caching effects of other users' lookups.
reply
victorbjorklund
8 hours ago
[-]
Are there any security risks with sharing it wiyh others?
reply
c0l0
8 hours ago
[-]
Well, concerning technical risks, DNS Cache Poisoning[0] is a thing - but I keep the software implementing my recursive DNS service up to date very eagerly, so I guess the risk of falling victim to such an attack is rather low.

[0]: https://en.wikipedia.org/wiki/DNS_spoofing#Cache_poisoning_a...

reply
exiguus
8 hours ago
[-]
I haven't taken this step yet, but I have considered it. Could you recommend whether I should share the service on a list such as dnscrypt.info/public-servers?
reply
c0l0
8 hours ago
[-]
I was not aware of such a directory existing in the first place :) I only advertise "my" service (it only implements DNS and DoT) through word of mouth in communities I participate in.
reply
immibis
6 hours ago
[-]
How do you secure it against being used as a reflector in a UDP amplification attack?
reply
toast0
5 hours ago
[-]
Probably rate limits, making sure response minification is fully enabled, and maybe set a low truncation size?

You can't run a public service without reflecting something, but you can endeavour to make the reflection ratio small.

reply
exiguus
3 hours ago
[-]
dnsdist support QPS limits [1] and eBPF filtering [2]. And you can use dynamic Rules to drop traffic and there are several rules to set UDP and TCP limits.

A in production config looks like: https://github.com/freifunkMUC/ffmuc-salt-public/blob/main/d...

[1] https://www.dnsdist.org/advanced/qpslimits.html

[2] https://www.dnsdist.org/advanced/ebpf.html

reply
juliangmp
3 hours ago
[-]
>Refuse to use it today

That's genuinely awful advice.

Besides the fact that there are other DNS providers that can do DNS over HTTPS, disabling it just makes things worse. - you still fire all of your DNS requests to a single host (whether that's cloudflare or any other) - you also do it in clear text

reply
orbital-decay
5 hours ago
[-]
The tone is pretty manipulative and sounds like a weird FUD.

>DoH is not about protecting your DNS queries from peepers. That is a big lie. It is about making sure only one peeper can see all of your queries.

How is this a lie? It does protect your queries from MitM. I doubt anyone ever said anything about protecting from everyone - either you keep a synced copy of the entire DNS database (or its part) locally, or send your query to someone else's computer. How else do you expect it to work?

>Refuse to use it today

"Refuse"? Why???

>Is there an alternative way? Yes, there is. It is called DNS over TLS

How does this eliminate the single peeper? You're still sending your query to someone else's computer. DoT encrypts, so it must be a good thing, right?

reply
thr0w
6 hours ago
[-]
With DNS over UDP, you have plausible deniability that you didn't actually make the request. With DNS over HTTP(S), you don't.

Agree with the general claim that anything "S" could be a power grab by a single peeper. Google pushing HTTPS in Chrome comes to mind.

reply
lokar
4 hours ago
[-]
By claiming src spoofing?
reply
toomim
6 hours ago
[-]
You can solve the problems with DoH by using OHAI:

https://ietf-wg-ohai.github.io/oblivious-http/draft-ietf-oha...

reply
finalhacker
2 hours ago
[-]
DOH is a protection for your privacy from ISP. Actually you can set multi DOH server with load balance to avoid your dns info concentrately collected by one dns provider.
reply
om8
9 hours ago
[-]
I trust cloudflare more than my ISP, since I live in a place where internet is very state controlled.

Some of the websites just don't open without DoH.

reply
josephcsible
3 hours ago
[-]
This is a really good point that I haven't seen made much in this thread. Almost everyone is just talking about the privacy perspective, but DoH is also really important for preventing censorship, so it's critical that it's not trivially blockable at the network level.
reply
exabrial
23 minutes ago
[-]
DNS over HTTPS exclusively exists because stuff like Pi-hole started eating into Ad Revenue for Google. That's why this "feature" is so hard to disable in the browsers as well.

I hope they're forced to divest from Android and Chrome. It's absolute anti-consumer garbage.

DNSCurve exists and was a far better solution, but that in turn... you know cut into ISP spying as well.

reply
creatonez
8 hours ago
[-]
DNSCrypt has a list of DoH and ODoH resolvers other than Cloudflare: https://github.com/DNSCrypt/dnscrypt-resolvers
reply
jamesponddotco
3 hours ago
[-]
Personally, I prefer DNSCrypt over DoH or DoT (and run my own DNSCrypt servers), but I see no problem with DoH. It's certainly an improvement over unencrypted DNS.
reply
mixdup
5 hours ago
[-]
Is DoH a bad idea because Cloudflare sees your queries or you're overloading HTTP as a protocol? This article seems to be advocating two different things

At the end of the day, if your problem is you don't trust the DNS provider to also be snooping, no flavor of encrypted DNS will solve it. Whoever lands the DNS query will be able to snoop whether it's TLS or DoH

reply
conradev
5 hours ago
[-]

  Is there an alternative way?

  Yes, there is. It is called DNS over TLS and is specified as a proposed standard in RFC 7858. This provides transport encryption to DNS without abusing HTTP as transport protocol.
HTTP/3 is a full VPN protocol via MASQUE. I don’t understand how DNS over TLS is anything but slightly less convenient and otherwise no different than DNS over HTTP.
reply
ggm
11 hours ago
[-]
Eh. He doesn't discuss which public dns upstream supports dtls and in some sense it's just picking who snoops, ie he argues against cloudflare snooping but doesn't discuss who else might.

Run hyperlocal root, run your own dns.

His "don't move off 22 for ssh" is also just opinion. He argues "you will be found" but misses the experience of those of us running on shifted ssh is continuously validated by the visibly lower level of probes we see. He offers no mathematical analysis of how quickly a port knock sequence will be uncovered, and again dismisses it as infeasible and useless.

I've got nothing against strongly held opinions and these are his. But, form your own opinions too.

reply
btasker
8 hours ago
[-]
> His "don't move off 22 for ssh" is also just opinion. He argues "you will be found"

Worse than that, that post misunderstands it's own statement:

"Sure, you will see fewer attacks than before, but most of the attackers are no longer just stupid bots"

That's a *good* thing, because the move has reduced the signal to noise ratio. By getting rid of most of the crufty noise of the internet, you now know that anything hitting your logs now is more likely to be an actual threat than the poorly automated dictionary attack bots.

Moving SSH to a different port doesn't make the system much more secure (and definitely shouldn't be the only thing you do), but it does generally enable you to be more responsive.

reply
mhitza
9 hours ago
[-]
I'm going to mention again dns0.eu which does support DNS over TLS. I haven't looked in-depth but I'm pretty sure some corporate networks block it somehow because on some networks my Android phone fails to connect to it.
reply
ignoramous
8 hours ago
[-]
If privacy is your concern then dns0.eu is not "no logs" (like BlahDNS or Mullvad DoH/DoT are, for example). They share "anonymized intelligence feeds" with their partners: https://docs.dns0.eu/threat-intelligence-partners/anonymized...
reply
throwaway81523
10 hours ago
[-]
Yeah I get almost no login attempts on ports other than 22. Should I even care about attempts on 22 though? They bounce off, and fail2ban blocks the IP after a while.

I sometimes think of putting my private servers on completely random IP addresses drawn from /64 IPv6 ranges. It should be near-impossible to find those by address scanning, unless I'm overlooking something dumb. Am I? It wouldn't surprise me.

reply
tialaramex
10 hours ago
[-]
An arbitrary IPv6 address is indeed not practical to find by scanning. However, unless you're willing to type in that 128-bit value each time you need it (which maybe you are) you'll advertise this address somehow and if you do that your advertisements can be read by others.

For example suppose you put my-private-server.vanity-domain.example in DNS with an AAAA pointing to your private server - "passive DNS" service means big DNS providers will sell the answers they saw when anybody (say, yourself, on somebody else's computer) asks AAAA? my-private-server.vanity-domain.example. They don't reveal who asked, so this isn't personal information, but they do reveal what the question was and its answer.

A long time ago we used this to build target portfolios, if we're going to sell your company our product X, this is way we can see that you already have products A, B and C, but not D, E or F so we look a bit smarter coming into the sale.

reply
miyuru
9 hours ago
[-]
For a real world example, I use IPv6 only SSH+public DNS and my fail2ban has 2 fails for a uptime with 285 days.
reply
KwanEsq
10 hours ago
[-]
Couldn't you just make my-private-server.vanity-domain.example a manual /etc/hosts entry to prevent advertising it?
reply
kvdveer
9 hours ago
[-]
You could. You'd only have the ability to log in from your own machine though. If that compromise works is very much dependent on your situation.
reply
throwaway81523
7 hours ago
[-]
Yes, that's the idea of a private server. All the clients allowed to connect to it are mine, or at least authorized by me on a very small scale. Think of a backup server or a jump host.

Come to think of it, I could have a private DNS too. I haven't bothered with that.

reply
NewJazz
4 hours ago
[-]
At that point don't open port 22 to the internet, just set up wireguard or tailscale.
reply
hk1337
9 hours ago
[-]
Just as easy, you could just set the Host in your ssh config. Then you don’t have to deal with dns
reply
j0057
9 hours ago
[-]
I agree that sooner or later your SSH port will end up on Shodan anyway. Putting SSH behind a Wireguard VPN solves this completely.
reply
deknos
10 hours ago
[-]
is it possible to route DoH over generic HTTPS service when i only inspect a certain route? so i could have a generic https-server, where at some route, DNS requests are answered, other stuff just gives me a normal website?

because then we could use DoH for hiding our DNS requests..

reply
crabique
9 hours ago
[-]
This is how it works already, the DoH endpoint is "/dns-query", both CloudFlare and Google route this endpoint to their resolver services, while the rest of the site (one.one.one.one or dns.google) is just a website.
reply
btasker
9 hours ago
[-]
Yes.

DoH requests go to /dns-query so you only need that path to proxy onto your DoH handler.

Some DoH clients will also allow you to specify a custom path, so you can also obfuscate the path by configuring client and server to use /foobar instead.

But, re-using an existing site does come at the cost of generating a bunch of extra log noise (fine if it's just you, not so fine if it isn't). If you don't have some kind of auth in place, you might also find that you suddenly come under a lot of load (when I ran a public DoH service, I eventually started getting a lot of traffic from users in an authoritarian country)

reply
ahmetozer
5 hours ago
[-]
Topic is about privacy concerns for using provider not DoH itself. With Doh, i am not worried about some UDP based attacks, i can easily put WAF and other auth mechasims for self hosted Private DNS systems
reply
dev_l1x_be
7 hours ago
[-]
Two raspberries with Adguard combined with Tailscale is pretty safe and removes a nice chunk of garbage from the internet

https://adguard-dns.io/en/welcome.html

reply
leosanchez
7 hours ago
[-]
Why two ? For redundancy or am I missing anything?
reply
drykiss
9 hours ago
[-]
They don't really say if DoT is safer. I'm more confused than informed by this article. Would've been nicer if they provided some proofs or data to back up their claims.

Also, does anyone know what's the safest option? And how to configure it for all our home devices?

reply
ddtaylor
6 hours ago
[-]
DoH is problematic in other ways too.

Due to recent browser problems I was giving Brave a shot. It's an interesting browser, but it has DoH enabled in a way that seemingly cannot be entirely disabled. It can be frustrating to not be able to interact with a lot of services because the browser is disregarding my local policy on my system.

reply
Dodrekai
2 hours ago
[-]
What you say make me feel it's more a problem on Brave side than DoH.
reply
EbNar
6 hours ago
[-]
How is that? It's just a switch, as in any other Chromium browser.
reply
ddtaylor
5 hours ago
[-]
reply
tredre3
3 hours ago
[-]
None of that thread seems to be related to DoH, though? More likely a caching issue.
reply
josephcsible
3 hours ago
[-]
What does that have to do with DoH?
reply
arbll
9 hours ago
[-]
Ah yes I'm going to disable DoH and go from trusting a central entity to trusting another central entity and everyone else on the wire.

Article is a bunch of strong opinion with nothing to back them.

reply
dec0dedab0de
5 hours ago
[-]
i want to be able to man in the middle anything that phones home.
reply
josephcsible
3 hours ago
[-]
If they're your own devices, sure. But without DoH, it would be possible to man-in-the-middle other people's devices too, and you shouldn't be able to do that.
reply
throwaway290
2 hours ago
[-]
How do you deal with pinning which most apps do now?
reply
dec0dedab0de
2 hours ago
[-]
i hate it. hsts mixed with doh exist to take control, and transparency away from users, because most users never knew they had the option to begin with.
reply
jedisct1
9 hours ago
[-]
Anonymized DNSCrypt and Oblivious DoH are designed to keep your IP address hidden from resolvers, and there are DNS relays located all over the world. If you truly care about privacy, use anonymized DNS, not DoH.
reply
josephcsible
3 hours ago
[-]
Oblivious DoH would be fine, but isn't anonymized DNSCrypt distinguishable on the wire from HTTPS even though it's over port 443?
reply
issafram
3 hours ago
[-]
Are there any guides on how to set this up?

I'm currently using pi-hole configured to use DoT through Cloudflare.

reply
spiffyk
9 hours ago
[-]
Alright so the article's tl;dr says to not use DoH as it merely reduces the number of peepers to one (which firstly is a good thing and secondly also offers protection against UDP spoofing attacks)... then goes on to recommending DoT, which would suffer from the exact same (non-)issue, but also actually gets to the actual problem with DoH, which is that the HTTP part has no business being there and increases complexity, which I as a former DNS resolver implementor wholeheartedly agree with!

Why discredit the whole post by adding an irrelevant tl;dr?

reply
josephcsible
3 hours ago
[-]
> also actually gets to the actual problem with DoH, which is that the HTTP part has no business being there and increases complexity, which I as a former DNS resolver implementor wholeheartedly agree with!

But that part is wrong too. The HTTP part has a very important reason to be there: because if it weren't, middleboxes would block the traffic.

reply
a022311
7 hours ago
[-]
That was indeed yet another one of Mozilla's well hidden moves to reduce our privacy. I've set up Adguard Home with a local recursive DNS resolver [1]. I haven't enabled encryption of the DNS queries, but I only ever connect through secure connections, so I don't mind. Sometimes queries are slightly slower or might fail (I'm guessing they time out), but I think it's really worth the extra privacy. I'm not really worried about leaking my IP to root servers, since at least they aren't run by an advertising company. (I hope?)

[1] https://github.com/semihalev/sdns

reply
rainsford
6 hours ago
[-]
That's not a bad setup, but now your DNS requests to the root servers aren't encrypted, which means anyone between you and the root servers can see the requests. I guess it depends on whether it's more likely that someone is snooping the requests off the wire or that the server you're sending the requests directly to is snooping on them in addition to just resolving them.

I think the ideal solution would be if the root servers adopted encryption of some sort. But I can see why they're somewhat reluctant to do that, especially with relatively heavy protocols (compared to DNS) like DoH or DoT.

Edit: With the existence of QNAME minimization, I guess I should say that the requests to the root servers or authoritative DNS servers are unencrypted. This does at least spread out the risk a little, since other than your ISP there's probably some variation in who is actually between you and the various servers you're making requests to.

reply
a022311
5 hours ago
[-]
I totally agree with this and I wish root servers supported DoT, but I guess this setup is slightly better than having all your queries collected by a single entity (at least as far as you can know, because as you said, anyone in between can intercept requests). At least response integrity can be verified with DNSSEC and DNS-level censorship can be prevented much more effectively.
reply
tptacek
4 hours ago
[-]
DNSSEC doesn't do anything to prevent DNS-level censorship, and DoT is easier to block than DoH --- that's why there's DoH in the first place.
reply
api
5 hours ago
[-]
I have blocked outbound raw DNS on my home LAN in favor of DoH from a pi hole.
reply
tester756
9 hours ago
[-]
wtf is this?

>Is there an alternative way?

What about just using different provider that you trust?

What if I trust Cloudflare more than I do trust my ISP?

reply
jchw
6 hours ago
[-]
This is a very strange article.

DoH using HTTPS for example is a reasonable choice; it blends the DNS traffic in with HTTPS traffic, not requiring network operators to open a new port and, in fact, making it harder for network operators to stop you from being able to use it. If you are not on a hostile network then there's not much of a practical advantage of picking DoH or DoT, but the reasoning for why DoH made this choice is not unreasonable. And HTTP may be more complicated than DNS, but neither of them are really close to the complexity of TLS, and any OS is going to need at least one good implementation of both if it plans on existing on the Internet, so I'm really not sure why this seems like a good place to draw the line.

Secondly, okay sure, don't trust Cloudflare... But, on the other hand, why is it better to send your DNS requests unencrypted? i.e. why would you disable DoH entirely? One party peeping is still less than an arbitrarily large number? In practice there is an extremely good chance that even if Cloudflare acted in a maximally malicious manner, having them as your DNS provider is the least scary implication. They already have untold amounts of information about you from the fact that they're a middle man terminating TLS for a lot of the websites you visit. And while it would be nice to have private DNS that is hardened against Cloudflare or the U.S. government spying on you, this is kind of at odds with having DNS be low latency, accurate and reliable.

I think a lot of actual dislike of DoH comes from people who believe that network operators should be the ultimate controllers of their domain, but in the future we actually got most people don't even control the WiFi in their home to any meaningful extent. As much as it's hard to trust Google or Cloudflare, since you know they have bad incentives to circumnavigate the will of the user and network operators, they are in the unfortunate situation of "having a good point" with regards to DoH. I ultimately never liked Firefox's decision to roll out DoH by just automatically sending DNS requests to Cloudflare using a trust-me-bro promise; oddly enough, Chrome did a more reasonable approach, trying to use whatever your configured DNS server is, but automatically upgrading it to DoH if it was a resolver that had a known DoH endpoint.

Granted, I believe Google Chromecast devices also will attempt to use DoH to get around a Pi Hole, so obviously I'm not trying to give any undue credit here. You still can't really trust Google or Cloudflare on the whole. But, being wrong about some things doesn't mean you're also wrong about other things, and the points made in favor of DoH still do stand, especially when it is configured explicitly by the end user. (P.S.: and it's silly to really dwell on this point too much anyways. If you had a truly malicious party, they could simply not use any kind of DNS to resolve names at all, in an effort to make their traffic harder to block. Using DoH is still less obscure.)

The bottom line is though, it's not clear if you can really trust your own ISP anymore than Cloudflare, especially depending on where you live. Ultimately, it's not hard to see why Firefox made this choice.

reply
theamk
5 hours ago
[-]
Not a very coherent article. .. is author's problem privacy or security?

If it's privacy, why offer DNS-over-TLS as an alternative? It has exactly the same privacy properties.

If it's security, then tl/dr and first section makes no sense.

reply