DNSSEC

From ArchWiki
Revision as of 12:46, 22 April 2017 by Rdeckard (talk | contribs) (rm stub flag)
Jump to: navigation, search

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: More a draft than an article (Discuss in Talk:Style#Reworking)

From W:Domain Name System Security Extensions:

The Domain Name System Security Extensions (DNSSEC) is a suite of Internet Engineering Task Force (IETF) specifications for securing certain kinds of information provided by the Domain Name System (DNS) as used on Internet Protocol (IP) networks. It is a set of extensions to DNS which provide to DNS clients (resolvers) origin authentication of DNS data, authenticated denial of existence, and data integrity, but not availability or confidentiality.

Basic DNSSEC validation

Installation

The drill tool can be used for basic DNSSEC validation. To use drill, install the ldns package.

Query with DNSSEC validation

Then to query with DNSSEC validation, use the -D flag:

$ drill -D example.com

Testing

As a test use the following domains, adding the -T flag, which traces from the rootservers down to the domain being resolved:

$ drill -DT sigfail.verteiltesysteme.net

The result should end with the following lines, indicating that the DNSSEC signature is bogus:

[B] sigfail.verteiltesysteme.net.       60      IN      A       134.91.78.139
;; Error: Bogus DNSSEC signature
;;[S] self sig OK; [B] bogus; [T] trusted

Now to test a trusted signature:

$ drill -DT sigok.verteiltesysteme.net

The result should end with the following lines, indicating the signature is trusted:

[T] sigok.verteiltesysteme.net. 60      IN      A       134.91.78.139
;;[S] self sig OK; [B] bogus; [T] trusted

Deploy a DNSSEC capable recursive resolver

To use DNSSEC system-wide, you can use a recursive resolver that is DNSSEC capable, so that all DNS lookups go through the recursive resolver. BIND and unbound are two options.

Howto enable DNSSEC in specific software

Tango-edit-cut.pngThis section is being considered for removal.Tango-edit-cut.png

Reason: Disorganized. Just a list that says to patch software. Not practical. (Discuss in Talk:DNSSEC#)

If you want full support of DNSSEC, you need each single application to use DNSSEC validation. It can be done using several ways:

OpenSSH (fixes only weak point in SSH design)

Firefox (secure browsing - enhancement of HTTPS)

Chromium/Google Chrome (secure browsing - enhancement of HTTPS)

  • Vote for #50874
    • Patches not yet...
    • DNSSEC Drill extension (EXPERIMENTAL!)
      • you need ldns and dnssec-root-zone-trust-anchors packages for this plugin

BIND (serving signed DNS zones)

Postfix (fight spam and frauds)

  • dnssec-tools + patch

jabberd (fight spam and frauds)

  • dnssec-tools + patch

Thunderbird (secure logins)

  • dnssec-tools + patch

lftp (secure downloads and logins)

  • dnssec-tools + patch

wget (secure downloads)

  • dnssec-tools + patch

proftpd

  • dnssec-tools + patch

Sendmail (fight spam and frauds)

  • dnssec-tools + patch

LibSPF

  • dnssec-tools + patch

ncftp (secure downloads and logins)

  • dnssec-tools + patch

libpurple (pidgin + finch -> secure messaging)

  • no patches yet

DNSSEC Hardware

You can check if your router, modem, AP, etc. supports DNSSEC (many different features) using dnssec-tester (Python and GTK+ based app) to know if it is DNSSEC-compatible, and using this tool you can also upload gathered data to a server, so other users and manufacturers can be informed about compatibility of their devices and eventualy fix the firmware (they will be probably urged to do so). (Before running dnssec-tester please make sure, that you do not have any other nameservers in /etc/resolv.conf). You can also find the results of performed tests on the dnssec-tester website.

See Also