Mozilla rolls out DoH to Canadian users of Firefox
blog.mozilla.org
blog.mozilla.org
This is a workaround for the fact that many networks are hostile to DNS lookups (injecting ads, tracking, captive portals), and operating systems continue to just default to the ISPs DNS provider, which is often hostile.
OS's could have switched to running their own local caching resolver ala unbound years ago, could have integrated DNSCrypt or DoT years ago. But instead the defaults are still horribly unsecure for the average user.
For the techie user who's running PiHole or some custom local DNS, yeah this will be annoying, but for the average user who's just delegating to their ISP that is then tracking their DNS lookups and injecting ads if they mistype a domain, this is a win.
May have been related to IPv6? Not sure.
I remember trying it out at the time (https://fedoraproject.org/wiki/Changes/Default_Local_DNS_Res...) and not running in to issues
There are plenty of valid use cases for captive portals. But yes, injecting ads and tracking are obviously messed up, but DNS is only a tiny part of that problem, and I don't see how using DoH will help with them. If you want to get rid those, then get rid of shitty ISPs. This is throwing out the baby with the bathwater.
This will simply lead to ISPs and network operators blocking DoH. And instead of a wonderfully decentralized DNS, we'll end up with centralized DoH in the hands of Cloudflare and their ilk. Who have been shown repeatedly to be user hostile; especially towards privacy conscious users.
And will they care enough? I get the sense that they don't really gain that much from messing with DNS, relatively.
I suspect you're right that they don't get that much value from messing with DNS, though... not enough to deal with the user complaints they'd get. So they probably wouldn't bother unless pressured.
However, they might decide to "play chicken" with Mozilla and other sources of DoH apps by seeing who yielded to the user complaints first. There'd be a big temptation for Mozilla to fall back to "regular" DNS if DoH failed, and then the ISP would effectively win.
Right. In place of that, we get one central point of DNS censorship. Where any unapproved site can be made to disappear.
"CIRA Canadian Shield" "Truly free". Right. "Freedom is Slavery" is more like it. In the US, Mozilla is apparently putting users under the thumb of Cloudflare.[1]
I'd rather have a mode where regular DNS and centrally controlled DNS are compared, and you get a popup if they differ. That warns you of censorship attempts. But that doesn't seem to be an option.
[1] https://forum.netgate.com/topic/133679/heads-up-be-aware-of-...
Even if you don't think Cloudflare is perfect, don't you trust them way more than, e.g., Comcast?
> I'd rather have a mode where regular DNS and centrally controlled DNS are compared, and you get a popup if they differ. That warns you of censorship attempts. But that doesn't seem to be an option.
This would only fix the censorship problem, not the surveillance problem.
Why would I trust a company I have no binding contract with, that doesn’t gain anything from my using their services, that doesn’t stand to lose anything if they lose me and others as a user of this particular service, etc over a company I entered into a legal agreement with, pay a monthly sum to provide a named service, and can sue in a court of law with some modicum of standing if things go sour?
So, no, if I were in your shoes, I wouldn't trust Comcast at all.
[1]: Comcast Agreement for Residential Service, Section 13 and 14. https://www.xfinity.com/Corporate/Customers/Policies/Subscri...
[2]: Xfinity Privacy Policy. https://www.xfinity.com/privacy/policy "Create measurement and analytics reports for us and others"
[3]: Ibid. "We use the information we collect to... deliver personalized marketing and advertising for our own and others’ products and services"
[4]: Ibid. "We may combine information across our systems, platforms, and databases. This includes combining information we receive from third parties and information about your use of our Services."
Has this ever been tested in court? Specifically in a situation of a service almost everyone needs and they don't have a choice in the company? The contract can say lots of things, but none of them have to be legally binding.
Because there's about a 99 percent chance that the contract is either completely silent about the matters of immediate concern, or has some language that implies they are actively allowed to act badly in those ways; the contract therefore offers you absolutely zero protection; and there is absolutely no way you can renegotiate the contract?
Lawsuits are incredibly impractical, and that's assuming you even ever detect the behavior you expect to be suing over.
Just don't use Cloudflare as your DoH resolver. What is preventing DNS from becoming centralized, and why is DoH different? You can still use any resolver you want, and network-wide settings will come out once network hardware and operating systems catch up to the ecosystem and start implementing their own support.
It is easier to block DNS queries and censor specific sites over unencrypted DNS than it is to block specific sites when you can encrypt your queries to any DoH provider, even ones that are running locally on your own network.
In fact, one of the primary criticisms of DoH from UK ISPs is that it will make it harder for them to block pirate sites and fulfill court orders to block websites[0]. When you listen to the actual censors, they all want DNS to stick around. That should tell you something about whether DoH really is a tool for censorship.
> I'd rather have a mode where regular DNS and centrally controlled DNS are compared
Why would this be harder to do with DoH than it would be to do with DNS?
[0]: https://indico.uknof.org.uk/event/46/contributions/668/attac...
This is difficult with CDNs because it's commonly intended that you get a different RR-set response depending on where your query originated from. So, somewhat awkwardly, there's no unique correct answer to a particular DNS query in many cases today.
I just looked up IN A www.google.com from two different networks, and got two different answers, yet I think both of them are correct and are the answers that Google intended for me to get!
(These discrepancies are themselves one reason that CDNs have been wary of large numbers of users not using ISP-provided recursive resolvers. There is a sort of compromise workaround called ECS, https://en.wikipedia.org/wiki/EDNS_Client_Subnet, in which the recursive resolver gives the authoritative server a hint about where the query came from, to facilitate giving a response that may be most relevant to that specific client, typically a nearby CDN instance.)
Cloudflare's creation of fake TLS certs for sites they front-end may mess that up, though. Do you see the same TLS cert from all Cloudflare MITM nodes?
You could, of course, try to handle it at a higher protocol layer. For example, you could try to dynamically generate HTML like
<img src="https://dallastx.mycdn.com/mysite/someimage.png">
for one visitor, whereas a different visitor would get
<img src="https://seoul.mycdn.com/mysite/someimage.png">
This would mean that latency for an initial HTTPS page load would be higher, but then for subresources and maybe other pages on the site it would be lower. But there are other difficulties, like requiring the web server to generate page content (at least slightly) dynamically instead of statically.
I'm sure that there are many people who felt that there was something seriously improper about intentionally serving different RRs within the same zone at the same point in time. From what I've heard, this practice is so common that most people working on related Internet standards just assume that this practice has to be accommodated because CDNs and their customers will definitely refuse to give it up. (I know this issue came up a ton in ESNI because in the first version there was a risk that you could cache one version of an A record and another version of an ESNI key record, so the two could be out of sync and therefore inconsistent, if they pointed to different CDNs or different CDN instances that had different public keys. A "nice" solution might be to say "well, don't create deliberately inconsistent sets of DNS records in your DNS zone, then" but apparently nobody found that solution at all acceptable for performance, so they created a more complicated workaround where both pieces of information are merged into a single rrtype.)
Not sure about "mode" and "popup" as I am not a fan of browsers and GUIs but I have been comparing results from about 50 or so DoH providers. I use DoH without a browser to gather DNS data in bulk.
We all have a clear idea about what "censorship" means but as we go further down the rabbit hole of myriad third party, non-ISP DNS providers how do we distinguish between "filtering" and "censorship". Projects like OpenDNS made a business out of DNS filtering. Now we are seeing others trying to make a business out of filtering ads.
It is well-known from studies using different DNS vantage points (looking glass) that DNS-based censorship is active in some countries and also that the number of countries doing this is generally rising. On a personal level, I do see differences in results from different DoH providers. What really bothered me recently was one provider returning "0.0.0.0" for certain domains, I am guessing because they were websites that report on the online ad industry. I am OK if they want to exclude certain domains, but returning the network equivalent of "any address" is, IMO, not an acceptable way to block access.
Personally, I think relying wholly on third party DNS is a bad idea. It is a useful resource, it's good to have many sources of DNS data, but third party operated DNS caches will never be authoritative for any domain. These third parties are usually just more internet middleman who want to make money from being in the middle of users network traffic. We always need access to the authoritative servers for each domain. That's our "source of truth".
DoH can be useful because I can download DNS data in bulk over TCP using HTTP pipelining. I load bulk data into haproxy's memory via a map file and I never need to do a single remote lookup. I run an authoritative DNS server that just answers all queries with the address of the proxy. Even more, I can add or delete entries from the map without restarting the proxy. The map is just a simple two column text file. This makes monitoring changes in DNS easy.
While I do not need "modes" and "popups" or other GUI-style conveniences, I can build a "no DNS" system into an OS that boots from USB stick into memory, never touches "disk" (can pull out the USB stick) and runs on a wide variety of hardware.
This is very much a US thing, I don't know as much about the situation in Canada, might be as bad. I really hope that this is not the begging of a roll out to the rest of the world.
I spent a number of years in the US at the mercy of Comcast and Later TWC in new york city and it was a very different experience. Also had a weird experience in Chicago where my building provided internet to all the Apartments with ads injected on 404 pages and the like. Really odd and no option to change.
The first one alone is reason to have DoH enabled by default for all users in Australia.
DNS censorship is absolutely a thing in Germany and the UK for example. While here in Germany we might not get injected ads and other stuff, there are still more than enough problems to not make this a "US thing"
Good luck, when 30M+ only have DSL as an option, and >70% only have one Cable provider, and one DSL provider.
FCC Data: https://broadbandmap.fcc.gov/#/area-comparison?version=jun20...
More Info: https://www.theverge.com/22177154/us-internet-speed-maps-com...
With eSNI/ECH, browsers would just have to hardcode a bootstrap IP, and then ISPs won't be able to block DoH without also blocking all of every major CDN.
But DNS hasn't worked pretty well for the past 30 years. It's been abused for a pretty long time now, both for hijacking requests and for violating privacy.
I don't think that DoH advocates looked at a perfectly good system and just decided to replace it. They looked at a system with significant flaws, saw that this system was holding back consumer privacy and security, and proposed an alternative.
> but DNS is only a tiny part of that problem [...] If you want to get rid those, then get rid of shitty ISPs. This is throwing out the baby with the bathwater.
DNS is a huge part of that problem, because without encrypted DNS most people can't realistically keep their DNS queries private. What we're seeing is that we can do all kinds of fancy stuff around encrypting connections, but the DNS is always going to be a hole, and it's always going to make the other protections much less useful.
We want to eventually plug other holes that make websites identifiable. During that process, there are going to be periods where some of the holes are plugged, and some aren't. But that doesn't mean all of the efforts are useless, it means we're in the process of plugging security holes. The fact that we haven't widely deployed SNI encryption or TLS 1.3 does not mean that encrypted DNS is useless, it means that multiple technologies are required to work together to make progress towards meaningfully masking domain names.
We still have very hard problems to solve, like IP addresses themselves and statistical analysis of response sizes to determine which pages are being visited. But it's not much use trying to mitigate those problems if we can't even secure DNS resolution.
In regards to ISPs, in general (where possible) we like to avoid the model of "everyone is insecure but there are no bad actors." Imagine if we had rejected HTTPS because "this is only really a problem if your router is compromised or the ISPs are snooping." We have a solution now that helps reduce the amount of trust we need for ISPs. That's good, we should deploy it. Even if ISPs weren't a problem, it would be worth deploying.
> This will simply lead to ISPs and network operators blocking DoH. And instead of a wonderfully decentralized DNS, we'll end up with centralized DoH in the hands of Cloudflare and their ilk.
I don't see a lot of reason to believe this. First, there was nothing preventing ISPs from blocking DNS and forcing you to use their DNS resolvers in the past, so I don't see what DoH changes about that situation -- other than that it's a meaningful privacy increase, which might make bad actors more aggressive about blocking it. But surely we're not claiming that we should abandon meaningful privacy improvements because we're scared of what ISPs might do.
Second, DoH is decentralized, you can still use other resolvers other than Cloudflare, and you can still chain resolvers together. For the moment, I happen to recommend Cloudflare because I think it's offering more believable privacy promises than other providers, but I understand the concerns about Cloudflare's centralization. It's valid to use something else.
But seriously, what is centralized about DoH that isn't centralized about DNS? The fact that requests can't be hijacked? Did the Internet become centralized specifically because you can't MITM HTTPS requests now? I'm seeing people claim that DoH means every request will go to Cloudflare, and that's just flat out not true: anyone can set up a DoH resolver, even locally on their own network.
Okay, granted, not everyone on your network might respect your DoH settings you put on your Piihole or router, but that's not really different from today. Google already doesn't respect network settings for its DNS resolution on Chromecasts (or at least didn't last I checked). My browser already allows me to override my network settings for DNS. DoH changes nothing about that other than that OSes and routers are lagging on implementing network-wide DoH settings. If you think that staying with DNS would mean that IOT devices will perpetually respect your network settings for domain resolution, then I have bad news for you, because they're definitely going to stop doing that in the future regardless of what technology exists, and some of them have already stopped doing that today.
... but in practice almost all Firefox users will end up using one of the very few designated Mozilla TRRs. That's an increase in centralization, as measured on the ground. Social and behavioral effects count.
You can't claim one minute that "we're doing this to take care of naive users who can't protect themselves", and the next minute that "users can set up any arcane configuration they want".
In the end, you screw the naive users by increasing their practical centralization, and you screw the sophisticated users by adding complexity, breaking whatever protections they already have in place, and making it impossible for them to secure all of the applications on their systems at the same time.
Oh, and on edit, I guess I should address "first" as well as "second":
Nothing was stopping ISPs from blocking alternative DNS before... but very few people were using alternative DNS before, so it didn't have a lot of impact on ISPs' priorities. If you suddenly take away the ISPs' visibility into many people's DNS, then the ISPs get a reason to care. All kinds of things skate under the radar if they're not deployed at scale, but provoke responses when they get big enough to be threatening.
If we're going to go down this road and talk about defaults as they exist on the ground, then the reality is that most nontechnical users should be using Cloudflare's DoH resolver at the moment. Are there concerns about centralization? Yeah, of course. I'm as worried as anyone else about Cloudflare controlling the Internet, they are fundamentally a dangerous company. Being big, on its own, makes Cloudflare untrustworthy. But I'm also looking at Cloudflare's actions in the real world today, and they still have a better privacy record and are currently more trustworthy than any ISP in the US. Choosing them as a default in the US was the correct choice for Mozilla to make if you care about people's actual privacy in the real world today.
Mozilla's defaults here are also not set in stone. As network operators catch up with the technologies they've been ignoring, we'll get better OS and network integration for DoH settings. And as more providers start offering DoH, the defaults can change. Cloudflare is the default right now not because of a conspiracy but because regardless of how nervous they make us, and regardless of whether it's a good idea in theory in the future to have so much traffic routed through them, currently on the ground right now they are the best choice for most nontechnical users.
Additionally, currently on the ground there are few companies that are doing more than Cloudflare to decentralize DoH and improve its technical privacy guarantees instead of just asking people to trust them. Oblivious DoH[0] is an interesting proposal in that direction, there's also a decent amount of work (which Cloudflare is supportive of) going into research about by-default splitting DoH requests across multiple entities, so no single provider would get all of your queries. There are some obvious issues there to overcome regarding privacy, but it's still a somewhat promising proposal.
From a technical perspective, there is nothing about DoH that is centralized, and no part of the technology would force it to be centralized. There's no consumer lock-in, and there's no browser lock-in. Configuring DoH is not an "arcane configuration", it's just as easy as any DNS setup in your browser, even easier because there's less network interference and it's easier to debug.
But from a practical perspective right now on the ground, while I share concerns about Cloudflare overall and while I share concerns that Cloudflare consolidating power is problematic, I don't think it's accurate or reasonable to claim that DoH is a power grab. By default, Cloudflare isn't the provider in Canada. In the US, they have temporarily been chosen by the default by Mozilla because they are currently offering the best service. But anyone else could step into that position if they care to, there's no blocking or gatekeeping going on.
And frankly, if the only reason that DNS is decentralized is because most people's devices don't use a consistent resolver and just naively trust whatever network is were on, if the only reason why DNS is decentralized is because everyone's ISP sets it in the background without their knowledge, then in my opinion that's just a ridiculous way to guarantee provider diversity, and we should absolutely overhaul that system. Any system where my DNS provider changes behind my back when I connect to the wifi at a coffee shop is broken, and that is the experience that most nontechnical users have with DNS today. It is frighteningly insecure.
> You can't claim one minute that "we're doing this to take care of naive users who can't protect themselves", and the next minute that "users can set up any arcane configuration they want".
I don't think I do claim this. What I claim is that Cloudflare is an obvious default for nontechnical users, and I claim that DNS is susceptible to all of the same centralization concerns as DoH, and I cliam that changing a DoH provider in Firefox for most end users is no more difficult than it would be to change a DNS provider.
Most users won't change their DNS provider, which is why it makes sense to use a secure default rather than to let every random network in the wild decide. But if you are the type of person who wasn't just trusting network DNS, then DoH is not going to be a problem for you. It especially won't be a problem for you once OS manufacturers start allowing system-wide configs.
> If you suddenly take away the ISPs' visibility into many people's DNS, then the ISPs get a reason to care.
I buy this theory, I think you're very likely correct. But I don't think it's a compelling argument. If what you're saying is correct, then literally any privacy initiative that threatened ISPs in any way would be blocked. What's the takeaway from that, we should abandon efforts that threaten ISPs?
We are seeing a large amount of pushback from ISPs, from network operators, and from governments themselves over DoH. This does not suggest that the proposal is dead on arrival, or that it's just going to be globally blocked. If DoH didn't have teeth, we would not be seeing this reaction.
So what your argument is saying is that DNS skated under the radar largely because it wasn't helping anyone, and ISPs didn't feel threatened by it. But I'd rather throw my weight behind a technology that they do feel threatened by, rather than behind one that they don't care about. A world where we have to fight about DoH being blocked is still strictly better than a world where we don't have to fight because there's nothing to fight over and the majority of people are using a system that is trivially attackable.
Cloudflare could easily go bad in the future, but has been refreshingly good so far.
But most of the risks "native" to large commercial entities seem to have been using DNS queries to target advertising. That sucks, but it's not my top concern. I'm more worried about outside pressure to censor the Internet, which is more of a non-native risk. From my point of view, censorship is a bigger worry than targeted advertising. It can happen here, and it's already happening in a lot of "theres".
If some major government, or coalition of governments, or even major private pressure group, wants disappear something from the DNS, and there are only 15 or 20 TRRs, then it's a lot easier to lean on those TRRs than it would be to lean on hundreds of ISPs. In any given case, it may also be easier than leaning on the registrars.
Heck, since there's a centralized Mozilla policy for who gets to be a TRR, they can just lean on Mozilla. Maybe it won't matter because Chrome will have more market share or whatever, but it doesn't seem quite right for Mozilla to rely on that.
Even if Cloudflare happens to be much better about resisting filtering pressure than most ISPs, and stays that way, there's still only one Cloudflare that has to be subverted. And there's going to be pressure on Mozilla to include TRRs that might not even be as safe as Cloudflare.
You can already see the pressure to bake censorability into the TRR system. Look at the comments on the Mozilla consultation. You have a lot of people talking about how TRRs need to be able to (secretly!) respond to government blocking requests. You even have what looks like a coordinated push from UK commenters to protect secret non-government blocking at TRRs.
Yeah, we'll all disagree about whether X or Y should be censorable. Most people can name something that they think should be censored, and I think that a lot of people's lists are getting bigger rather than smaller. But once you start creating infrastructure for filtering, everybody comes out of the woodwork and starts trying to get their particular filtering priorities. It's hard for a centralized system to resist them.
The real answer is probably to switch to something a lot more decentralized and anarchic than the DNS can ever be. After all, in the end, there's only one ICANN. But that will take a very long time, if it ever happens at all. In the meantime, it seems really unsafe to concentrate power over the DNS in a limited number of pressure points.
What examples were you thinking of.
They are still the only CDN offering TLS1.3 with ESNI. Problem is they do not necessarily encrypt backend connections. TLS version and SNI are relevant IMO because even with DoH, without TLS1.3 plus ESNI, the ISP can still see domain names in the clear on the wire in client hello packets sent and TLS certificates returned from remote IPs. All those AWS-hosted sites you visit all require SNI, the domain name sent in the clear over the wire for your ISP to track. For many, you can use the cloudfront CNAME as the SNI but it would be easy for an ISP to keep lookup table for all AWS CNAMES. HN's hosting provider will not even support TLS1.3, it's TLS1.2 at best.
SNI is hostile toward privacy conscious users and makes censorship easier.
(The "E" means "encrypted".)
I use ESNI-enabled openssl from github.com/sftcd, 30 Aug 2019 release, for all HTTP requests to Cloudflare-hosted sites and it works well. A noticeable downside is one has to keep fetching a new key in a DNS TXT RR every hour. Another use for DoH; the key can re retrieved via DoH (no SNI required).
If you are in the minority who have a great DNS server, go to the firefox settings and make a change. Defaults should suit the majority.
The fact is that they want to enable DNS tampering, because they want to use it as a way of enforcing their idea of "safety". So they're building this giant, highly centralized, and easily pressured, infrastructure of "trusted resolvers" that can mess with your DNS results to their heart's content. This will, of course, be a huge attractant for bad actors who want to do things even more harmful than injecting obnoxious advertizing.
As for privacy, the only way that can work, even with something like DNSCrypt, is if the individual user chooses the resolver from among a very large set of possibilities.. which Mozilla is not enabling. Either that, or relatively exotic anonymization stuff that's not actually worked out, and that Mozilla has shown zero interest in working out. "Trusted resolvers" just move the privacy problem to a different place, and, again, it's a highly centralized place that's easy to subvert.
And DNS-over-TCP is desirable for sure, but it does nothing about tampering or privacy. It's just irrelevant, except maybe as a preliminary step making it easier to deploy some of the stuff that might actually help.
WIth DNSSEC enabled, somebody can still impersonate an unsigned domain, but the whole reason that there are so many unsigned zones to begin with is that nothing checks the signatures, so there's no incentive to sign. By actually doing the checks, browsers, including Firefox, could have created an incentive for widespread DNSSEC signing.
So they could have both unilaterally gotten a lot of benefit for their users, and encouraged wider DNSSEC deployment that would have produced further benefit.
Add in DANE, and it would also have given a much more satisfying fix for a bunch of CA issues that they've chosen to band-aid with stuff that only half works. You could probably even have gotten to a world with zero-cost TLS certs well before enough pressure built up to make Lets Encrypt come along.
None of this is hypothetical. It happened, for instance, at the launch of HBO NOW, when a screwed up DNSSEC record made the site vanish for everyone resolving through Comcast, which pointlessly verifies DNSSEC.
As for the "servers that will validate DNSSEC if it's available", the operators of the servers that "huge portions of the Internet's user base" use are exactly the people who are potential threat actors in most DNS tampering scenarios. That's not useful or effective validation. It makes no sense to put the choice of whether to validate in their hands, and obviously nobody can trust their validation.
Even worse, making DNSSEC well used might have pushed privacy protocols out of priority as people claim DNS is good enough already.
With DoH of course this is much less relevant. The people operating Trusted Resolvers for DoH are obliged to actually implement the protocol correctly.
If you choose a DoH provider which does DNSSEC for you (such as Cloudflare's 1.1.1.1), and you trust that provider, your answers are DNSSEC validated, today, without any changes to Firefox. Millions of people benefit, zero work.
If you're concerned that Trusted Resolvers aren't enough privacy, Oblivious DoH eventually means that the TRs don't see your query any more, so the people answering the query don't know who you are, and people who know who you are don't know what your query is.
And it would have been relatively easy to put up a notice that said "your DNS server seems to be dropping all EDNS0 data or whatever stupid thing it's doing; would you like to switch servers"? Which would have avoided centralizing everybody by default.
I know there were enterprise firewalls that broke DNSSEC on any packet that went through them... but frankly the sellers of those firewalls deserved to get heat, and any enterprise that would deploy that kind of broken crap isn't an organization I'd want to support as user.
And that still doesn't justify putting DNS on top of HTTP of all things. But that's another story.
As for Cloudflare doing DNSSEC checks, the fact that I shouldn't be trusting Cloudflare to do the validation for me is kind of the point. Validation (final validation, at least) belongs in the endpoint.
If "oblivious DoH" is what it sounds like, it sounds like maybe I have to retract "zero interest in exotic anonymity". Which I am very happy to have to do.
You claimed that it "by design, validation occurs -- has to occur -- at the recursive server". That is false, and it is false in a way that's important to the issues under discussion. Nothing forces validation to happen at servers other than laziness and inertia.
Basically the message here is "DNSSEC will work when customer DNS servers go away and everyone just runs their own". Ok, I'll add that to the (long) list of obstacles to its adoption.
Insofar as I can extract any meaning from what you say, what you say is false. DNSSEC validation does not take place "step by step through the recursive resolution process". You seem to be conflating the resolver tree with the zone tree.
Any entity that can get access to the necessary DS, KEY, and RRSIG records (plus the actual data records) can do a complete local DNSSEC validation from the root to the leaf. It can get those records from anywhere. It doesn't even have to get all of them from the same place. It doesn't have to rely on any validation from the upstream servers, and is in a position to independently verify any validation they do do.
In fact, that's a basic DNSSEC design feature. One of the design goals was that intermediate responders didn't have to know about DNSSEC at all. Otherwise it would have been impossible to ever deploy it.
The protocol provides for asking a responder not to return invalid records, or even to return them but flag them as suspect. Clients don't have to use that functionality. Clients can always ask for all of data and for themselves. And any responder that does set any validation-related bits is expected to have verified the entire signature chain for itself, not deferred to any validation the next upstream responder claims to have done.
There's nothing "step by step" about it.
It's true that DNSSEC validation at the application end is <em>typically</em> done by a stub resolver, by which I mean a specific kind of limited DNS server that does recursive lookups and caches results for some defined population of clients, but is not authoritative for any zone. Unfortunately the word "resolver" is confusing, because it's used to refer both to stub resolvers and to more or less any software that does DNS lookups at a client, including libraries linked into application programs.
Nonetheless, the validating entity does not have to be a stub resolver or any other kind of DNS responder. It can be a "resolver" in the sense of a library, or it can be something else. Applications don't have to use the DNS protocol to talk to it, and if they do, they can do so entirely locally on a single host.
But you can still do on-endpoint validation using a stub resolver, just by using a local one that serves only applications on a single host.
To head off your next load of FUD about "running your own DNS server", such a local stub resolver is a small thing that can be installed by default, because you can get it working with zero configuration or administration, beyond maybe a forwarder address that it can get from DHCP.
Running an on-node caching resolver is nothing like running an authoritative DNS server, or even a stub resolver serving a whole network, and I know very well that you know that. Don't try to compare them.
A local resolver process doesn't demand a lot of resources by post-1990s standards, and the end user doesn't even have to know it's there. In fact, operating systems typically have similar local server processes anyway, for performance reasons. That's exactly what nscd or systemd-resolved does. Indeed, systemd-resolved, even though it was introduced for unrelated reasons, can be told to do DNSSEC validation, removing any need at all for a separate DNS-based stub resolver process.
I have trouble believing you're confused about any of this. What you're writing here, and what you've written elsewhere, sounds too much like the output of somebody trying to generate FUD that will convince the half-informed. And, yes, I did read that enormous screed you wrote a few years ago, with all the other gross, and suspiciously convenient, misunderstandings and mischaracterizations.
You haven't made any headway in your argument about how everyone is going to run DNS software that does this stuff. It's "easy" to do this stuff, in the same sense that it's trivial to run a local djbdns instance on your laptop instead of relying on your ISP's server. My point is: that's not how DNS is normally deployed.
Would you really expect ordinary users to understand that and respond appropriately?
DNSSEC only protects integrity, not confidentiality or availability. It still lets evil ISPs build a profile of every domain you've ever resolved, and to block your access to certain domains by just dropping your DNS request packets for them. Basically the only thing it stops is them sending you to a fake page (e.g., a pretty block message rather than a generic browser error).
Seems like DNSSEC is another failed spec like certificate pinning.
OSes are relegated to support myriad environments with adhoc yet byzantine configuration. A browser's primary objective is to be a "user-agent" (as opposed to, say, subscribing to the whims of ISPs / Governments / anti-digital-rights-companies-masking-as-cyber-security-firms).
> For the techie user who's running PiHole or some custom local DNS, yeah this will be annoying, but for the average user who's just delegating to their ISP that is then tracking their DNS lookups and injecting ads if they mistype a domain, this is a win.
Internet censorship, which most of the population in the West isn't subject to or even aware of, is the primary reason DoH-in-a-browser is widely lauded. It just works, and thwarts all cheaper attempts at surveillance and censorship. Though, the likely effect would be, deep-packet-inspection becomes common place, but the imminent ESNI standard has that one covered, too.
As someone who builds and maintains an open-source DoH resolver, I have come to fully appreciate the control and power a resolver running over HTTP/S puts in the hands of the users, both in the client and on the resolver-side.
Too slow, I'm afraid. Word on the street is that any hello containing ESNI will be blocked from day one in too many places for it to ever get traction, including all of China. I believe draft ESNI is blocked by the GFOC today.
To even have a chance of making ESNI/ECH widespread, you'd have to make it mandatory for all TLS. That wouldn't fly politically in the working group, because the "enterprise" people have at least some influence there, and they want to do exactly the same kinds of DPI that North Korea would want to do. Even if it came out mandatory on the standards track, it would probably still fail at this point.
It might have worked if it'd been mandatory in TLS 1.2 or even TLS 1.3, but it seems too late now.
We'll see if they also disrupt DoH to the point of making it unusable. I bet they at least give it a try.
If this was true, TLS 1.3 would have RSA kex. The "enterprise" people (specifically in fact EDCO, the Enterprise Data Centre Operators, Nalini Elkins' group) really wanted to keep RSA kex. It was removed in TLS 1.3 anyway because it's a bad idea.
In practice the intention is that ECH will be GREASEd, so yes, it will go from being nowhere to being apparently everywhere almost overnight. It's not specifically intended that GREASing ECH will defy the Great Firewall, but it's a possible outcome. China can decide its own policies without help from us.
For EDCO and similar outfits, ECH changes nothing.
I hope you're right...
> In practice the intention is that ECH will be GREASEd
If even fake ECH extensions get rejected, then it's hard to deploy the whole GREASy burrito.
> China can decide its own policies without help from us.
... but China can make it uncomfortable to support ECH worldwide. It's not a free action for a service to risk being blocked in China, or for client software to accept being unreliable or unusable in China. That affects deployment in the rest of the world. We'll see who wins the war of wills, but I'm afraid that the "Western" entities that have the most control over what's widely deployed are not going to have will enough.
See: https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni#se...
If they were actual user agents, you would still have control over a lot of behaviour that's now been removed. Like actually remembering form fields you want to remember (instead, some websites tell the browser that it can't remember the user name, and the brower foolishly obeys). Or like copy/pasting text. Or like using the right mouse button (some websites disable it). Or like having control over keyboard shortcuts, which some websites override and which can't trivially be fixed.
In my book, a user agent acts in my interests and on my behest. Sure, most of these behaviours can be corrected using browser extensions, but requiring a boatload of extensions to have an actual "user agent" doesn't make me happy.
systemd-resolved has the clandestine ability to forward all your DNS traffic to google in many distributions of Linux. I would say the state of resolution in general is getting uncomfortably sketchy.
many wireless routers from Asus and others due to a buggy (or perhaps intentional) implementation of Dnsmasq will quietly intercept your DNS requests using their own built-in resolver. RT-ARCH13 is notorious for it even if NAT mode is disabled.
for my pihole implementation I block 53 outbound and do DoH resolution using cloudflared on the pi.
finally it bears remembering that the number one largest opposition to the use of DoH was ISP's who were (and still are) making a killing selling your search history. they went so far as to lobby congress to stop DoH. Now the very same ISP's we tried to protect users from are part of the DoH club anyway because, well, money talks.
https://arstechnica.com/tech-policy/2020/06/comcast-mozilla-...
Turns out that the microk8s config uses cloudflare DNS by default, and not your currently configured DNS or any kind of local DNS proxy. This was hugely frustrating because it's not the configuration that I would expect, it's not obvious why things are failing, and, in our case, it's sending internal DNS names to an external DNS server, unencrypted, over the public internet.
Surely it's convenient, but definitely not trustworthy.
This workaround is hostile to my own network (home or work) being able to track requests. I control my router / DCHP server, and I should be able to tell devices where to send DNS requests.
Anything that does not do what I tell it to do is malware IMHO.
This is the tradeoff of running arbitrary Turing-complete programs. If you don’t like what a program is doing, or that it doesn’t use libc or some standard way to do DNS resolution, your only options are to either change the program to do what you want, or don’t run it.
Previously I can track devices (a) making DNS requests, and then (b) make TCP and/or UDP requests. Anything that made a data request without a DNS request was probably using a hard-coded IP, which would be suspicious.
With DoH, it's all-HTTPS all-the-time:
> DoH is an over the top bypass of enterprise and other private networks. But DNS is part of the control plane, and network operators must be able to monitor and filter it. Use DoT, never DoH.
* https://twitter.com/paulvixie/status/1053886628832382977
> or don’t run it.
So Firefox further circles the drain with regards to market share? Is this part of some grand 4D chess plan by Mozilla that is perhaps beyond my intellect?
But you can't. Even if DoH went away today, even if Mozilla and everyone else dropped the technology, you still don't actually have the ability to do that. Devices will still be able to ignore you.
It's not DoH's fault if devices on your network don't use your network-wide DNS resolver. IOT devices were going to move in that direction regardless. Increasingly, your smart TVs are going to ignore your network settings. They might not even make DNS requests over the correct port. They might hide them in normal Internet traffic. They might cache them locally. They might make a request for a domain that looks safe, and then use a different IP address that they have cached locally. They might even ship with their own embedded 5G chip and use it for specific exfiltration requests and updates. They might join your local network, read all of your unencrypted traffic, and then use a 5G chip to separately send data out.
If you think that blocking DoH will solve these kinds of problems, I feel like you are putting way, way too much faith into your existing DNS setup.
> Anything that does not do what I tell it to do is malware IMHO
Okay, that seems completely reasonable. However, my perspective is that any network that will MITM my requests or monitor what websites I visit without my permission is malicious IMHO. It sounds like the answer here is to block access to your network for devices that you don't trust, or to try and quarantine them -- not to demand that my personal device stop respecting my own entered DNS settings whenever it joins a new network.
To argue that my installation of Firefox or that my OS shouldn't be able to ignore network settings anywhere and that I shouldn't be able to choose how my requests are encrypted, just because it makes it easier for you specifically to enforce your network's security policy without explicit opt-in or consent -- I don't know, it just seems pretty backwards to me from how this kind of security stuff is normally supposed to work.
I know that this stuff will make it harder for some network operators to do their jobs but... so did HTTPS. I heard literally the exact same complaints during the early push to get every website encrypted. But we live with it, and now if you want to monitor my unencrypted network traffic, you need to get my permission to install a certificate. Control and consent slowly moves away from networks and onto devices over time, closer to the users themselves.
Yes. But previously by logging requests to port 53 (and 853) I can hunt down those devices quite easy.
> However, my perspective is that any network that will MITM my requests or monitor what websites I visit without my permission is malicious IMHO.
If you don't like how I've set up my network, blocking your DNS requests, feel free not to use my network.
> To argue that my installation of Firefox or that my OS shouldn't be able to ignore network settings anywhere and that I shouldn't be able to choose how my requests are encrypted, just because it makes it easier for you specifically to enforce your network's security policy without explicit opt-in or consent
You can set up your devices however you want. But if they're on my network, they play by my rules.
> I know that this stuff will make it harder for some network operators to do their jobs but... so did HTTPS.
And network owners are free to block port 443 as well. Or any other port. People can choose to use those networks or not.
And IOT devices are required to use port 53 or 853? They don't have the ability to proxy their DNS requests through another service? DNS even as it exists today is not a mandate, this stuff can be circumvented.
> You can set up your devices however you want. But if they're on my network, they play by my rules.
I think that's fine. Block DoH on your own network. But don't complain about my browser turning it on. You can block 443 if you want, but I'm not going to be sympathetic if you argue that LetsEncrypt shouldn't exist.
There's a big difference between saying that you require every device on your network to plain-text its DNS queries to you for monitoring, vs arguing that it's harmful for Mozilla to make Firefox's DNS queries more secure for everyone else.
The only way DoH would be hostile to your network is if needing consent to monitor people's DNS queries when they join your network (via a settings change or confirmation that they're not using DoH) is a problem for you.
Having the pre-select a DNS resolver some of the same problems as having the application selecting the resolver. Specifically, it doesn't work as expected in networks with a local DNS server.
Exactly which Canadian ISP does this? I don't think that's an issue in Canada, where this feature is being enabled.
ie Windows 10 has it, macOS, Linux with systemd-resolver has it, Android too.
they aren't, which is part of the reason DoH is implemented in the first place.
Home administrators who control their endpoints can turn DoH off with relative ease. By comparison, most governments cannot.
That was a really easy way to block harmful stuff or name things without requiring DNS. Having to choose between encryption and easy configuration is pretty poor UX.
Of course, this is just one weapon in the arms race. It doesn't completely protect you, but every bit helps.
Most people use their ISP's or organization's DNS server, and have no control over it; instead, it's something used against them. In many cases, that DNS server may do some combination of tracking, redirection to ads, or other things that make it undesirable to use.
DoH eliminates one of the last major unencrypted protocols on the Internet, and instead uses an encrypted protocol to talk exclusively to the intended server without the possibility of interception.
If you want to talk to your ISP's DNS server, you're free to do so. But that should be your choice, not your ISP's.
What I think will really happen is the same thing as everything else. They'll use tech to take away features / abilities we have right now and then rent it back to us as a subscription.
"OpenDNS is now part of Cisco"
Add it up.
And somehow you ad this up to making it impossible not to see ads and locked down computers.
How?
I doubt that chrome will allow one to disable DoH but at least firefox does for now.
This is one step in the boiling-the-frog process.
The entire point is to make DNS secure. For every 1 person who uses DNS to block ads, there are many thousands who just use their ISP's DNS servers, and thus remain subject to surveillance, ads, redirects, and other malice. You can't possibly believe in good faith that the entire point or even the primary point of DoH is to hurt the small fraction of people who use DNS to block ads, rather than to protect the much larger set of people who are subject to the whims and financial interests of their ISP.
I'm not disputing that Google ads and tracking, like all other ads and tracking, should be blocked. Run a browser you trust, and run an adblocker. But the widespread use of unencrypted DNS is a problem that needs fixing. And DoH provides the most viable solution for that problem, by running DNS over an ordinary HTTPS connection.
AMP.
Not taking a side on this thread, but just want to point out that Comcast literally has a patent describing just such a mechanism. [0]
> including weather, emergency broadcast, and police stations
These seem like reasonable uses of this technology. My ISP has tried to inject a copyright violation notice before. (This was hilarious, actually, because it went to a guest in my house's browser, not one of mine, and I almost didn't hear about it at all, because they only sent it that way once... and I had to ask them to send me an actual letter about it with the details, which would've been the straightforward way to tell me in the first place...) Irritations with copyright holders aside, that was a notification of a mark against my account, which is arguably information that needed to be delivered to me.
Meanwhile, Google is preserving their ability to send phishing sites unimpeded.
the entire point is to make it impossible to modify DNS requests at the network level. this has a lot more serious consequences than just blocking ads. especially for the parties involved with this, none of whom are advertising companies. phishing and data security are actual big issues with financial implications that companies want to prevent. just because blocking ads is the consequence that will most immediately impact you personally, doesn't make it the whole point.
this accusation is especially rich on an article about mozilla, one of the few companies fighting to make sure that advertisers don't control the application level.
These are issues exacerbated by DoH, not fixed by it. DoH assists in the circumvention of security and monitoring. We block ads because they're security problems.
Endpoint-level control is no longer possible, since ad companies are skipping the OS network stack and bringing their own. Application-level control is less efficient, and more difficult, particularly when the applications are designed by the same ad companies trying to circumvent DNS control as well. (See Manifest V3.)
yes, that's the point. I understand you want to monitor traffic within your network, but forcing clients to use insecure protocols to enable network-wide monitoring means you're enabling network-wide monitoring. and that's the opposite of security.
remember that your browser traffic crosses multiple networks before it hits the website you're trying to connect to. forcing that traffic to be observable and modifiable in your own network means it will also be observable and modifiable by your ISP.
This is factually false. And represents a key part of the problem in the rollout browser vendors have designed: Browsers should not be implementing their own network stacks. It's the wrong place to begin encrypting network requests, but for the "if you're a hammer" crowd, everything looks like a nail.
If the browser respected the OS stack, the OS could decide to encrypt requests, but it isn't given the choice. If the browser respected the network it's in, the network could decide to encrypt requests at the border, but it isn't given the choice.
Browser vendors decided the right choice was to build a product purpose-built to bypass nearly every good method of restricting malware, phishing, and, oh of course, ads. Google and their ilk would happily install ransomware on every PC on the planet if it would guarantee Google Ads couldn't be blocked, and that ISPs couldn't compete with their well-established surveillance tools.
The latter is why any suggestion DoH is to protect user privacy is silly... the user's privacy was compromised by the browser application pre-encryption. They just need you to believe the ISPs are somehow a bad actor for tracking you, so that only they can track you.
DHCP will catch up too. https://datatracker.ietf.org/doc/html/draft-peterson-doh-dhc...
Blocking people from using DoH isn't going to solve the problem you are describing, it will just weaken users' privacy. Big vendors like Google will just create their own workarounds.
Before DoH though, my understanding is a good gateway appliance could just overwrite those DNS requests as it sees them. Now they'll be encrypted, and you'll have no way to tell the Chromecast where to connect (or even to where it is connecting).
All the major appliance vendors (Google, Amazon) already have huge fixed IP ranges to devote to this purpose, which are effectively unblockable because they might be shared with important cloud services.
https://support.mozilla.org/en-US/kb/firefox-dns-over-https#...
So, yes you can blacklist domains, as long as you can configure the DoH servers that the client uses.
Which now involves not just getting every machine, but every application on every machine
You can choose to use that server or not
If a network intercepts your DNS traffic, you can encrypt it yourself. If you don't trust the network you should be encrypting everything anyway
If you're not using DoH, a malicious network will just redirect your requests to legitimate DNS servers to instead go to its own.
People can still use browser add-ons to block domains, URL's, objects on sites, etc... uBlock is my favorite for this.
Surely they are... but the guy might not be your ISP but Cloudflare.
EDIT: In Canada that would be that so-called CIRA (by default). But you always have control who can pollute your DNS, right?
On the other hand, if you actually control your devices DoH shouldn't be a problem, you can have them talk to whichever servers you prefer regardless of the protocol.
As to the lightweight thing. We get a few benefits from running DNS on top of HTTPS rather than say TLS (which also exists, as DoT)
1. HTTPS allows us to put parameters in the URL which are thus confidential (HTTPS will encrypt them) and have those control the DNS lookup. So dns-server.example can offer all its users their own URL, even though they all talk to the exact same server (dns-server.example.com) and a snoop can't tell that one device used the rank0 account while another device used the tialaramex account, those are encrypted in the URL, yet the actual server can see which is used and maybe my devices get "pure" answers while yours have ad-blocking or whatever.
2. DNS doesn't have a rich error vocabulary. For your ad-blocked domains, a traditional DNS server has to either lie (bogus answer) or claim no answer exists (NXDOMAIN or OK 0 answers) but HTTP has a rich variety of error codes. Maybe 403 Forbidden is appropriate for the Xian parent who doesn't want their teenager looking at pornhub.com and 451 Unavailable For Legal Reasons is appropriate for a DNS service which excludes Pirate Bay due to lawsuits.
And if I run a guest wifi in one of the many countries where I have legal obligations to take steps to block illegal traffic because I am ultimately responsible for the emissions of my network, what would you suggest I do?
> DNS doesn't have a rich error vocabulary. For your ad-blocked domains, a traditional DNS server has to either lie (bogus answer) or claim no answer exists (NXDOMAIN or OK 0 answers) but HTTP has a rich variety of error codes.
It's a good thing that DNS has a limited vocabulary of error codes. I want the garbage website to think it couldn't load the ad because of a mysterious DNS issue. Having a reason like "DNSHTTP 486: Blocked by Client" would just make it that much easier for the site to deny you access/track you/detect your blocking activity.
This is an oft overlooked part of these discussions. I manage a public network at a library (which is still the only access point for many people, unfortunately). DNS blacklisting certainly isn't the only tool in the toolkit, but it is one that DoH takes out. I'm genuinely conflicted on DoH because on one hand, I am a privacy advocate, but on the other I run a public network and that comes with certain obligations, both legal (we need to block filesharing) and to customers (we do traffic shaping because the budget it limited and bandwidth isn't cheap).
It's certainly weird to insist it's everybody's else's problem that you're subject to legal obligations that may be impossible to fulfil.
If the purpose of this "obligation" is to ensure nobody is technically compliant and so they can arrest, imprison or even execute whoever they want, it doesn't seem like that's my fault, or Mozilla's fault, or any of the authors and acknowledged contributors for RFC 8484. Any more than it's Giuseppe Peano's fault that six is even.
And if (as seems most likely) they're just covering their backside, the notice is probably sufficient.
This also means nothing for firefox. Firefox can not use DoH and iot products can just implement it themselves.
Anything that you can do as a network admin to control "your" devices, an ISP can do to control its users. The sane way to resolve this conundrum is to fix your network endpoints to run only Free software, as the alternative would be facilitating centralized control on the large scale.
I already do tell the devices I control which DNS servers to use via DCHP and IPv6 RA. Firefox is choosing to ignore that by default, and now I have to go through extra steps to solve a problem that Mozilla created by not simply re-using the previous solution (gethostbyname(3)).
At the very least if they had simply used the already existing DoT, instead of inventing a new protocol (DoH), I could have monitored port 953 traffic and see which devices were broken. Now I have to figure out devices trying to sneak through my policies.
> DoH encrypts precisely zero data that is not already present in unencrypted form. As it stands, using DoH only provides additional leaks of data. SNI, IP addresses, OCSP and remaining HTTP connections still provide the rest. It is fake privacy in 2019.
* https://twitter.com/PowerDNS_Bert/status/1175744071673028608
In the resulting HTTPS web request you have the hostname anyway. Think that ESNI will save you? Well that's being blocked:
* https://www.theregister.com/2020/08/11/china_blocking_tls_1_...
* https://www.zdnet.com/article/dns-over-https-causes-more-pro...
Meanwhile eSNI/ECH breaks network visibility into the networks I'm responsible for managing (at home and work). If I'm supposed to be a good netizen and make sure that I quickly hunt down malware that's gotten on my network(s), blocking tools and techniques to do just that seems… silly.
Well, don't worry about it, since apparently no one can use it and it'll get blocked, right?
I don't understand the simultaneous argument of "this won't be usable because governments will all block it" and "this is going to make it impossible for me to monitor my network." Both of those arguments can't be correct at the same time; if your government won't block eSNI, then it'll be a privacy boost in your country and it's a realistic path for privacy advocates to pursue. If your government does block eSNI, then why are your worried about your personal network?
What's the point in locking my front door if I leave my window open? And what's the point in closing my window while my front door is unlocked?
This argument is circular. If you want to secure something that is widely insecure, then you have to start somewhere. It's not like people are ignoring SNI and IP addresses. They're just being handled in separate efforts than DNS is.
> Think that ESNI will save you? Well that's being blocked
If you're working with the assumption that any serious attempt to secure hostnames will eventually be blocked, then what's the point of anything at all? Should we just completely give up on security/privacy because the state won't allow it?
We can address ESNI blocks as a separate effort from DNS. We don't have to do literally everything at the same time, it's OK for us to gradually move towards better security and address each problem one at a time.
> Do you think that DoH prevents adversaries from doing censorship and/or surveillance?
Given the amount of complaining I'm seeing from multiple network operators on this very article, yes, there's a pretty strong likelyhood that it helps. Because if it didn't, then network operators wouldn't be complaining about it.
How do you square "DoH is useless" with these kinds of comments in your own linked articles?
> In a paper published last month, the SANS Institute, one of the world's largest cyber-security training organizations, said that "the unmitigated usage of encrypted DNS, particularly DNS over HTTPS, could allow attackers and insiders to bypass organizational controls."
> "The trend is unmistakable: DNS monitoring will get harder," the Dutch agency said.
> The Internet Watch Foundation (IWF), a British watchdog group with a declared mission to minimize the availability of online child sexual abuse content, also criticized both Google and Mozilla, claiming the browser makers were ruining years of work in protecting the British public from abusive content by providing a new method for accessing illegal content.
Does DoH make blocking/monitoring content harder or not? Is the UK lying when it says that DoH will make it harder for them to block content at the ISP level?
This. Why the hell everyone ignores DoT, much simpler one? Yes, China, censorship, but Canada? And I’m still unsure if there are http cookies in DoH, or not, or possibly maybe…
Edit: I forgot, as another commenter pointed out, they also have a canary domain (use-application-dns.net) that you can blackhole to disable this at the network level (unless the user manually enables DoH).
> The use of this domain is specified by Mozilla, as a limited-time measure until a method for signaling the presence of DNS-based content filtering is defined and adopted by an Internet standards body.
Presumably that'd be the IETF, and I have no idea which committee would be working on this, if there's a draft RFC in the works, etc. But it's clear the expectation is some sort of standard mechanism will eventually replace the canary domain that yields the same functionality but in a less hacky way.
There's also [3] which is a way for the DHCP server to also provide DoT and DoH servers to the LAN (in addition to the usual DNS servers).
[1]: https://datatracker.ietf.org/doc/draft-pauly-add-resolver-di...
I see plenty of people just adding it to their hosts file blacklists / DNS overrides like they do for other ad and malware domains, such that it resolves to a bad IP like 0.0.0.0. That's not what you should be doing in this case.
[0]: https://github.com/mozilla/policy-templates/blob/master/READ...
[1]: https://support.mozilla.org/en-US/kb/canary-domain-use-appli...
I realise this is currently all leaky, my attitude was to put controls in place (DNS based) and if they learnt to hack around it then they're probably old enough to handle what they find ... doesn't work for malware, etc., however.
Presumably enabling DoH makes malware, advertising, etc., impossible to block?
When is MS Windows going to use DoH to force access for monitoring, currently I block a few domains.
Microsoft doesn’t need DoH to circumvent DNS-based blocking. They control the OS and can make it do anything.
Seems like it would be a CMA/CFAA infringement?
0: https://www.microsoft.com/en-us/Investor/earnings/FY-21-Q3/p... (ctrl f "total cash")
The fact that no one has shown that they do any of this tells you that they’re not trying very hard to circumvent blocks. Why would that change with DoH?
No there's not, for good reason. From a technical perspective, this is indistinguishable from an abusive spouse or oppressive government trying to block sites.
Oppressive governments just block the providers of DoH that won't fold to them, meanwhile I lose the ability to control traffic on my own network.
I don't think DoH is going to make any difference to spousal abuse.
If you want to block domains on your devices, doing it on your devices themselves will be more reliable and implicitly requires you actually own & have admin rights on the devices you want to block domains on.
It was always trivially possible to bypass DNS-based access control. Even before the establishment of DoH as a standard, you could have just served a text file containing the IP over HTTPS.
If you operate any network security appliances of any kind, browsers are basically built-by-default now to circumvent them, so you need to be configuring them heavily via group policy.
Firefox, Chrome, and Edge all offer ADMX templates to add support for their policies pretty much drop-in to Active Directory.
So you'd likely configure your browser to do DoH destined for that proxy, and have the proxy generate DoH requests to the remote ends. The downside is you'd have to somewhat manually set up certificate trust between your client and your proxy - either by trusting the proxy's certificate, or installing a root CA that issues the proxy's certificate in your browser's trust store.
Then, I expose my PiHole as a DoT + DoH server (DoT for Linux and Android, DoH for Firefox) so that I can always use my ad block lists and secured DNS traffic.
Maybe something exists for that already?
It's also an availability thing. There's that one archive website on a vendetta against cloudflare for not forwarding enough data in DNS requests (eDNS or something?) that I can access by using alternative servers as well. In the rare case of a cloudflare outage, this also ensures uptime.
DNS cannot be made fully anonymous, though that double encrypted DoH thing seems promising. Picking a few trusted providers isn't a problem for me personally.
I have a PiHole, and have the cloudflare DoH client installed on it.
Requests from my network go to the PiHole, and the PiHole is set to query localhost:5053, which then hits a DoH provider.
Why do you have separate setups for mobile vs. desktop web browser, why not have the OS do native DNS to your PiHole?
Similarly, I use DoT on my phone but if I want to connect to any hotspot, I have to disable DoT because the hotspot login detection fails with DoT configured. I think it's a Xiaomi thing. Regardless, I need to disable it to use. In one particular case (scanning groceries in the supermarket for the automated payout) I can't fall back to LTE like usual. Just in case I forget to turn DoT back on, I've also configured Firefox on my phone to use DoH because the mechanism is there and I might as well.
There's small edge cases where I just like to fall back to browser DoH. DoT and I'm network DNS still works fine, of course.
- every FQDNs you resolve is leaked to at least one provider
- the FQDNs you resolve often (e.g. every day) are leaked to at all the backend providers over time
If you want to protect your privacy you need DNS resolution over Tor.
It's still not clear if it's a win to rotate, but if you were going to rotate, that would help.
(and hardly beneficial for privacy: you just divided the FQDNs you leak across 3-4 providers)
But nonetheless, I agree.
We have conducted some preliminary work on this idea and shared it with the team at Firefox, but I guess the current number of Trusted Recursive Resolvers is not large enough. However, I do believe that once Firefox have more than a dozen TRRs, (or if Firefox allows users to input more than just one customized DoH resolver), our proposed K-resolver resolution mechanism would help to increase the privacy benefit of DoH even further.
"K-resolver: Towards Decentralizing Encrypted DNS Resolution"
https://www.ndss-symposium.org/wp-content/uploads/2020/02/23...
Recently, there is a push for the deployment of DoH/DoT, with major organizations already supporting it (e.g., Google, Cloudflare, Firefox), though this has not been followed by an equivalent effort for the deployment of ESNI, which is now being reworked in an Internet draft called Encrypted Client Hello (ECH: https://www.ietf.org/archive/id/draft-ietf-tls-esni-12.txt). Unless the confidentiality of domain names is preserved on both channels (SNI and DNS), neither technology can provide any actual privacy benefit if deployed individually.
Also many websites hosted on IP addresses that do not host any other domains, the IP information can be used to infer which domain was visited. We have carried out some studies to investigate the extent to which domain name inference can be done through IP address information. For more technical details pls have a look at these papers:
"Assessing the Privacy Benefits of Domain Name Encryption" https://arxiv.org/pdf/1911.00563.pdf
"Domain name encryption is not enough: privacy leakage via IP-based website fingerprinting" https://petsymposium.org/2021/files/papers/issue4/popets-202...
Hopefully ECH will make it this time
https://utcc.utoronto.ca/~cks/space/blog/web/FirefoxDNSOverH...
Canada also has some large, private networks used by provincial governments that use split horizon DNS and DoH is going to be a huge pain for them. One specific example would be libraries that are on a private network and have access to resources handled differently depending on how you connect; via the private network = no auth, but via the internet = auth required.
Split horizon DNS is a simple, practical way of affecting how traffic is routed in a lot of cases.
You think that hairpin NAT is a hack, but that split-horizon DNS isn't?
https://utcc.utoronto.ca/~cks/space/blog/sysadmin/BinatAndSp...
In the meantime they have to use split dns so they are able to keep things kinda working.
I have personally worked at least a couple of large orgs that have this setup (ie 100s or 1000s of ancient devices on internal networks squatting on what are actually public IPs).
I want to add, that you can't run your own public DNS server nowadays, because it can be misused for DOS and hosting providers scan for open DNS servers.
So if you want your own public DNS resolver, DOH is much easier.
Can you elaborate? I am thinking of doing exactly that, in case of need.
Can you imagine if your network administrator could just tell your computer to send all your unencrypted HTTP traffic to a proxy they control?
https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Local-DoH
It isn't too hard.
Why? You're already using your internet provider, so you trust them. Otherwise you wouldn't use them.
A lot of times you don't really have a choice which ISP to use so that's not really a good argument.
DOH is a "best of a bad situation" kind of solution, it's a reaction to hostile ISPs. It's not something anyone really likes.
[1] https://www.internetsociety.org/blog/2014/04/turkish-isps-hi...
It sounds like you think that's not worth it, but the evidence is that others disagree. Personally, I see both the pros & cons and have no strong feelings either way. I trust Mozilla's evaluation of the pros & cons more than I trust my own so I'm happy to do whatever they think is best, and I suspect most users feel the same way. If you disagree with their evaluation, you can toggle it off in Preferences, and they even show a banner on first start-up giving you that option.
Nope.
DoH does not take that away. It might move it away from the hands of your apparently adversarial ISP, but delivers the information in the hands of whoever is running those DoH servers...presumably Cloudflare, who already hold far too much sway for my comfort.
So this rollout of DoH to Canadians isn't nearly as disruptive as it could be.
Don't forget C-10
This should be an optional feature that is Opt in. Instead a quick banner appears when you start Firefox and if you don't quickly hit disable … it enables this by default.
disappointing behavior by Mozilla
Traditional DNS is very easy for everybody and anybody to snoop and tamper with, including your ISP, the government, the resolver and anybody else with a chunk of network infrastructure on your path. DoH is very hard for anybody but the resolver to snoop or tamper with. The resolvers commit to not selling data and not retaining logs for more than 24h. Of course a court order will take precedence, but we’ve gone from “anybody who cares can see and tamper with your DNS queries” to “just your resolver can see and tamper with your DNS queries, and they’re audited so that'll probably only happen under court order”.
All else held equal the increased centralization would make DoH a step backwards - but all else isn’t held equal, and traditional DNS is such a bad protocol that most of the advantages of its decentralization don’t actually manifest. And it’s not like the DNS protocol weaknesses are hypothetical - they’re used en masse by regimes and corporations around the world. With that in mind, I’d say default-on is a reasonable decision.
I suppose you can run your own dns resolver for dot - but there seems to be much poorer support for network level configuration (like DHCP)?
I'd like my android TV, my TV, my phone and my computers and my guests to use my local settings - automatically. Now every device need manual setup for every network?
At least if you run a VPN on the local recursive resolver, or a dnscrypt proxy - giving you some choice over who you trust - your ISP won't be able to see the content of the lookups. And all local clients can just use DNS.
But as long as root DNS is only signed, not encrypted, someone will see your lookups...
DNSSEC doesn't help with censorship. It means that your ISP can't send a fake response without you knowing it's fake, but they've accomplished their goal as long as they keep you from getting the real response.
> or a dnscrypt proxy
DNSCrypt traffic is obviously not HTTPS, even when run over TCP/443, so a malicious ISP could easily block it.
https://support.mozilla.org/en-US/kb/canary-domain-use-appli...
Second of all, it is not switching to use CIRA's DNS, it is added CIRA DNS to their revolver so .ca domains get fed through Mozilla's DNS over HTTP, rather then going Mozilla DNS <-> CIRA.
I know many people will stop reading at CSE and draw their own conclusions, but like with every issue there's nuance here. CSE arguably draws some of the foremost information security experts in the country, and their mandate does also include protecting the digital security of Canadians. I'm going to be cautiously optimistic and start looking for transparency resources around Canadian Shield.
CIRA has 3 levels much like opendns, private, protected and family. My router has already been using private for awhile mainly because it was the fastest dns.
The server for where I am located is hosted at a local ISP. If they were truly nefarious vacuuming up every dns request and providing a printout of my activity to the prime minister every morning they'd just host the server on their own network.
If CSE built it themselves as alleged, they did a good job in terms of its performance and I trust the Canadian government more than I trust an ad company.
In case of emergency, break glass and use VPN.
Me too. However, since it's sort of the government running it, I wonder if they could ever implement ad blocking without getting sued by the ad companies.
All in all it is sickening to watch all those entities trying to to usurp control over the areas that are better not to be fucked with.
https://support.mozilla.org/en-US/kb/firefox-dns-over-https#...
Yep, my hosts file is that complete.
[1]: https://blog.apnic.net/2020/12/14/dns-over-https-in-unbound/