The DNSSEC Chicken & Egg Challenge
wiredmikey writes "To begin DNSSEC implementation or not: that is the question facing a host of enterprises, notably any that engage in e-commerce or online financial transactions (online retailers, banks, investment firms, hospitality and travel, etc.). These businesses find themselves in a catch 22; there are obvious security benefits to adopting Domain Name System Security Extensions or DNSSEC, but there are some severe downsides to being too early in the adoption curve – downsides that are becoming more and more apparent every day. While DNSSEC is getting rave reviews for successful deployment at the foundation levels of the DNS, problems are lurking just ahead, since very few widely utilized end-user applications are able to actually utilize DNSSEC at all. Simply put, DNSSEC can only work if it is supported throughout the hierarchy from publisher to visitor..."
News flash, cool new security technology only works when everybody is already using it and would require massive amounts of code to be changed.
Is anybody even surprised by this?
Lost at C:>. Found at C.
Isn't this the same problem faced by trying to undertake widespread adoption of IPv6? Maybe we should just do both at the same time - one massive headache that will hopefully last as short as possible, as opposed to two much longer (and likely overlapping), less intense headaches. Not that corporations who aren't running into any DNS cache poisoning or IP exhaustion issues (aka the vast majority) will be chomping at the bit to get these items done out of the fathomless kindness of their hearts.
"I'd just like to emphasise that taking a million years isn't a metaphor here..." -Rich Bradshaw
The entire point of the article seems to be 'if you incorrectly configure DNSSEC then people trying to connect to your systems will see DNS failures at the application level instead of a helpful error message'. This isn't an argument against deploying DNSSEC, it's an argument for deploying it correctly (and testing it in private DNS server before deploying!).
I am TheRaven on Soylent News
Another issue is maturing of software. DNS is critical to network operations and people are not going to be using it globally until the software available make this both reliable and easily implementable, it will often just happen. BIND V9.8 will get close and I hope BIND 10 gets us all the way.
Finally, DNSSEC is not free. It takes at least a bit of work to implement it, so I really don't think that you will see people signing DNS for the page with the family pictures. It will start with banks and such.
While there are some real issues ahead ofr DNSSEC, but its implementation seems to be going just fine for now.
Kevin Oberman, Network Engineer, Retired
This is probably answered in the article, but let's be honest: most of us aren't going to read it. So, what exactly are the downsides to deploying DNSSEC today? If I could wave a magic wand and have it up and running on my server 5 minutes from now, what would break or otherwise be worse than what I have right now? I can understand the idea that maybe clients won't get the full benefit until they're configured to check any DNS requests they make to me, but I'd be hard pressed to think of why that would actually be a problem.
Dewey, what part of this looks like authorities should be involved?
The idea is to push trusted information closer to the end user. Once ISP's implement DNSSEC then you be sure that the records you are obtaining have been verified all the way up to the root. That doesn't get it all the way to the end user....but it is a vast improvement.
Did I just see an Slashdot article summary that explained the acronym ??!!!
It should be DNSSEX. Right? Right? Hello? Buehler?
DNSSEC is an infrastructure shift, and you can't use it on .com domains for another few months. Have some patience.
At Black Hat this year, I actually demonstrated the endgame. Want federated authentication in OpenSSH that actually scales? Want servers able to autogenerate TLS keys that will be recognized and secured worldwide, even against broken certificate authorities?
Want secure email, without the mess that is PGP key management?
End to end secure key management via DNSSEC makes it all actually really easy. Code is here -- BSD licensed, feel free to play:
http://dankaminsky.com/phreebird
Also, I'm putting together a set of diaries on the subject:
http://dankaminsky.com/2010/12/13/dnssec-ch1/
Enjoy!
Do DNSSEC version contain OpenBSD's secret FBI IPSEC back doors?
very few widely utilized end-user applications are able to actually utilize DNSSEC
Good thing you managed to work "utilize" in there twice. The first one doesn't even really make sense grammatically, but hey, it sounds much more sophisticated.
sic transit gloria mundi
So commodore64_love is now posting his Alex Jones rants as an AC?
Is there a good tutorial on setting up DNSSEC for your network? I've got DNS caching on my home network, and would be interested in getting DNSSEC verification of DNS results set up if it's not too painful.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
One of the applications that can directly show the user if the website he/she is visiting uses DNSSEC is Firefox. There is a plugin for it here
It's my favorite holiday. All the plebs stay home and the admins get to all make the Big Changeover simultaneously. Big sales in survival gear, canned food, and backup drives.
One thing here is that applications, and even end-user computers, don't need to support DNSSEC directly. It's good if they do, and once they do they can do some interesting things with it, but in practice most end-user computers don't do full DNS anyway. They've got a stub resolver that hands the real work off to the DNS servers on the network they're on, and those handle the heavy lifting. If those DNS servers implement DNSSEC and check records properly, all the computers on the network get the basic benefit of non-forgeable DNS records (if the signatures don't verify, the local DNS servers will return an error to the client).
Even getting it into the home isn't too hard. Most ISPs use DHCP to assign addresses to customers and point customers to the ISP's DNS servers in the process, so if the ISP's DNS servers implement DNSSEC the customers get the benefit. And for users with their own router, all it takes is DNSSEC in the router's firmware to move the verification all the way to the edge of the home LAN. That's not hard, my Netgear router uses a custom Linux system in the firmware and it's not too hard to tweak the DNS software on it. If I can do it, the router manufacturer can surely do it too and make the new firmware available just like they do for any firmware upgrade. The only real issue is hardware horsepower to do the calculations to verify the signatures. Some consumer routers don't have enough.
We'd be better served if we just migrated to DNSSEC running for IPv6 addresses only.
When the underlying IPv4 stack is inherently non-secure, running a secure DNS on top is kind of a waste of time.
Plus, bonus - this would encourage people to swap over to IPv6, and if you've got a Microsoft or Linux or Mac OS machine bought in the last few years, it already is running IPv6 stacks as well as IPv4 stacks.
-- Tigger warning: This post may contain tiggers! --
So yes, you can build a DNSSEC island and have that island internally consistent. However, some things about how DNSSEC is done bug me that make me question its value:
-Applications are generally not cryptographically validating the DNS response, they simply check the AD flag. This means that anyone able to spoof their way between you and your nameserver can *still* compromise DNS. This is better than the current state of things which is subject to shenanigans in a much wider scope, but still.
-When certain applications that are particularly careful about checking the AD flag, you are unable to trigger their 'secure' features on records for which you are authoritative, because the AD flag will not be set for local records. I'm looking at OpenSSH particularly hard here.
Now if you push things so that the software does cryptographic validation (like in SSL), it becomes very very hard to maintain a private infrastructure without full path protection to the root zone because you have to push all your islands key data to applications. DNSSEC would be great if it was there from the beginning. Part of SSL addressed dubious DNS results and now with DNSSEC, there is a bit of redundancy in practice for the common cases of DNS hijacking. I really really wished SSH had used x509 as the framework for their public-private keys instead of doing their own thing, ssh is probably the application that has the most to gain from DNSSEC and that isn't enough for most things to care.
XML is like violence. If it doesn't solve the problem, use more.
Just be thankful the author didn't leverage DNSSEC
My next sig will be ready soon, but subscribers can beat the rush