But the problem began decades ago when sysadmins started using firewalls to control what employees could access. During early 2000's I was involved in moving a lot of apps that used a bespoke port to port 80/443 just to make sure our apps and services didn't have any client hiccups due to (rightly so?) belligerent sysadmins.
All this has really done has made sysadmins lives harder bc of packet inspection. So, all app developers and now infrastructure solution devs must run thru 443, otherwise the take up wouldn't happen. The internet is effectively running on one port nowadays.
If the sysadmins were told "We don't want people doing X on company time: stop it.", that is hardly the sysadmins' fault.
Do you think IT / Helpdesk wants the drama of extra calls because certain things are blocked? That they're sitting in their cubicles twirling their sinister mustaches thinking of ways to make people's lives more difficult?
These people are the exception, not the norm, but it only takes one.
https://en.wikipedia.org/wiki/Slowdown#Rule-book_slowdown
When used carefully, it can be a very effective tactic.
In the end we will have a virtualized Internet 100% encrypted and tunneled over port 443, rendering the physical IP header worthless legacy baggage.
To IT admins: the more you tighten your grip, the more protocols will slip through your fingers.
Nobody knew better at the time, but this time we know. Fortunately, it will end at HTTPS, and it's just a matter of optimizing it well enough (in HTTPS4, or 5, or how many it takes) to make it behave like an internet-level protocol and replace IP.
HTTPS can't save you from that, though, because the same networks that modify DNS queries to third party DNS servers also do things like require you to install a root certificate and then MitM your TLS connections, and drop connections that don't accept their root certificate.
In both cases it's the same thing. You can detect the attack but that doesn't get you through.
iptables -t filter -A FORWARD -p udp --dport 53 -j DROP
And prevent anything from their own internal resolvers from accessing outside DNS services, especially now that encrypted SNI is moving more web filtering to the DNS layer.Easier to make the orgs internal recursive resolver "does the right thing" than all clients, too.
Replace "enterprise" with "ISP" or "nation state", and that's closer to what the DoH aims are.
DOH will cause so much drama when internal sites wont resolve any more.
Now you could argue that the fault in both of those cases is IPv4 and the natting that comes with it.
But yes. If u have a domain that is supposed to resolve different depending on the source ip that'd be..interesting... Now u need a website that displays different content depending on source ip or something like that...
One issue with doh is that it’s inconsistent - some applications use one resolver, some use another. The network (via dhcp) can’t hint at which resolver to use.
I have over 200 domains internally, that i don't have externally.
but its also flexibility. We often when we develop, want to redirect certain domains to our endpoints, for testing or whatever, and do that on DNS so that not everyone has to edit host files etc.
we have pfsense internally, with number of people that can and do add/remove hosts/domains on daily basis, but host our external DNS on CF, and only 2 people have access to that.
HTTP/3 is still a IETF draft, but is already being deployed pretty much by all big sites. It supports zero-round-trip (0RTT) requests even after the IP of the client has changed.
DoH can essentially match the latency of traditional UDP queries, while also encrypting the channel and traversing any gateways that let HTTPS through.
This doesn't sound right. QUIC is built on UDP and TLS 1.3, not HTTPS. HTTP/3 doesn't go over itself.
TLS 1.3 also makes the handshake significantly cheaper with the option for 0-RTT resumptions.
DNS isn't really being reinvented either - it's the old wire format with a different framing.
But why not DoT on port 443?
The story about office workers, sysadmins, and service providers trying to make life harder for each other and complicating things for everyone seems unfortunate, but makes sense, yet I don't quite see why HTTP has to be involved.
Also, using DoT over 443 would mean that you have an issue with traffic not being distinguishable for routing purposes at the edge. By making DNS on 443 DoH, it means that all HTTP2 routers/loadbalancers/etc. can work the same regardless of it being a Web request or a DNS request, because then they are both Web, i.e. HTTP, requests.
Well, multi-streaming and multi-homing is part of SCTP, but no one seems to have bothered implementing it.
> now DOH is reinventing DNS over HTTPS... Sigh.
DoT was already invented when the Web folks decided to go and invent DoH:
It's on your andriod phone now!
Perhaps it makes the surveillance tooling more uniform and easier to develop/maintain.
The argument that HTTPS is always available and not filtered is just wrong, anyone who has experience working with large corporations knows that clients use local * certificates and everything is decrypted by the firewall and then re-encrypted. Making HTTPS slow af and sometimes plain broken.
I guess someone will implement a full HTTPS stack in js and announce HTTPS over HTTP to go around this "problem".
Yeah, and implementing everything over https is just going to make things harder or impossible to filter. There's a reason that large corporations block certain things, so if they get reimplemented over http, that will just be a security hole. It would be nice if an actual encrypted DNS protocol was created.
First HTTP/3 (nee QUIC) reinvented TCP and ports over HTTPS, now DOH is reinventing DNS over HTTPS... Sigh. Both of these would be better off by evolving and modernizing their respective existing protocols. And HTTP is a client/server protocol with a _heavy_ handshake cost, why are we using it for a quick one-off request like DNS.