Meh, if an attacker can sniff your packets, they can already tell what IP addresses you're talking to, which certainly narrows down which domain names you're talking to.
I'm far more concerned with the possibility of intercepting or hijacking http traffic. Sure, an attacker could do this with any non-TLS connection in theory, but it's way way easier to hijack that one DNS response and change the A record.
http://blog.trendmicro.com/trendlabs-security-intelligence/d...
The extension is sent unencrypted, even when using TLS 1.3. So everyone sniffing the traffic can tell where you are surfing to, even without DNS.
There is little reason to support clients that do not support SNI. By supporting those clients you are likely putting your entire encrypted infrastructure at risk. SSL3 should be disabled by now. XP clients are legacy and should be taken out back and shot. Older mobile phones are enormous security risks.
Honest question: with an increasing amount of sites being hosted via cloud infrastructure, does an IP really let you know if you are talking to Amazon, Google, or Microsoft vs the multitude of sites hosted by AWS, GCP, or Azure?
I'm assuming they use their own infrastructure, but I could be wrong.
https://www.ietf.org/proceedings/94/slides/slides-94-tls-8.p...
Edit: Nvm, DNSSEC still has to trust the validating resolver, DNSCrypt solves this.
DNSSec => Authenticity of resource records
DNSCrypt, DNSoverTLS => Privacy of the connectionI still see DNSSec as providing value before the entire graph of DNSCrypt or DNSoverTLS exists.
DNSSEC provides no value at all until graph coverage is reached, and even then provides absolutely no privacy.
https://sockpuppet.org/blog/2015/01/15/against-dnssec/
In the real world, for privacy, there are essentially two competing approaches: DNSCrypt and DNS-Privacy. Both are unrelated to DNSSEC. DNSCrypt uses a custom protocol to encrypt DNS transactions, and DNS-Privacy uses TLS. Neither require, or even benefit from, deployment of DNSSEC.
DNSCrypt has been designed to both authenticate, authorize and encrypt the channel.
Using both in conjunction means that you have a private connection with authenticated data coming from the upstream resolver. Now the obvious issue is you don't know what the upstream resolver does with that...
Kinda. It still can add a CNAME there, and make you go into another site for what it has a valid cert.
In most DNS stacks when an application asks for thing1. the usual way (something like gethostbyname), the resolver side will quietly follow a CNAME answer and resolve thing2. without telling the application anything happened. It's not part of the usual APIs, but that's not to say applications can't find out if desired. Same story with symlinks, where one uses a different API to read the link instead of the target. So for the browser case mentioned, a naive resolver wouldn't even be aware of the CNAME, hence the CN not changing for TLS purposes and the address bar staying the same. No modern browser has a naive resolver, just saying.
People trip up on this a lot, just clarifying.
If a site is https then even if an attacker is MITM-ing DNS to their own site they presumably won't have a valid cert for the site they're intercepting, although it has happened many times before, and 50% of the internet is still unencrypted. But even assuming that doesn't happen it's still a huge privacy/data leak.