DNS Privacy Considerations
rfc-editor.org
rfc-editor.org
When you think you've got a grip on it there are leaks. pihole and cloudflared tunnel set up? Nope FF just bypasses it. Something still leaking? oh that's ipv6. Still no good? Oh DNS can bypass your port 53 firewall rule cause udp fallback. etc etc.
Oh and good luck testing it. Different results in FF/Chrome/Edge...and sometimes even variability between tests per browser. Hows that even possible with 53 FW blocked? No idea
When someone hosts a DoH server on a cdn/AWS/Azure/Google shared IP address, you can't block it by IP; and if the client uses ESNI, you can't block it by HTTP header inspection either.
Already done...something is still sneaking through...or cloudflares test is unreliable (or my iptables rules are wrong lol)
I think it's worse than having a ton of crappy ISPs doing DNS. Yeah, they probably sold my data to shady businesses, but DoH has the potential to be a much better mass surveillance and censorship system. Is it easier to get a US court order for Cloudflare and Google to block the pirate bay via DNS or to get 1k court orders from 1k jurisdictions around the world?
And the "benefit" we're going to get as users is un-blockable ads because that's the ultimate goal of DoH. Instead of my Roku trying to use 8.8.8.8 it'll use some DoH server at a CDN that's hard/impossible to block.
They're literally building the next generation surveillance / censorship system and selling it to us as "for your protection".
Can you not set the DNS server just as you do today? Or are you rewriting the IP for 8.8.8.8 to a private server and worried that HTTPS will prevent this?
With DoH it’ll be impossible to block and I think there’s a good chance they’ll flat out ignore local dns at that point.
https://www.ndss-symposium.org/wp-content/uploads/2019/02/nd...
There's a mechanism called Encrypted ClientHello (ECH), formerly known as ESNI, that tries to address this. Ultimately using either DoH or ECH only provides limited protection, the idea is to use both.
EDIT: Ah, the blog post does indicate that ECH is a work in progress.
What that means is, one day you'll get a new browser update and from then all your TLS connections will seem to use ECH, however, since most servers don't speak ECH most of your connections will have an unencrypted Hello as usual and then the ECH payload they carry is actually random noise.
Then, gradually over time, sites do have ECH and the connections to those sites use a cover name in the outer Hello with the real name protected by ECH instead of noise in the ECH data.
I would anticipate this beginning probably in the next 12-18 months once ECH is nailed down completely and ready to be published.
It's a misfeature of some common web server software that you get a "default" web site as if this was still 1998 and your web browser might not know about HTTP 1.1 yet. The specification doesn't suggest doing this as far as I know and it has caused numerous security problems.
Likewise ALPN. The client has to say which ALPNs they'd accept for this connection if any, and the server just picks one. The server is under no obligation to hint that it knows any particular ALPN or to let you connect without specifying.
If a web browser connects without specifying a name and it hoped to reach some.nonsense.example your wildcard certificate doesn't help it and it won't display your 503 Service Unavailable error, you aren't some.nonsense.example, it cannot proceed, so you shouldn't bother trying to "help".
EDIT: its really pretty easy to do apparently[0] although only unconditionally as it seems...
[0] https://cbonte.github.io/haproxy-dconv/2.4/configuration.htm...
OCSP is a plaintext (the answers are actually signed but they aren't encrypted) protocol to assure your client that the certificate it's looking at hasn't been revoked.
The correct fix for privacy is that OCSP Stapling should be used. Instead of clients fetching OCSP answers and thereby revealing who they're talking to, the server should pre-emptively fetch OCSP answers about its own certificates, and "staple" the latest good answer to its certificate, saying "Look, here's proof my certificate is still good". This stapled answer is then provided to the client, over the encrypted TLS connection, since OCSP is signed the client can trust this stapled answer and needn't fetch it themselves.
DoH servers should definitely have OCSP stapling. I'm sure the big famous ones do.
Tor or a trusted VPN could help to an extent, but I personally don’t see either of these as viable for all online access all the time.
Running one’s own resolver on the cloud isn’t something most people can do (even though it doesn’t, and cannot, cover all the points mentioned here).
Yep. I was always wondering whats the deal with http cookies in DoH.
It's been a decade since I last heard from it.
I gave up eventually. I realized I couldn't figure out exactly how the ENS domain registration worked, how much it actually costed because of volatility and gas prices, and I didn't know if it would be 1 (ETH purchase), 2 (+ ENS purchase), or 3 (+ ETH sale) taxable events triggered by the transaction(s).
After giving up on the ENS stuff I signed up for a namebase.io account and realized I'd have to give them all the same KYC/AML info I gave the other exchange. Since they're not even regulated by my country's regulator (FINTRAC), there's zero chance I'm giving them all that info. Plus, all the tax stuff related to the .eth domains would apply, so I just gave up.
I wanted domains, not crypto assets :-(