DNSSEC on workstations
The DNS Root zone was signed about 6 months ago and there are more than 20 TLDs signed via DNSSEC. Fedora will bring benefit of this important feature to the end users and their workstations.
- Email: atkac at redhat dot com
- Targeted release: Fedora 15
- Last updated: 2011-Jan-25
- Percentage of completion: 40%
All major DNS servers in Fedora run with DNSSEC validation enabled by default since Fedora 11 so we have a lot of experience from server environment. When a DNS server is installed on the workstation, NetworkManager will the DNS server and update /etc/resolv.conf. After that all DNS traffic will go through DNSSEC-validating resolver.
This DNSSEC-aware environment needs only two keys, for the root zone and the ISC DLV register. Both domain administrators follow RFC 5011 so keys will be updated automatically.
Benefit to Fedora
All DNS traffic will be secured by DNSSEC
- by default, DNS server should use only servers whose are available via DHCP. This information can be easily obtained via libnmserver library from NetworkManager. This library has already passed the review process.
- NetworkManager already contains the plugin which can start the BIND DNS server and use it as a local resolver. This plugin needs to be improved a little.
How To Test
- install NetworkManager and bind packages
- check that DNS responses are validated (via dig utility)
Although this change won't be visible to common users, users will be secured from various DNS spoofing and DNS cache-poisoning attacks.
- bind - small patch (integration with the libnmserver library) is ready and tested but not submitted to upstream, yet
- NetworkManager - little improvements for the bind plugin
Disable the BIND plugin by default and behavior will be same as in F14.
- libnmserver (https://fedorahosted.org/libnmserver)
- NetworkManager (http://projects.gnome.org/NetworkManager)
NetworkManager now uses the BIND nameserver as a DNSSEC resolver. All received DNS responses are proved to be correct. If particular domain is signed and failed to validate then resolver returns SERFVAIL instead of invalidated response, which means something is wrong.