From ee98af508e8628e0925fddd1de893f394f256c12 Mon Sep 17 00:00:00 2001 From: "Internet Software Consortium, Inc" <@isc.org> Date: Thu, 28 Jan 2010 05:35:29 -0700 Subject: 9.7.0rc2 --- doc/arm/Bv9ARM-book.xml | 29 +- doc/arm/Bv9ARM.ch01.html | 52 +- doc/arm/Bv9ARM.ch02.html | 24 +- doc/arm/Bv9ARM.ch03.html | 28 +- doc/arm/Bv9ARM.ch04.html | 72 +- doc/arm/Bv9ARM.ch05.html | 8 +- doc/arm/Bv9ARM.ch06.html | 191 +-- doc/arm/Bv9ARM.ch07.html | 16 +- doc/arm/Bv9ARM.ch08.html | 20 +- doc/arm/Bv9ARM.ch09.html | 182 +-- doc/arm/Bv9ARM.ch10.html | 7 +- doc/arm/Bv9ARM.html | 157 +- doc/arm/man.arpaname.html | 10 +- doc/arm/man.ddns-confgen.html | 12 +- doc/arm/man.dig.html | 22 +- doc/arm/man.dnssec-dsfromkey.html | 18 +- doc/arm/man.dnssec-keyfromlabel.html | 26 +- doc/arm/man.dnssec-keygen.html | 18 +- doc/arm/man.dnssec-revoke.html | 12 +- doc/arm/man.dnssec-settime.html | 16 +- doc/arm/man.dnssec-signzone.html | 14 +- doc/arm/man.genrandom.html | 20 +- doc/arm/man.host.html | 12 +- doc/arm/man.isc-hmac-fixup.html | 122 ++ doc/arm/man.named-checkconf.html | 31 +- doc/arm/man.named-checkzone.html | 14 +- doc/arm/man.named-journalprint.html | 10 +- doc/arm/man.named.html | 18 +- doc/arm/man.nsec3hash.html | 20 +- doc/arm/man.nsupdate.html | 20 +- doc/arm/man.rndc-confgen.html | 14 +- doc/arm/man.rndc.conf.html | 14 +- doc/arm/man.rndc.html | 14 +- doc/draft/draft-ietf-dnsext-axfr-clarify-11.txt | 1058 ------------- doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt | 1571 ++++++++++++++++++++ .../draft-ietf-dnsext-dns-tcp-requirements-01.txt | 448 ------ .../draft-ietf-dnsext-dns-tcp-requirements-02.txt | 448 ++++++ doc/draft/draft-ietf-dnsext-dnssec-gost-05.txt | 448 ------ doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt | 444 ++++++ 39 files changed, 3178 insertions(+), 2482 deletions(-) create mode 100644 doc/arm/man.isc-hmac-fixup.html delete mode 100644 doc/draft/draft-ietf-dnsext-axfr-clarify-11.txt create mode 100644 doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt delete mode 100644 doc/draft/draft-ietf-dnsext-dns-tcp-requirements-01.txt create mode 100644 doc/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt delete mode 100644 doc/draft/draft-ietf-dnsext-dnssec-gost-05.txt create mode 100644 doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt (limited to 'doc') diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 510e4cc5..5661a036 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []> - + BIND 9 Administrator Reference Manual @@ -30,6 +30,7 @@ 2007 2008 2009 + 2010 Internet Systems Consortium, Inc. ("ISC") @@ -6616,9 +6617,26 @@ options { dnssec-secure-to-insecure - Allow a zone to transition from secure to insecure by - deleting all DNSKEY records. The default is - no. + Allow a dynamic zone to transition from secure to + insecure (i.e., signed to unsigned) by deleting all + of the DNSKEY records. The default is no. + If set to yes, and if the DNSKEY RRset + at the zone apex is deleted, all RRSIG and NSEC records + will be removed from the zone as well. + + + If the zone uses NSEC3, then it is also necessary to + delete the NSEC3PARAM RRset from the zone apex; this will + cause the removal of all corresponding NSEC3 records. + (It is expected that this requirement will be eliminated + in a future release.) + + + Note that if a zone has been configured with + auto-dnssec maintain and the + private keys remain accessible in the key repository, + then the zone will be automatically signed again the + next time named is started. @@ -15656,6 +15674,7 @@ zone "example.com" { + diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html index 08bdc3d6..410a3566 100644 --- a/doc/arm/Bv9ARM.ch01.html +++ b/doc/arm/Bv9ARM.ch01.html @@ -1,5 +1,5 @@ - + @@ -45,17 +45,17 @@ @@ -71,7 +71,7 @@

-Scope of Document

+Scope of Document

The Berkeley Internet Name Domain (BIND) implements a @@ -87,7 +87,7 @@

-Organization of This Document

+Organization of This Document

In this document, Chapter 1 introduces the basic DNS and BIND concepts. Chapter 2 @@ -116,7 +116,7 @@

-Conventions Used in This Document

+Conventions Used in This Document

In this document, we use the following general typographic conventions: @@ -243,7 +243,7 @@

-The Domain Name System (DNS)

+The Domain Name System (DNS)

The purpose of this document is to explain the installation and upkeep of the BIND (Berkeley Internet @@ -253,7 +253,7 @@

-DNS Fundamentals

+DNS Fundamentals

The Domain Name System (DNS) is a hierarchical, distributed database. It stores information for mapping Internet host names to @@ -275,7 +275,7 @@

-Domains and Domain Names

+Domains and Domain Names

The data stored in the DNS is identified by domain names that are organized as a tree according to organizational or administrative boundaries. Each node of the tree, @@ -321,7 +321,7 @@

-Zones

+Zones

To properly operate a name server, it is important to understand the difference between a zone @@ -374,7 +374,7 @@

-Authoritative Name Servers

+Authoritative Name Servers

Each zone is served by at least one authoritative name server, @@ -391,7 +391,7 @@

-The Primary Master

+The Primary Master

The authoritative server where the master copy of the zone data is maintained is called the @@ -411,7 +411,7 @@

-Slave Servers

+Slave Servers

The other authoritative servers, the slave servers (also known as secondary servers) @@ -427,7 +427,7 @@

-Stealth Servers

+Stealth Servers

Usually all of the zone's authoritative servers are listed in NS records in the parent zone. These NS records constitute @@ -462,7 +462,7 @@

-Caching Name Servers

+Caching Name Servers

The resolver libraries provided by most operating systems are stub resolvers, meaning that they are not @@ -489,7 +489,7 @@

-Forwarding

+Forwarding

Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can @@ -516,7 +516,7 @@

-Name Servers in Multiple Roles

+Name Servers in Multiple Roles

The BIND name server can simultaneously act as diff --git a/doc/arm/Bv9ARM.ch02.html b/doc/arm/Bv9ARM.ch02.html index 377f21de..8b33a106 100644 --- a/doc/arm/Bv9ARM.ch02.html +++ b/doc/arm/Bv9ARM.ch02.html @@ -1,5 +1,5 @@ - + @@ -45,16 +45,16 @@

-Hardware requirements

+Hardware requirements

DNS hardware requirements have traditionally been quite modest. @@ -73,7 +73,7 @@

-CPU Requirements

+CPU Requirements

CPU requirements for BIND 9 range from i486-class machines @@ -84,7 +84,7 @@

-Memory Requirements

+Memory Requirements

The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size @@ -107,7 +107,7 @@

-Name Server Intensive Environment Issues

+Name Server Intensive Environment Issues

For name server intensive environments, there are two alternative configurations that may be used. The first is where clients and @@ -124,7 +124,7 @@

-Supported Operating Systems

+Supported Operating Systems

ISC BIND 9 compiles and runs on a large number diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html index f8fdfd8e..711b1ecd 100644 --- a/doc/arm/Bv9ARM.ch03.html +++ b/doc/arm/Bv9ARM.ch03.html @@ -1,5 +1,5 @@ - + @@ -47,14 +47,14 @@

Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
@@ -68,7 +68,7 @@ Sample Configurations

-A Caching-only Name Server

+A Caching-only Name Server

The following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All @@ -98,7 +98,7 @@ zone "0.0.127.in-addr.arpa" {

-An Authoritative-only Name Server

+An Authoritative-only Name Server

This sample configuration is for an authoritative-only server that is the master server for "example.com" @@ -146,7 +146,7 @@ zone "eng.example.com" {

-Load Balancing

+Load Balancing

A primitive form of load balancing can be achieved in the DNS by using multiple records @@ -289,10 +289,10 @@ zone "eng.example.com" {

-Name Server Operations

+Name Server Operations

-Tools for Use With the Name Server Daemon

+Tools for Use With the Name Server Daemon

This section describes several indispensable diagnostic, administrative and monitoring tools available to the system @@ -786,7 +786,7 @@ controls {

-Signals

+Signals

Certain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html index ae5341ce..259fbe00 100644 --- a/doc/arm/Bv9ARM.ch04.html +++ b/doc/arm/Bv9ARM.ch04.html @@ -1,5 +1,5 @@ - + @@ -49,29 +49,29 @@

Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
-
Example split DNS setup
+
Split DNS
+
Example split DNS setup
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
@@ -224,7 +224,7 @@

-Split DNS

+Split DNS

Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually referred to as a @@ -254,7 +254,7 @@

-Example split DNS setup

+Example split DNS setup

Let's say a company named Example, Inc. (example.com) @@ -511,7 +511,7 @@ nameserver 172.16.72.4

-Generate Shared Keys for Each Pair of Hosts

+Generate Shared Keys for Each Pair of Hosts

A shared secret is generated to be shared between host1 and host2. An arbitrary key name is chosen: "host1-host2.". The key name must @@ -519,7 +519,7 @@ nameserver 172.16.72.4

-Automatic Generation

+Automatic Generation

The following command will generate a 128-bit (16 byte) HMAC-SHA256 key as described above. Longer keys are better, but shorter keys @@ -543,7 +543,7 @@ nameserver 172.16.72.4

-Manual Generation

+Manual Generation

The shared secret is simply a random sequence of bits, encoded in base-64. Most ASCII strings are valid base-64 strings (assuming @@ -558,7 +558,7 @@ nameserver 172.16.72.4

-Copying the Shared Secret to Both Machines

+Copying the Shared Secret to Both Machines

This is beyond the scope of DNS. A secure transport mechanism should be used. This could be secure FTP, ssh, telephone, etc. @@ -566,7 +566,7 @@ nameserver 172.16.72.4

-Informing the Servers of the Key's Existence

+Informing the Servers of the Key's Existence

Imagine host1 and host 2 are @@ -593,7 +593,7 @@ key host1-host2. {

-Instructing the Server to Use the Key

+Instructing the Server to Use the Key

Since keys are shared between two hosts only, the server must be told when keys are to be used. The following is added to the named.conf file @@ -625,7 +625,7 @@ server 10.1.2.3 {

-TSIG Key Based Access Control

+TSIG Key Based Access Control

BIND allows IP addresses and ranges to be specified in ACL @@ -652,7 +652,7 @@ allow-update { key host1-host2. ;};

-Errors

+Errors

The processing of TSIG signed messages can result in several errors. If a signed message is sent to a non-TSIG aware @@ -678,7 +678,7 @@ allow-update { key host1-host2. ;};

-TKEY

+TKEY

TKEY is a mechanism for automatically generating a shared secret between two hosts. There are several "modes" of @@ -714,7 +714,7 @@ allow-update { key host1-host2. ;};

-SIG(0)

+SIG(0)

BIND 9 partially supports DNSSEC SIG(0) transaction signatures as specified in RFC 2535 and RFC 2931. @@ -775,7 +775,7 @@ allow-update { key host1-host2. ;};

-Generating Keys

+Generating Keys

The dnssec-keygen program is used to generate keys. @@ -831,7 +831,7 @@ allow-update { key host1-host2. ;};

-Signing the Zone

+Signing the Zone

The dnssec-signzone program is used to sign a zone. @@ -873,7 +873,7 @@ allow-update { key host1-host2. ;};

-Configuring Servers

+Configuring Servers

To enable named to respond appropriately to DNS requests from DNSSEC aware clients, @@ -1019,7 +1019,7 @@ options {

-IPv6 Support in BIND 9

+IPv6 Support in BIND 9

BIND 9 fully supports all currently defined forms of IPv6 name to address and address to name @@ -1057,7 +1057,7 @@ options {

-Address Lookups Using AAAA Records

+Address Lookups Using AAAA Records

The IPv6 AAAA record is a parallel to the IPv4 A record, and, unlike the deprecated A6 record, specifies the entire @@ -1076,7 +1076,7 @@ host 3600 IN AAAA 2001:db8::1

-Address to Name Lookups Using Nibble Format

+Address to Name Lookups Using Nibble Format

When looking up an address in nibble format, the address components are simply reversed, just as in IPv4, and diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html index c4d9bb4c..bc5d02a1 100644 --- a/doc/arm/Bv9ARM.ch05.html +++ b/doc/arm/Bv9ARM.ch05.html @@ -1,5 +1,5 @@ - + @@ -45,13 +45,13 @@

-The Lightweight Resolver Library

+The Lightweight Resolver Library

Traditionally applications have been linked with a stub resolver library that sends recursive DNS queries to a local caching name diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html index ab9e955e..a76ee137 100644 --- a/doc/arm/Bv9ARM.ch06.html +++ b/doc/arm/Bv9ARM.ch06.html @@ -1,5 +1,5 @@ - + @@ -48,58 +48,58 @@

Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
-
include Statement Definition and +
include Statement Grammar
+
include Statement Definition and Usage
-
key Statement Grammar
-
key Statement Definition and Usage
-
logging Statement Grammar
-
logging Statement Definition and +
key Statement Grammar
+
key Statement Definition and Usage
+
logging Statement Grammar
+
logging Statement Definition and Usage
-
lwres Statement Grammar
-
lwres Statement Definition and Usage
-
masters Statement Grammar
-
masters Statement Definition and +
lwres Statement Grammar
+
lwres Statement Definition and Usage
+
masters Statement Grammar
+
masters Statement Definition and Usage
-
options Statement Grammar
+
options Statement Grammar
options Statement Definition and Usage
server Statement Grammar
server Statement Definition and Usage
statistics-channels Statement Grammar
-
statistics-channels Statement Definition and +
statistics-channels Statement Definition and Usage
-
trusted-keys Statement Grammar
-
trusted-keys Statement Definition +
trusted-keys Statement Grammar
+
trusted-keys Statement Definition and Usage
-
managed-keys Statement Grammar
-
managed-keys Statement Definition +
managed-keys Statement Grammar
+
managed-keys Statement Definition and Usage
view Statement Grammar
-
view Statement Definition and Usage
+
view Statement Definition and Usage
zone Statement Grammar
-
zone Statement Definition and Usage
+
zone Statement Definition and Usage
-
Zone File
+
Zone File
Types of Resource Records and When to Use Them
-
Discussion of MX Records
+
Discussion of MX Records
Setting TTLs
-
Inverse Mapping in IPv4
-
Other Zone File Directives
-
BIND Master File Extension: the $GENERATE Directive
+
Inverse Mapping in IPv4
+
Other Zone File Directives
+
BIND Master File Extension: the $GENERATE Directive
Additional File Formats
BIND9 Statistics
@@ -477,7 +477,7 @@ Address Match Lists

-Syntax

+Syntax
address_match_list = address_match_list_element ;
   [ address_match_list_element; ... ]
 address_match_list_element = [ ! ] (ip_address [/length] |
@@ -486,7 +486,7 @@
 
 

-Definition and Usage

+Definition and Usage

Address match lists are primarily used to determine access control for various server operations. They are also used in @@ -570,7 +570,7 @@

-Comment Syntax

+Comment Syntax

The BIND 9 comment syntax allows for comments to appear @@ -580,7 +580,7 @@

-Syntax

+Syntax

/* This is a BIND comment as in C */
@@ -596,7 +596,7 @@

-Definition and Usage

+Definition and Usage

Comments may appear anywhere that whitespace may appear in a BIND configuration file. @@ -848,7 +848,7 @@

-acl Statement Grammar

+acl Statement Grammar
acl acl-name {
     address_match_list
 };
@@ -930,7 +930,7 @@
 
 

-controls Statement Grammar

+controls Statement Grammar
controls {
    [ inet ( ip_addr | * ) [ port ip_port ]
                 allow {  address_match_list  }
@@ -1054,12 +1054,12 @@
 
 

-include Statement Grammar

+include Statement Grammar
include filename;

-include Statement Definition and +include Statement Definition and Usage

The include statement inserts the @@ -1074,7 +1074,7 @@

-key Statement Grammar

+key Statement Grammar
key key_id {
     algorithm string;
     secret string;
@@ -1083,7 +1083,7 @@
 
 

-key Statement Definition and Usage

+key Statement Definition and Usage

The key statement defines a shared secret key for use with TSIG (see the section called “TSIG”) @@ -1130,7 +1130,7 @@

-logging Statement Grammar

+logging Statement Grammar
logging {
    [ channel channel_name {
      ( file path_name
@@ -1154,7 +1154,7 @@
 
 

-logging Statement Definition and +logging Statement Definition and Usage

The logging statement configures a @@ -1188,7 +1188,7 @@

-The channel Phrase

+The channel Phrase

All log output goes to one or more channels; you can make as many of them as you want. @@ -1753,7 +1753,7 @@ category notify { null; };

-The query-errors Category

+The query-errors Category

The query-errors category is specifically intended for debugging purposes: To identify @@ -1981,7 +1981,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]

-lwres Statement Grammar

+lwres Statement Grammar

This is the grammar of the lwres statement in the named.conf file: @@ -1997,7 +1997,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]

-lwres Statement Definition and Usage

+lwres Statement Definition and Usage

The lwres statement configures the name @@ -2048,7 +2048,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]

-masters Statement Grammar

+masters Statement Grammar
 masters name [port ip_port] { ( masters_list | 
       ip_addr [port ip_port] [key key] ) ; [...] };
@@ -2056,7 +2056,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
 
 

-masters Statement Definition and +masters Statement Definition and Usage

masters lists allow for a common set of masters to be easily used by @@ -2065,7 +2065,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]

-options Statement Grammar

+options Statement Grammar

This is the grammar of the options statement in the named.conf file: @@ -3489,16 +3489,35 @@ options { yes.

dnssec-secure-to-insecure
-

- Allow a zone to transition from secure to insecure by - deleting all DNSKEY records. The default is - no. -

+
+

+ Allow a dynamic zone to transition from secure to + insecure (i.e., signed to unsigned) by deleting all + of the DNSKEY records. The default is no. + If set to yes, and if the DNSKEY RRset + at the zone apex is deleted, all RRSIG and NSEC records + will be removed from the zone as well. +

+

+ If the zone uses NSEC3, then it is also necessary to + delete the NSEC3PARAM RRset from the zone apex; this will + cause the removal of all corresponding NSEC3 records. + (It is expected that this requirement will be eliminated + in a future release.) +

+

+ Note that if a zone has been configured with + auto-dnssec maintain and the + private keys remain accessible in the key repository, + then the zone will be automatically signed again the + next time named is started. +

+

-Forwarding

+Forwarding

The forwarding facility can be used to create a large site-wide cache on a few servers, reducing traffic over links to external @@ -3542,7 +3561,7 @@ options {

-Dual-stack Servers

+Dual-stack Servers

Dual-stack servers are used as servers of last resort to work around @@ -3739,7 +3758,7 @@ options {

-Interfaces

+Interfaces

The interfaces and ports that the server will answer queries from may be specified using the listen-on option. listen-on takes @@ -4191,7 +4210,7 @@ avoid-v6-udp-ports {};

-UDP Port Lists

+UDP Port Lists

use-v4-udp-ports, avoid-v4-udp-ports, @@ -4233,7 +4252,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };

-Operating System Resource Limits

+Operating System Resource Limits

The server's usage of many system resources can be limited. Scaled values are allowed when specifying resource limits. For @@ -4395,7 +4414,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };

-Periodic Task Intervals

+Periodic Task Intervals
cleaning-interval

@@ -5191,7 +5210,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };

-Content Filtering

+Content Filtering

BIND 9 provides the ability to filter out DNS responses from external DNS servers containing @@ -5521,7 +5540,7 @@ deny-answer-aliases { "example.net"; };

-statistics-channels Statement Definition and +statistics-channels Statement Definition and Usage

The statistics-channels statement @@ -5572,7 +5591,7 @@ deny-answer-aliases { "example.net"; };

-trusted-keys Statement Grammar

+trusted-keys Statement Grammar
trusted-keys {
     string number number number string ;
     [ string number number number string ; [...]]
@@ -5581,7 +5600,7 @@ deny-answer-aliases { "example.net"; };
 
 

-trusted-keys Statement Definition +trusted-keys Statement Definition and Usage

The trusted-keys statement defines @@ -5621,7 +5640,7 @@ deny-answer-aliases { "example.net"; };

-managed-keys Statement Grammar

+managed-keys Statement Grammar
managed-keys {
     string initial-key number number number string ;
     [ string initial-key number number number string ; [...]]
@@ -5630,7 +5649,7 @@ deny-answer-aliases { "example.net"; };
 
 

-managed-keys Statement Definition +managed-keys Statement Definition and Usage

The managed-keys statement, like @@ -5756,7 +5775,7 @@ deny-answer-aliases { "example.net"; };

-view Statement Definition and Usage

+view Statement Definition and Usage

The view statement is a powerful feature @@ -6036,10 +6055,10 @@ zone zone_name [

-zone Statement Definition and Usage

+zone Statement Definition and Usage

-Zone Types

+Zone Types
@@ -6250,7 +6269,7 @@ zone zone_name [

-Class

+Class

The zone's name may optionally be followed by a class. If a class is not specified, class IN (for Internet), @@ -6272,7 +6291,7 @@ zone zone_name [

-Zone Options

+Zone Options
allow-notify

@@ -6943,7 +6962,7 @@ zone zone_name [

-Zone File

+Zone File

Types of Resource Records and When to Use Them

@@ -6956,7 +6975,7 @@ zone zone_name [

-Resource Records

+Resource Records

A domain name identifies a node. Each node has a set of resource information, which may be empty. The set of resource @@ -7693,7 +7712,7 @@ zone zone_name [

-Textual expression of RRs

+Textual expression of RRs

RRs are represented in binary form in the packets of the DNS protocol, and are usually represented in highly encoded form @@ -7896,7 +7915,7 @@ zone zone_name [

-Discussion of MX Records

+Discussion of MX Records

As described above, domain servers store information as a series of resource records, each of which contains a particular @@ -8152,7 +8171,7 @@ zone zone_name [

-Inverse Mapping in IPv4

+Inverse Mapping in IPv4

Reverse name resolution (that is, translation from IP address to name) is achieved by means of the in-addr.arpa domain @@ -8213,7 +8232,7 @@ zone zone_name [

-Other Zone File Directives

+Other Zone File Directives

The Master File Format was initially defined in RFC 1035 and has subsequently been extended. While the Master File Format @@ -8228,7 +8247,7 @@ zone zone_name [

-The @ (at-sign)

+The @ (at-sign)

When used in the label (or name) field, the asperand or at-sign (@) symbol represents the current origin. @@ -8239,7 +8258,7 @@ zone zone_name [

-The $ORIGIN Directive

+The $ORIGIN Directive

Syntax: $ORIGIN domain-name @@ -8268,7 +8287,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.

-The $INCLUDE Directive

+The $INCLUDE Directive

Syntax: $INCLUDE filename @@ -8304,7 +8323,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.

-The $TTL Directive

+The $TTL Directive

Syntax: $TTL default-ttl @@ -8323,7 +8342,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.

-BIND Master File Extension: the $GENERATE Directive

+BIND Master File Extension: the $GENERATE Directive

Syntax: $GENERATE range @@ -8747,7 +8766,7 @@ HOST-127.EXAMPLE. MX 0 .

-Name Server Statistics Counters

+Name Server Statistics Counters
@@ -9304,7 +9323,7 @@ HOST-127.EXAMPLE. MX 0 .

-Zone Maintenance Statistics Counters

+Zone Maintenance Statistics Counters
@@ -9458,7 +9477,7 @@ HOST-127.EXAMPLE. MX 0 .

-Resolver Statistics Counters

+Resolver Statistics Counters
@@ -9841,7 +9860,7 @@ HOST-127.EXAMPLE. MX 0 .

-Socket I/O Statistics Counters

+Socket I/O Statistics Counters

Socket I/O statistics counters are defined per socket types, which are @@ -9996,7 +10015,7 @@ HOST-127.EXAMPLE. MX 0 .

-Compatibility with BIND 8 Counters

+Compatibility with BIND 8 Counters

Most statistics counters that were available in BIND 8 are also supported in diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html index a6e0e47a..02d84d46 100644 --- a/doc/arm/Bv9ARM.ch07.html +++ b/doc/arm/Bv9ARM.ch07.html @@ -1,5 +1,5 @@ - + @@ -46,10 +46,10 @@

Table of Contents

Access Control Lists
-
Chroot and Setuid
+
Chroot and Setuid
-
The chroot Environment
-
Using the setuid Function
+
The chroot Environment
+
Using the setuid Function
Dynamic Update Security
@@ -122,7 +122,7 @@ zone "example.com" {

-Chroot and Setuid +Chroot and Setuid

On UNIX servers, it is possible to run BIND @@ -148,7 +148,7 @@ zone "example.com" {

-The chroot Environment

+The chroot Environment

In order for a chroot environment to @@ -176,7 +176,7 @@ zone "example.com" {

-Using the setuid Function

+Using the setuid Function

Prior to running the named daemon, use diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html index 551256cd..578609e7 100644 --- a/doc/arm/Bv9ARM.ch08.html +++ b/doc/arm/Bv9ARM.ch08.html @@ -1,5 +1,5 @@ - + @@ -45,18 +45,18 @@

-Common Problems

+Common Problems

-It's not working; how can I figure out what's wrong?

+It's not working; how can I figure out what's wrong?

The best solution to solving installation and configuration issues is to take preventative measures by setting @@ -68,7 +68,7 @@

-Incrementing and Changing the Serial Number

+Incrementing and Changing the Serial Number

Zone serial numbers are just numbers — they aren't date related. A lot of people set them to a number that @@ -95,7 +95,7 @@

-Where Can I Get Help?

+Where Can I Get Help?

The Internet Systems Consortium (ISC) offers a wide range diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html index 820fe28b..a8e96f8a 100644 --- a/doc/arm/Bv9ARM.ch09.html +++ b/doc/arm/Bv9ARM.ch09.html @@ -1,5 +1,5 @@ - + @@ -45,21 +45,21 @@

-Acknowledgments

+Acknowledgments

A Brief History of the DNS and BIND @@ -162,7 +162,7 @@

-General DNS Reference Information

+General DNS Reference Information

IPv6 addresses (AAAA)

@@ -250,17 +250,17 @@

-Bibliography

+Bibliography

Standards

-

[RFC974] C. Partridge. Mail Routing and the Domain System. January 1986.

+

[RFC974] C. Partridge. Mail Routing and the Domain System. January 1986.

-

[RFC1034] P.V. Mockapetris. Domain Names — Concepts and Facilities. November 1987.

+

[RFC1034] P.V. Mockapetris. Domain Names — Concepts and Facilities. November 1987.

-

[RFC1035] P. V. Mockapetris. Domain Names — Implementation and +

[RFC1035] P. V. Mockapetris. Domain Names — Implementation and Specification. November 1987.

@@ -268,42 +268,42 @@

Proposed Standards

-

[RFC2181] R., R. Bush Elz. Clarifications to the DNS +

[RFC2181] R., R. Bush Elz. Clarifications to the DNS Specification. July 1997.

-

[RFC2308] M. Andrews. Negative Caching of DNS +

[RFC2308] M. Andrews. Negative Caching of DNS Queries. March 1998.

-

[RFC1995] M. Ohta. Incremental Zone Transfer in DNS. August 1996.

+

[RFC1995] M. Ohta. Incremental Zone Transfer in DNS. August 1996.

-

[RFC1996] P. Vixie. A Mechanism for Prompt Notification of Zone Changes. August 1996.

+

[RFC1996] P. Vixie. A Mechanism for Prompt Notification of Zone Changes. August 1996.

-

[RFC2136] P. Vixie, S. Thomson, Y. Rekhter, and J. Bound. Dynamic Updates in the Domain Name System. April 1997.

+

[RFC2136] P. Vixie, S. Thomson, Y. Rekhter, and J. Bound. Dynamic Updates in the Domain Name System. April 1997.

-

[RFC2671] P. Vixie. Extension Mechanisms for DNS (EDNS0). August 1997.

+

[RFC2671] P. Vixie. Extension Mechanisms for DNS (EDNS0). August 1997.

-

[RFC2672] M. Crawford. Non-Terminal DNS Name Redirection. August 1999.

+

[RFC2672] M. Crawford. Non-Terminal DNS Name Redirection. August 1999.

-

[RFC2845] P. Vixie, O. Gudmundsson, D. Eastlake, 3rd, and B. Wellington. Secret Key Transaction Authentication for DNS (TSIG). May 2000.

+

[RFC2845] P. Vixie, O. Gudmundsson, D. Eastlake, 3rd, and B. Wellington. Secret Key Transaction Authentication for DNS (TSIG). May 2000.

-

[RFC2930] D. Eastlake, 3rd. Secret Key Establishment for DNS (TKEY RR). September 2000.

+

[RFC2930] D. Eastlake, 3rd. Secret Key Establishment for DNS (TKEY RR). September 2000.

-

[RFC2931] D. Eastlake, 3rd. DNS Request and Transaction Signatures (SIG(0)s). September 2000.

+

[RFC2931] D. Eastlake, 3rd. DNS Request and Transaction Signatures (SIG(0)s). September 2000.

-

[RFC3007] B. Wellington. Secure Domain Name System (DNS) Dynamic Update. November 2000.

+

[RFC3007] B. Wellington. Secure Domain Name System (DNS) Dynamic Update. November 2000.

-

[RFC3645] S. Kwan, P. Garg, J. Gilroy, L. Esibov, J. Westhead, and R. Hall. Generic Security Service Algorithm for Secret +

[RFC3645] S. Kwan, P. Garg, J. Gilroy, L. Esibov, J. Westhead, and R. Hall. Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-TSIG). October 2003.

@@ -312,19 +312,19 @@

DNS Security Proposed Standards

-

[RFC3225] D. Conrad. Indicating Resolver Support of DNSSEC. December 2001.

+

[RFC3225] D. Conrad. Indicating Resolver Support of DNSSEC. December 2001.

-

[RFC3833] D. Atkins and R. Austein. Threat Analysis of the Domain Name System (DNS). August 2004.

+

[RFC3833] D. Atkins and R. Austein. Threat Analysis of the Domain Name System (DNS). August 2004.

-

[RFC4033] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. DNS Security Introduction and Requirements. March 2005.

+

[RFC4033] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. DNS Security Introduction and Requirements. March 2005.

-

[RFC4034] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. Resource Records for the DNS Security Extensions. March 2005.

+

[RFC4034] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. Resource Records for the DNS Security Extensions. March 2005.

-

[RFC4035] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. Protocol Modifications for the DNS +

[RFC4035] R. Arends, R. Austein, M. Larson, D. Massey, and S. Rose. Protocol Modifications for the DNS Security Extensions. March 2005.

@@ -332,146 +332,146 @@

Other Important RFCs About DNS Implementation

-

[RFC1535] E. Gavron. A Security Problem and Proposed Correction With Widely +

[RFC1535] E. Gavron. A Security Problem and Proposed Correction With Widely Deployed DNS Software.. October 1993.

-

[RFC1536] A. Kumar, J. Postel, C. Neuman, P. Danzig, and S. Miller. Common DNS Implementation +

[RFC1536] A. Kumar, J. Postel, C. Neuman, P. Danzig, and S. Miller. Common DNS Implementation Errors and Suggested Fixes. October 1993.

-

[RFC1982] R. Elz and R. Bush. Serial Number Arithmetic. August 1996.

+

[RFC1982] R. Elz and R. Bush. Serial Number Arithmetic. August 1996.

-

[RFC4074] Y. Morishita and T. Jinmei. Common Misbehaviour Against DNS +

[RFC4074] Y. Morishita and T. Jinmei. Common Misbehaviour Against DNS Queries for IPv6 Addresses. May 2005.

Resource Record Types

-

[RFC1183] C.F. Everhart, L. A. Mamakos, R. Ullmann, and P. Mockapetris. New DNS RR Definitions. October 1990.

+

[RFC1183] C.F. Everhart, L. A. Mamakos, R. Ullmann, and P. Mockapetris. New DNS RR Definitions. October 1990.

-

[RFC1706] B. Manning and R. Colella. DNS NSAP Resource Records. October 1994.

+

[RFC1706] B. Manning and R. Colella. DNS NSAP Resource Records. October 1994.

-

[RFC2168] R. Daniel and M. Mealling. Resolution of Uniform Resource Identifiers using +

[RFC2168] R. Daniel and M. Mealling. Resolution of Uniform Resource Identifiers using the Domain Name System. June 1997.

-

[RFC1876] C. Davis, P. Vixie, T., and I. Dickinson. A Means for Expressing Location Information in the +

[RFC1876] C. Davis, P. Vixie, T., and I. Dickinson. A Means for Expressing Location Information in the Domain Name System. January 1996.

-

[RFC2052] A. Gulbrandsen and P. Vixie. A DNS RR for Specifying the +

[RFC2052] A. Gulbrandsen and P. Vixie. A DNS RR for Specifying the Location of Services.. October 1996.

-

[RFC2163] A. Allocchio. Using the Internet DNS to +

[RFC2163] A. Allocchio. Using the Internet DNS to Distribute MIXER Conformant Global Address Mapping. January 1998.

-

[RFC2230] R. Atkinson. Key Exchange Delegation Record for the DNS. October 1997.

+

[RFC2230] R. Atkinson. Key Exchange Delegation Record for the DNS. October 1997.

-

[RFC2536] D. Eastlake, 3rd. DSA KEYs and SIGs in the Domain Name System (DNS). March 1999.

+

[RFC2536] D. Eastlake, 3rd. DSA KEYs and SIGs in the Domain Name System (DNS). March 1999.

-

[RFC2537] D. Eastlake, 3rd. RSA/MD5 KEYs and SIGs in the Domain Name System (DNS). March 1999.

+

[RFC2537] D. Eastlake, 3rd. RSA/MD5 KEYs and SIGs in the Domain Name System (DNS). March 1999.

-

[RFC2538] D. Eastlake, 3rd and O. Gudmundsson. Storing Certificates in the Domain Name System (DNS). March 1999.

+

[RFC2538] D. Eastlake, 3rd and O. Gudmundsson. Storing Certificates in the Domain Name System (DNS). March 1999.

-

[RFC2539] D. Eastlake, 3rd. Storage of Diffie-Hellman Keys in the Domain Name System (DNS). March 1999.

+

[RFC2539] D. Eastlake, 3rd. Storage of Diffie-Hellman Keys in the Domain Name System (DNS). March 1999.

-

[RFC2540] D. Eastlake, 3rd. Detached Domain Name System (DNS) Information. March 1999.

+

[RFC2540] D. Eastlake, 3rd. Detached Domain Name System (DNS) Information. March 1999.

-

[RFC2782] A. Gulbrandsen. P. Vixie. L. Esibov. A DNS RR for specifying the location of services (DNS SRV). February 2000.

+

[RFC2782] A. Gulbrandsen. P. Vixie. L. Esibov. A DNS RR for specifying the location of services (DNS SRV). February 2000.

-

[RFC2915] M. Mealling. R. Daniel. The Naming Authority Pointer (NAPTR) DNS Resource Record. September 2000.

+

[RFC2915] M. Mealling. R. Daniel. The Naming Authority Pointer (NAPTR) DNS Resource Record. September 2000.

-

[RFC3110] D. Eastlake, 3rd. RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS). May 2001.

+

[RFC3110] D. Eastlake, 3rd. RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS). May 2001.

-

[RFC3123] P. Koch. A DNS RR Type for Lists of Address Prefixes (APL RR). June 2001.

+

[RFC3123] P. Koch. A DNS RR Type for Lists of Address Prefixes (APL RR). June 2001.

-

[RFC3596] S. Thomson, C. Huitema, V. Ksinant, and M. Souissi. DNS Extensions to support IP +

[RFC3596] S. Thomson, C. Huitema, V. Ksinant, and M. Souissi. DNS Extensions to support IP version 6. October 2003.

-

[RFC3597] A. Gustafsson. Handling of Unknown DNS Resource Record (RR) Types. September 2003.

+

[RFC3597] A. Gustafsson. Handling of Unknown DNS Resource Record (RR) Types. September 2003.

DNS and the Internet

-

[RFC1101] P. V. Mockapetris. DNS Encoding of Network Names +

[RFC1101] P. V. Mockapetris. DNS Encoding of Network Names and Other Types. April 1989.

-

[RFC1123] Braden. Requirements for Internet Hosts - Application and +

[RFC1123] Braden. Requirements for Internet Hosts - Application and Support. October 1989.

-

[RFC1591] J. Postel. Domain Name System Structure and Delegation. March 1994.

+

[RFC1591] J. Postel. Domain Name System Structure and Delegation. March 1994.

-

[RFC2317] H. Eidnes, G. de Groot, and P. Vixie. Classless IN-ADDR.ARPA Delegation. March 1998.

+

[RFC2317] H. Eidnes, G. de Groot, and P. Vixie. Classless IN-ADDR.ARPA Delegation. March 1998.

-

[RFC2826] Internet Architecture Board. IAB Technical Comment on the Unique DNS Root. May 2000.

+

[RFC2826] Internet Architecture Board. IAB Technical Comment on the Unique DNS Root. May 2000.

-

[RFC2929] D. Eastlake, 3rd, E. Brunner-Williams, and B. Manning. Domain Name System (DNS) IANA Considerations. September 2000.

+

[RFC2929] D. Eastlake, 3rd, E. Brunner-Williams, and B. Manning. Domain Name System (DNS) IANA Considerations. September 2000.

DNS Operations

-

[RFC1033] M. Lottor. Domain administrators operations guide.. November 1987.

+

[RFC1033] M. Lottor. Domain administrators operations guide.. November 1987.

-

[RFC1537] P. Beertema. Common DNS Data File +

[RFC1537] P. Beertema. Common DNS Data File Configuration Errors. October 1993.

-

[RFC1912] D. Barr. Common DNS Operational and +

[RFC1912] D. Barr. Common DNS Operational and Configuration Errors. February 1996.

-

[RFC2010] B. Manning and P. Vixie. Operational Criteria for Root Name Servers.. October 1996.

+

[RFC2010] B. Manning and P. Vixie. Operational Criteria for Root Name Servers.. October 1996.

-

[RFC2219] M. Hamilton and R. Wright. Use of DNS Aliases for +

[RFC2219] M. Hamilton and R. Wright. Use of DNS Aliases for Network Services.. October 1997.

Internationalized Domain Names

-

[RFC2825] IAB and R. Daigle. A Tangled Web: Issues of I18N, Domain Names, +

[RFC2825] IAB and R. Daigle. A Tangled Web: Issues of I18N, Domain Names, and the Other Internet protocols. May 2000.

-

[RFC3490] P. Faltstrom, P. Hoffman, and A. Costello. Internationalizing Domain Names in Applications (IDNA). March 2003.

+

[RFC3490] P. Faltstrom, P. Hoffman, and A. Costello. Internationalizing Domain Names in Applications (IDNA). March 2003.

-

[RFC3491] P. Hoffman and M. Blanchet. Nameprep: A Stringprep Profile for Internationalized Domain Names. March 2003.

+

[RFC3491] P. Hoffman and M. Blanchet. Nameprep: A Stringprep Profile for Internationalized Domain Names. March 2003.

-

[RFC3492] A. Costello. Punycode: A Bootstring encoding of Unicode +

[RFC3492] A. Costello. Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA). March 2003.

@@ -487,47 +487,47 @@

-

[RFC1464] R. Rosenbaum. Using the Domain Name System To Store Arbitrary String +

[RFC1464] R. Rosenbaum. Using the Domain Name System To Store Arbitrary String Attributes. May 1993.

-

[RFC1713] A. Romao. Tools for DNS Debugging. November 1994.

+

[RFC1713] A. Romao. Tools for DNS Debugging. November 1994.

-

[RFC1794] T. Brisco. DNS Support for Load +

[RFC1794] T. Brisco. DNS Support for Load Balancing. April 1995.

-

[RFC2240] O. Vaughan. A Legal Basis for Domain Name Allocation. November 1997.

+

[RFC2240] O. Vaughan. A Legal Basis for Domain Name Allocation. November 1997.

-

[RFC2345] J. Klensin, T. Wolf, and G. Oglesby. Domain Names and Company Name Retrieval. May 1998.

+

[RFC2345] J. Klensin, T. Wolf, and G. Oglesby. Domain Names and Company Name Retrieval. May 1998.

-

[RFC2352] O. Vaughan. A Convention For Using Legal Names as Domain Names. May 1998.

+

[RFC2352] O. Vaughan. A Convention For Using Legal Names as Domain Names. May 1998.

-

[RFC3071] J. Klensin. Reflections on the DNS, RFC 1591, and Categories of Domains. February 2001.

+

[RFC3071] J. Klensin. Reflections on the DNS, RFC 1591, and Categories of Domains. February 2001.

-

[RFC3258] T. Hardie. Distributing Authoritative Name Servers via +

[RFC3258] T. Hardie. Distributing Authoritative Name Servers via Shared Unicast Addresses. April 2002.

-

[RFC3901] A. Durand and J. Ihren. DNS IPv6 Transport Operational Guidelines. September 2004.

+

[RFC3901] A. Durand and J. Ihren. DNS IPv6 Transport Operational Guidelines. September 2004.

Obsolete and Unimplemented Experimental RFC

-

[RFC1712] C. Farrell, M. Schulze, S. Pleitner, and D. Baldoni. DNS Encoding of Geographical +

[RFC1712] C. Farrell, M. Schulze, S. Pleitner, and D. Baldoni. DNS Encoding of Geographical Location. November 1994.

-

[RFC2673] M. Crawford. Binary Labels in the Domain Name System. August 1999.

+

[RFC2673] M. Crawford. Binary Labels in the Domain Name System. August 1999.

-

[RFC2874] M. Crawford and C. Huitema. DNS Extensions to Support IPv6 Address Aggregation +

[RFC2874] M. Crawford and C. Huitema. DNS Extensions to Support IPv6 Address Aggregation and Renumbering. July 2000.

@@ -541,39 +541,39 @@

-

[RFC2065] D. Eastlake, 3rd and C. Kaufman. Domain Name System Security Extensions. January 1997.

+

[RFC2065] D. Eastlake, 3rd and C. Kaufman. Domain Name System Security Extensions. January 1997.

-

[RFC2137] D. Eastlake, 3rd. Secure Domain Name System Dynamic Update. April 1997.

+

[RFC2137] D. Eastlake, 3rd. Secure Domain Name System Dynamic Update. April 1997.

-

[RFC2535] D. Eastlake, 3rd. Domain Name System Security Extensions. March 1999.

+

[RFC2535] D. Eastlake, 3rd. Domain Name System Security Extensions. March 1999.

-

[RFC3008] B. Wellington. Domain Name System Security (DNSSEC) +

[RFC3008] B. Wellington. Domain Name System Security (DNSSEC) Signing Authority. November 2000.

-

[RFC3090] E. Lewis. DNS Security Extension Clarification on Zone Status. March 2001.

+

[RFC3090] E. Lewis. DNS Security Extension Clarification on Zone Status. March 2001.

-

[RFC3445] D. Massey and S. Rose. Limiting the Scope of the KEY Resource Record (RR). December 2002.

+

[RFC3445] D. Massey and S. Rose. Limiting the Scope of the KEY Resource Record (RR). December 2002.

-

[RFC3655] B. Wellington and O. Gudmundsson. Redefinition of DNS Authenticated Data (AD) bit. November 2003.

+

[RFC3655] B. Wellington and O. Gudmundsson. Redefinition of DNS Authenticated Data (AD) bit. November 2003.

-

[RFC3658] O. Gudmundsson. Delegation Signer (DS) Resource Record (RR). December 2003.

+

[RFC3658] O. Gudmundsson. Delegation Signer (DS) Resource Record (RR). December 2003.

-

[RFC3755] S. Weiler. Legacy Resolver Compatibility for Delegation Signer (DS). May 2004.

+

[RFC3755] S. Weiler. Legacy Resolver Compatibility for Delegation Signer (DS). May 2004.

-

[RFC3757] O. Kolkman, J. Schlyter, and E. Lewis. Domain Name System KEY (DNSKEY) Resource Record +

[RFC3757] O. Kolkman, J. Schlyter, and E. Lewis. Domain Name System KEY (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag. April 2004.

-

[RFC3845] J. Schlyter. DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format. August 2004.

+

[RFC3845] J. Schlyter. DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format. August 2004.

@@ -594,14 +594,14 @@

-Other Documents About BIND +Other Documents About BIND

-Bibliography

+Bibliography
-

Paul Albitz and Cricket Liu. DNS and BIND. Copyright © 1998 Sebastopol, CA: O'Reilly and Associates.

+

Paul Albitz and Cricket Liu. DNS and BIND. Copyright © 1998 Sebastopol, CA: O'Reilly and Associates.

diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html index 5814e135..fa036aa1 100644 --- a/doc/arm/Bv9ARM.ch10.html +++ b/doc/arm/Bv9ARM.ch10.html @@ -1,5 +1,5 @@ - + @@ -106,6 +106,9 @@ genrandom — generate a file containing random data
+isc-hmac-fixup — fixes HMAC keys generated by older versions of BIND +
+
nsec3hash — generate NSEC3 hash
diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html index 5743844a..c66282bc 100644 --- a/doc/arm/Bv9ARM.html +++ b/doc/arm/Bv9ARM.html @@ -1,5 +1,5 @@ - + @@ -41,7 +41,7 @@

BIND 9 Administrator Reference Manual

-
+

@@ -51,39 +51,39 @@
1. Introduction
-
Scope of Document
-
Organization of This Document
-
Conventions Used in This Document
-
The Domain Name System (DNS)
+
Scope of Document
+
Organization of This Document
+
Conventions Used in This Document
+
The Domain Name System (DNS)
-
DNS Fundamentals
-
Domains and Domain Names
-
Zones
-
Authoritative Name Servers
-
Caching Name Servers
-
Name Servers in Multiple Roles
+
DNS Fundamentals
+
Domains and Domain Names
+
Zones
+
Authoritative Name Servers
+
Caching Name Servers
+
Name Servers in Multiple Roles
2. BIND Resource Requirements
-
Hardware requirements
-
CPU Requirements
-
Memory Requirements
-
Name Server Intensive Environment Issues
-
Supported Operating Systems
+
Hardware requirements
+
CPU Requirements
+
Memory Requirements
+
Name Server Intensive Environment Issues
+
Supported Operating Systems
3. Name Server Configuration
Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
4. Advanced DNS Features
@@ -92,34 +92,34 @@
Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
-
Example split DNS setup
+
Split DNS
+
Example split DNS setup
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
5. The BIND 9 Lightweight Resolver
-
The Lightweight Resolver Library
+
The Lightweight Resolver Library
Running a Resolver Daemon
6. BIND 9 Configuration Reference
@@ -127,58 +127,58 @@
Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
-
include Statement Definition and +
include Statement Grammar
+
include Statement Definition and Usage
-
key Statement Grammar
-
key Statement Definition and Usage
-
logging Statement Grammar
-
logging Statement Definition and +
key Statement Grammar
+
key Statement Definition and Usage
+
logging Statement Grammar
+
logging Statement Definition and Usage
-
lwres Statement Grammar
-
lwres Statement Definition and Usage
-
masters Statement Grammar
-
masters Statement Definition and +
lwres Statement Grammar
+
lwres Statement Definition and Usage
+
masters Statement Grammar
+
masters Statement Definition and Usage
-
options Statement Grammar
+
options Statement Grammar
options Statement Definition and Usage
server Statement Grammar
server Statement Definition and Usage
statistics-channels Statement Grammar
-
statistics-channels Statement Definition and +
statistics-channels Statement Definition and Usage
-
trusted-keys Statement Grammar
-
trusted-keys Statement Definition +
trusted-keys Statement Grammar
+
trusted-keys Statement Definition and Usage
-
managed-keys Statement Grammar
-
managed-keys Statement Definition +
managed-keys Statement Grammar
+
managed-keys Statement Definition and Usage
view Statement Grammar
-
view Statement Definition and Usage
+
view Statement Definition and Usage
zone Statement Grammar
-
zone Statement Definition and Usage
+
zone Statement Definition and Usage
-
Zone File
+
Zone File
Types of Resource Records and When to Use Them
-
Discussion of MX Records
+
Discussion of MX Records
Setting TTLs
-
Inverse Mapping in IPv4
-
Other Zone File Directives
-
BIND Master File Extension: the $GENERATE Directive
+
Inverse Mapping in IPv4
+
Other Zone File Directives
+
BIND Master File Extension: the $GENERATE Directive
Additional File Formats
BIND9 Statistics
@@ -187,31 +187,31 @@
7. BIND 9 Security Considerations
Access Control Lists
-
Chroot and Setuid
+
Chroot and Setuid
-
The chroot Environment
-
Using the setuid Function
+
The chroot Environment
+
Using the setuid Function
Dynamic Update Security
8. Troubleshooting
-
Common Problems
-
It's not working; how can I figure out what's wrong?
-
Incrementing and Changing the Serial Number
-
Where Can I Get Help?
+
Common Problems
+
It's not working; how can I figure out what's wrong?
+
Incrementing and Changing the Serial Number
+
Where Can I Get Help?
A. Appendices
-
Acknowledgments
+
Acknowledgments
A Brief History of the DNS and BIND
-
General DNS Reference Information
+
General DNS Reference Information
IPv6 addresses (AAAA)
Bibliography (and Suggested Reading)
Request for Comments (RFCs)
Internet Drafts
-
Other Documents About BIND
+
Other Documents About BIND
I. Manual pages
@@ -274,6 +274,9 @@ genrandom — generate a file containing random data
+isc-hmac-fixup — fixes HMAC keys generated by older versions of BIND +
+
nsec3hash — generate NSEC3 hash
diff --git a/doc/arm/man.arpaname.html b/doc/arm/man.arpaname.html index 670b6a71..0bf82d4a 100644 --- a/doc/arm/man.arpaname.html +++ b/doc/arm/man.arpaname.html @@ -1,5 +1,5 @@ - + @@ -50,20 +50,20 @@

arpaname {ipaddress ...}

-

DESCRIPTION

+

DESCRIPTION

arpaname translates IP addresses (IPv4 and IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.

-

SEE ALSO

+

SEE ALSO

BIND 9 Administrator Reference Manual.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html index 37194b76..aeed4b8e 100644 --- a/doc/arm/man.ddns-confgen.html +++ b/doc/arm/man.ddns-confgen.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

ddns-confgen [-a algorithm] [-h] [-k keyname] [-r randomfile] [ -s name | -z zone ] [-q] [name]

-

DESCRIPTION

+

DESCRIPTION

ddns-confgen generates a key for use by nsupdate and named. It simplifies configuration @@ -77,7 +77,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm

@@ -144,7 +144,7 @@

-

SEE ALSO

+

SEE ALSO

nsupdate(1), named.conf(5), named(8), @@ -152,7 +152,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html index 0e3e38aa..fafebe92 100644 --- a/doc/arm/man.dig.html +++ b/doc/arm/man.dig.html @@ -1,5 +1,5 @@ - + @@ -52,7 +52,7 @@

dig [global-queryopt...] [query...]

-

DESCRIPTION

+

DESCRIPTION

dig (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and @@ -98,7 +98,7 @@

-

SIMPLE USAGE

+

SIMPLE USAGE

A typical invocation of dig looks like:

@@ -144,7 +144,7 @@

-

OPTIONS

+

OPTIONS

The -b option sets the source IP address of the query to address. This must be a valid @@ -248,7 +248,7 @@

-

QUERY OPTIONS

+

QUERY OPTIONS

dig provides a number of query options which affect the way in which lookups are made and the results displayed. Some of @@ -573,7 +573,7 @@

-

MULTIPLE QUERIES

+

MULTIPLE QUERIES

The BIND 9 implementation of dig supports @@ -619,7 +619,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr

-

IDN SUPPORT

+

IDN SUPPORT

If dig has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -633,14 +633,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr

-

FILES

+

FILES

/etc/resolv.conf

${HOME}/.digrc

-

SEE ALSO

+

SEE ALSO

host(1), named(8), dnssec-keygen(8), @@ -648,7 +648,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr

-

BUGS

+

BUGS

There are probably too many query options.

diff --git a/doc/arm/man.dnssec-dsfromkey.html b/doc/arm/man.dnssec-dsfromkey.html index 2c46a4d3..bbde3499 100644 --- a/doc/arm/man.dnssec-dsfromkey.html +++ b/doc/arm/man.dnssec-dsfromkey.html @@ -1,5 +1,5 @@ - + @@ -51,14 +51,14 @@

dnssec-dsfromkey {-s} [-1] [-2] [-a alg] [-K directory] [-l domain] [-s] [-c class] [-f file] [-A] [-v level] {dnsname}

-

DESCRIPTION

+

DESCRIPTION

dnssec-dsfromkey outputs the Delegation Signer (DS) resource record (RR), as defined in RFC 3658 and RFC 4509, for the given key(s).

-

OPTIONS

+

OPTIONS

-1

@@ -119,7 +119,7 @@

-

EXAMPLE

+

EXAMPLE

To build the SHA-256 DS RR from the Kexample.com.+003+26160 @@ -134,7 +134,7 @@

-

FILES

+

FILES

The keyfile can be designed by the key identification Knnnn.+aaa+iiiii or the full file name @@ -148,13 +148,13 @@

-

CAVEAT

+

CAVEAT

A keyfile error can give a "file not found" even if the file exists.

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -164,7 +164,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dnssec-keyfromlabel.html b/doc/arm/man.dnssec-keyfromlabel.html index a587f68f..3c9177cd 100644 --- a/doc/arm/man.dnssec-keyfromlabel.html +++ b/doc/arm/man.dnssec-keyfromlabel.html @@ -1,5 +1,5 @@ - + @@ -47,10 +47,10 @@

Synopsis

-

dnssec-keyfromlabel {-l label} [-3] [-a algorithm] [-A date/offset] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-I date/offset] [-k] [-K directory] [-n nametype] [-P date/offset] [-p protocol] [-R date/offset] [-t type] [-v level] {name}

+

dnssec-keyfromlabel {-l label} [-3] [-a algorithm] [-A date/offset] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-I date/offset] [-k] [-K directory] [-n nametype] [-P date/offset] [-p protocol] [-R date/offset] [-t type] [-v level] [-y] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keyfromlabel gets keys with the given label from a crypto hardware and builds key files for DNSSEC (Secure DNS), as defined in RFC 2535 @@ -63,7 +63,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -171,10 +171,18 @@

Sets the debugging level.

+
-y
+

+ Allows DNSSEC key files to be generated even if the key ID + would collide with that of an existing key, in the event of + either key being revoked. (This is only safe to use if you + are sure you won't be using RFC 5011 trust anchor maintenance + with either of the keys involved.) +

-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -221,7 +229,7 @@

-

GENERATED KEY FILES

+

GENERATED KEY FILES

When dnssec-keyfromlabel completes successfully, @@ -260,7 +268,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -268,7 +276,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html index bb5f0372..c83bff82 100644 --- a/doc/arm/man.dnssec-keygen.html +++ b/doc/arm/man.dnssec-keygen.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

dnssec-keygen [-a algorithm] [-b keysize] [-n nametype] [-3] [-A date/offset] [-C] [-c class] [-D date/offset] [-E engine] [-e] [-f flag] [-G] [-g generator] [-h] [-I date/offset] [-K directory] [-k] [-P date/offset] [-p protocol] [-q] [-R date/offset] [-r randomdev] [-s strength] [-t type] [-v level] [-z] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keygen generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with @@ -64,7 +64,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -256,7 +256,7 @@
-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -303,7 +303,7 @@

-

GENERATED KEYS

+

GENERATED KEYS

When dnssec-keygen completes successfully, @@ -349,7 +349,7 @@

-

EXAMPLE

+

EXAMPLE

To generate a 768-bit DSA key for the domain example.com, the following command would be @@ -370,7 +370,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-signzone(8), BIND 9 Administrator Reference Manual, RFC 2539, @@ -379,7 +379,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dnssec-revoke.html b/doc/arm/man.dnssec-revoke.html index b17f7a39..217d2efd 100644 --- a/doc/arm/man.dnssec-revoke.html +++ b/doc/arm/man.dnssec-revoke.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

dnssec-revoke [-hr] [-v level] [-K directory] [-E engine] [-f] {keyfile}

-

DESCRIPTION

+

DESCRIPTION

dnssec-revoke reads a DNSSEC key file, sets the REVOKED bit on the key as defined in RFC 5011, and creates a new pair of key files containing the @@ -58,7 +58,7 @@

-

OPTIONS

+

OPTIONS

-h

@@ -91,14 +91,14 @@

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), BIND 9 Administrator Reference Manual, RFC 5011.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dnssec-settime.html b/doc/arm/man.dnssec-settime.html index 5608d208..b778af86 100644 --- a/doc/arm/man.dnssec-settime.html +++ b/doc/arm/man.dnssec-settime.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

dnssec-settime [-f] [-K directory] [-P date/offset] [-A date/offset] [-R date/offset] [-I date/offset] [-D date/offset] [-h] [-v level] [-E engine] {keyfile}

-

DESCRIPTION

+

DESCRIPTION

dnssec-settime reads a DNSSEC private key file and sets the key timing metadata as specified by the -P, -A, @@ -75,7 +75,7 @@

-

OPTIONS

+

OPTIONS

-f

@@ -106,7 +106,7 @@

-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -151,7 +151,7 @@

-

PRINTING OPTIONS

+

PRINTING OPTIONS

dnssec-settime can also be used to print the timing metadata associated with a key. @@ -177,7 +177,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -185,7 +185,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html index 604b7e1e..e5fda458 100644 --- a/doc/arm/man.dnssec-signzone.html +++ b/doc/arm/man.dnssec-signzone.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

dnssec-signzone [-a] [-c class] [-d directory] [-E engine] [-e end-time] [-f output-file] [-g] [-h] [-K directory] [-k key] [-l domain] [-i interval] [-I input-format] [-j jitter] [-N soa-serial-format] [-o origin] [-O output-format] [-p] [-P] [-r randomdev] [-S] [-s start-time] [-T ttl] [-t] [-u] [-v level] [-x] [-z] [-3 salt] [-H iterations] [-A] {zonefile} [key...]

-

DESCRIPTION

+

DESCRIPTION

dnssec-signzone signs a zone. It generates NSEC and RRSIG records and produces a signed version of the @@ -61,7 +61,7 @@

-

OPTIONS

+

OPTIONS

-a

@@ -397,7 +397,7 @@

-

EXAMPLE

+

EXAMPLE

The following command signs the example.com zone with the DSA key generated by dnssec-keygen @@ -427,14 +427,14 @@ db.example.com.signed %

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), BIND 9 Administrator Reference Manual, RFC 4033.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.genrandom.html b/doc/arm/man.genrandom.html index 8741c8f5..21885b8b 100644 --- a/doc/arm/man.genrandom.html +++ b/doc/arm/man.genrandom.html @@ -1,5 +1,5 @@ - + @@ -23,7 +23,7 @@ - +
-
Prev  Manual pages Next + Next
@@ -50,7 +50,7 @@

genrandom {size} {filename}

-

DESCRIPTION

+

DESCRIPTION

genrandom generates a file containing a specified quantity of pseudo-random @@ -59,7 +59,7 @@

-

ARGUMENTS

+

ARGUMENTS

size

@@ -72,14 +72,14 @@

-

SEE ALSO

+

SEE ALSO

rand(3), arc4random(3)

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -91,14 +91,14 @@ Prev  UpNextNext arpaname  Homensec3hashisc-hmac-fixup diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html index fb3adb43..dc783775 100644 --- a/doc/arm/man.host.html +++ b/doc/arm/man.host.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

host [-aCdlnrsTwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [-4] [-6] {name} [server]

-

DESCRIPTION

+

DESCRIPTION

host is a simple utility for performing DNS lookups. It is normally used to convert names to IP addresses and vice versa. @@ -202,7 +202,7 @@

-

IDN SUPPORT

+

IDN SUPPORT

If host has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -216,12 +216,12 @@

-

FILES

+

FILES

/etc/resolv.conf

-

SEE ALSO

+

SEE ALSO

dig(1), named(8).

diff --git a/doc/arm/man.isc-hmac-fixup.html b/doc/arm/man.isc-hmac-fixup.html new file mode 100644 index 00000000..fbcefeb9 --- /dev/null +++ b/doc/arm/man.isc-hmac-fixup.html @@ -0,0 +1,122 @@ + + + + + + +isc-hmac-fixup + + + + + + + + +
+
+
+

Name

+

isc-hmac-fixup — fixes HMAC keys generated by older versions of BIND

+
+
+

Synopsis

+

isc-hmac-fixup {algorithm} {secret}

+
+
+

DESCRIPTION

+

+ Versions of BIND 9 up to and including BIND 9.6 had a bug causing + HMAC-SHA* TSIG keys which were longer than the digest length of the + hash algorithm (i.e., SHA1 keys longer than 160 bits, SHA256 keys + longer than 256 bits, etc) to be used incorrectly, generating a + message authentication code that was incompatible with other DNS + implementations. +

+

+ This bug has been fixed in BIND 9.7. However, the fix may + cause incompatibility between older and newer versions of + BIND, when using long keys. isc-hmac-fixup + modifies those keys to restore compatibility. +

+

+ To modify a key, run isc-hmac-fixup and + specify the key's algorithm and secret on the command line. If the + secret is longer than the digest length of the algorithm (64 bytes + for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a + new secret will be generated consisting of a hash digest of the old + secret. (If the secret did not require conversion, then it will be + printed without modification.) +

+
+
+

SECURITY CONSIDERATIONS

+

+ Secrets that have been converted by isc-hmac-fixup + are shortened, but as this is how the HMAC protocol works in + operation anyway, it does not affect security. RFC 2104 notes, + "Keys longer than [the digest length] are acceptable but the + extra length would not significantly increase the function + strength." +

+
+
+

SEE ALSO

+

+ BIND 9 Administrator Reference Manual, + RFC 2104. +

+
+
+

AUTHOR

+

Internet Systems Consortium +

+
+
+ + + diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html index b47370e2..bae1246f 100644 --- a/doc/arm/man.named-checkconf.html +++ b/doc/arm/man.named-checkconf.html @@ -1,5 +1,5 @@ - + @@ -50,14 +50,27 @@

named-checkconf [-h] [-v] [-j] [-t directory] {filename} [-p] [-z]

-

DESCRIPTION

+

DESCRIPTION

named-checkconf - checks the syntax, but not the semantics, of a named - configuration file. + checks the syntax, but not the semantics, of a + named configuration file. The file is parsed + and checked for syntax errors, along with all files included by it. + If no file is specified, /etc/named.conf is read + by default. +

+

+ Note: files that named reads in separate + parser contexts, such as rndc.key and + bind.keys, are not automatically read + by named-checkconf. Configuration + errors in these files may cause named to + fail to run, even if named-checkconf was + successful. named-checkconf can be run + on these files explicitly, however.

-

OPTIONS

+

OPTIONS

-h

@@ -96,21 +109,21 @@

-

RETURN VALUES

+

RETURN VALUES

named-checkconf returns an exit status of 1 if errors were detected and 0 otherwise.

-

SEE ALSO

+

SEE ALSO

named(8), named-checkzone(8), BIND 9 Administrator Reference Manual.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html index 878d20e8..2965763d 100644 --- a/doc/arm/man.named-checkzone.html +++ b/doc/arm/man.named-checkzone.html @@ -1,5 +1,5 @@ - + @@ -51,7 +51,7 @@

named-compilezone [-d] [-j] [-q] [-v] [-c class] [-C mode] [-f format] [-F format] [-i mode] [-k mode] [-m mode] [-n mode] [-o filename] [-r mode] [-s style] [-t directory] [-w directory] [-D] [-W mode] {-o filename} {zonename} {filename}

-

DESCRIPTION

+

DESCRIPTION

named-checkzone checks the syntax and integrity of a zone file. It performs the same checks as named does when loading a @@ -71,7 +71,7 @@

-

OPTIONS

+

OPTIONS

-d

@@ -265,14 +265,14 @@

-

RETURN VALUES

+

RETURN VALUES

named-checkzone returns an exit status of 1 if errors were detected and 0 otherwise.

-

SEE ALSO

+

SEE ALSO

named(8), named-checkconf(8), RFC 1035, @@ -280,7 +280,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.named-journalprint.html b/doc/arm/man.named-journalprint.html index f5a3f604..691616d0 100644 --- a/doc/arm/man.named-journalprint.html +++ b/doc/arm/man.named-journalprint.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

named-journalprint {journal}

-

DESCRIPTION

+

DESCRIPTION

named-journalprint prints the contents of a zone journal file in a human-readable @@ -76,7 +76,7 @@

-

SEE ALSO

+

SEE ALSO

named(8), nsupdate(8), @@ -84,7 +84,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html index 1f9cfed0..c18bad7b 100644 --- a/doc/arm/man.named.html +++ b/doc/arm/man.named.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

named [-4] [-6] [-c config-file] [-d debug-level] [-E engine-name] [-f] [-g] [-m flag] [-n #cpus] [-p port] [-s] [-S #max-socks] [-t directory] [-u user] [-v] [-V] [-x cache-file]

-

DESCRIPTION

+

DESCRIPTION

named is a Domain Name System (DNS) server, part of the BIND 9 distribution from ISC. For more @@ -65,7 +65,7 @@

-

OPTIONS

+

OPTIONS

-4

@@ -246,7 +246,7 @@

-

SIGNALS

+

SIGNALS

In routine operation, signals should not be used to control the nameserver; rndc should be used @@ -267,7 +267,7 @@

-

CONFIGURATION

+

CONFIGURATION

The named configuration file is too complex to describe in detail here. A complete description is provided @@ -284,7 +284,7 @@

-

FILES

+

FILES

/etc/named.conf

@@ -297,7 +297,7 @@

-

SEE ALSO

+

SEE ALSO

RFC 1033, RFC 1034, RFC 1035, @@ -310,7 +310,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.nsec3hash.html b/doc/arm/man.nsec3hash.html index 6802d52c..90294a57 100644 --- a/doc/arm/man.nsec3hash.html +++ b/doc/arm/man.nsec3hash.html @@ -1,5 +1,5 @@ - + @@ -22,7 +22,7 @@ - +
-

DESCRIPTION

+

DESCRIPTION

nsec3hash generates an NSEC3 hash based on a set of NSEC3 parameters. This can be used to check the validity @@ -56,7 +56,7 @@

-

ARGUMENTS

+

ARGUMENTS

salt

@@ -80,14 +80,14 @@

-

SEE ALSO

+

SEE ALSO

BIND 9 Administrator Reference Manual, RFC 5155.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -97,13 +97,13 @@ +Prev  +isc-hmac-fixup  diff --git a/doc/arm/man.nsupdate.html b/doc/arm/man.nsupdate.html index d497796c..219a41b0 100644 --- a/doc/arm/man.nsupdate.html +++ b/doc/arm/man.nsupdate.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

nsupdate [-d] [-D] [[-g] | [-o] | [-l] | [-y [hmac:]keyname:secret] | [-k keyfile]] [-t timeout] [-u udptimeout] [-r udpretries] [-R randomdev] [-v] [filename]

-

DESCRIPTION

+

DESCRIPTION

nsupdate is used to submit Dynamic DNS Update requests as defined in RFC 2136 to a name server. @@ -157,7 +157,7 @@ using the -l flag. This sets the server address to localhost (disabling the server so that the server address cannot be overridden). Connections to the local server will - use a TSIG key found in /var/run/named/ddns.key, + use a TSIG key found in /var/run/named/session.key, which is automatically generated by named if any local master zone has set update-policy to local. The location of this key file can be @@ -210,7 +210,7 @@

-

INPUT FORMAT

+

INPUT FORMAT

nsupdate reads input from filename @@ -474,7 +474,7 @@

-

EXAMPLES

+

EXAMPLES

The examples below show how nsupdate @@ -528,13 +528,13 @@

-

FILES

+

FILES

/etc/resolv.conf

used to identify default name server

-
/var/run/named/ddns.key
+
/var/run/named/session.key

sets the default TSIG key for use in local-only mode

@@ -551,7 +551,7 @@
-

SEE ALSO

+

SEE ALSO

RFC 2136, RFC 3007, @@ -566,7 +566,7 @@

-

BUGS

+

BUGS

The TSIG key is redundantly stored in two separate files. This is a consequence of nsupdate using the DST library diff --git a/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html index d87ca424..fdaf9480 100644 --- a/doc/arm/man.rndc-confgen.html +++ b/doc/arm/man.rndc-confgen.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

rndc-confgen [-a] [-b keysize] [-c keyfile] [-h] [-k keyname] [-p port] [-r randomfile] [-s address] [-t chrootdir] [-u user]

-

DESCRIPTION

+

DESCRIPTION

rndc-confgen generates configuration files for rndc. It can be used as a @@ -66,7 +66,7 @@

-

OPTIONS

+

OPTIONS

-a
@@ -173,7 +173,7 @@
-

EXAMPLES

+

EXAMPLES

To allow rndc to be used with no manual configuration, run @@ -190,7 +190,7 @@

-

SEE ALSO

+

SEE ALSO

rndc(8), rndc.conf(5), named(8), @@ -198,7 +198,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html index 4a16e904..41ca9787 100644 --- a/doc/arm/man.rndc.conf.html +++ b/doc/arm/man.rndc.conf.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

rndc.conf

-

DESCRIPTION

+

DESCRIPTION

rndc.conf is the configuration file for rndc, the BIND 9 name server control utility. This file has a similar structure and syntax to @@ -135,7 +135,7 @@

-

EXAMPLE

+

EXAMPLE

       options {
         default-server  localhost;
@@ -209,7 +209,7 @@
     

-

NAME SERVER CONFIGURATION

+

NAME SERVER CONFIGURATION

The name server must be configured to accept rndc connections and to recognize the key specified in the rndc.conf @@ -219,7 +219,7 @@

-

SEE ALSO

+

SEE ALSO

rndc(8), rndc-confgen(8), mmencode(1), @@ -227,7 +227,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html index 0ffce38e..cd59e490 100644 --- a/doc/arm/man.rndc.html +++ b/doc/arm/man.rndc.html @@ -1,5 +1,5 @@ - + @@ -50,7 +50,7 @@

rndc [-b source-address] [-c config-file] [-k key-file] [-s server] [-p port] [-V] [-y key_id] {command}

-

DESCRIPTION

+

DESCRIPTION

rndc controls the operation of a name server. It supersedes the ndc utility @@ -79,7 +79,7 @@

-

OPTIONS

+

OPTIONS

-b source-address

@@ -151,7 +151,7 @@

-

LIMITATIONS

+

LIMITATIONS

rndc does not yet support all the commands of the BIND 8 ndc utility. @@ -165,7 +165,7 @@

-

SEE ALSO

+

SEE ALSO

rndc.conf(5), rndc-confgen(8), named(8), @@ -175,7 +175,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

diff --git a/doc/draft/draft-ietf-dnsext-axfr-clarify-11.txt b/doc/draft/draft-ietf-dnsext-axfr-clarify-11.txt deleted file mode 100644 index 5278587d..00000000 --- a/doc/draft/draft-ietf-dnsext-axfr-clarify-11.txt +++ /dev/null @@ -1,1058 +0,0 @@ -DNS Extensions Working Group Edward Lewis -INTERNET-DRAFT NeuStar, Inc. -Expires: Octopber 1, 2009 April 2009 -Updates: 1034, 1035 (if approved) -Intended status: Standards Track - - DNS Zone Transfer Protocol (AXFR) - draft-ietf-dnsext-axfr-clarify-11.txt - -Status of this Memo - - This Internet-Draft is submitted to IETF in full conformance with the - provisions of BCP 78 and BCP 79. - - Internet-Drafts are working documents of the Internet Engineering - Task Force (IETF), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. - - Internet-Drafts are draft documents valid for a maximum of six months - and may be updated, replaced, or obsoleted by other documents at any - time. It is inappropriate to use Internet-Drafts as reference - material or to cite them other than as "work in progress." - - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/1id-abstracts.html - - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html - - This Internet-Draft will expire on October 1, 2009. - -Copyright Notice - - Copyright (c) 2009 IETF Trust and the persons identified as the - document authors. All rights reserved. - - This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents - (http://trustee.ietf.org/license-info) in effect on the date of - publication of this document. Please review these documents - carefully, as they describe your rights and restrictions with - respect to this document. - -Abstract - -The Domain Name System standard mechanisms for maintaining coherent -servers for a zone consist of three elements. One mechanism is the -Authoritative Transfer (AXFR) is defined in RFC 1034 and RFC 1035. -The definition of AXFR, has proven insufficient in detail, forcing -implementations intended to be compliant to make assumptions, impeding -interoperability. Yet today we have a satisfactory set of -implementations that do interoperate. This document is a new -definition of the AXFR, new in the sense that is it recording an -accurate definition of an interoperable AXFR mechanism. - -1 Introduction - -The Domain Name System standard facilities for maintaining coherent -servers for a zone consist of three elements. Authoritative -Transfer (AXFR) is defined in "Domain Names - Concepts and Facilities" -[RFC1034] (referred to in this document as RFC 1034) and "Domain Names -- Implementation and Specification" [RFC1035] (aka RFC 1035). -Incremental Zone Transfer (IXFR) is defined in "Incremental Zone -Transfer in DNS" [RFC1995]. A mechanism for prompt notification of -zone changes (NOTIFY) is defined in "A Mechanism for Prompt -Notification of Zone Changes (DNS NOTIFY)" [RFC1996]. The goal of -these mechanisms is to enable a set of DNS name servers to remain -coherently authoritative for a given zone. - -Comments on this draft ought to be addressed to the editor or to -namedroppers@ops.ietf.org. - -1.1 Definition of Terms - -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", -"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this -document are to be interpreted as described in "Key words for use in -RFCs to Indicate Requirement Levels" [BCP14]. - -"Newer"/"New" DNS and "older"/"old" DNS refers to implementations -written after and prior to the publication of this document. - -1.2 Scope - -In the greater context there are many ways to achieve coherency among -a set of name servers. The AXFR, IXFR and NOTIFY mechanisms form -just one, the one defined in the RFCs cited. For example, there are -DNS implementations that assemble answers from data stored in -relational databases (as opposed to master files) relying on the -database's non-DNS means to synchronize the database instances. Some -of these non-DNS solutions interoperate in some fashion. As far as -it is known, AXFR, IXFR and NOTIFY are the only in-band mechanisms -that provide an interoperable solution to the desire for coherency -within the definition of DNS, they certainly are the only mechanisms -documented by the IETF. - -This document does not cover incoherent DNS situations. There are -applications of the DNS in which servers for a zone are designed to be -incoherent. For these configurations, a coherency mechanism as -described here would be unsuitable. - -"General purpose DNS implementation" refers to DNS software developed -for wide-spread use. This includes resolvers and servers freely -accessible as libraries and standalone processes. This also includes -proprietary implementations used only in support of DNS service -offerings. - -"Turnkey DNS implementation" refers to custom made, single use -implementations of DNS. Such implementations consist of software -that employs the DNS protocol message format yet do not conform to -the entire range of DNS functionality. - -A DNS implementation is not required to support AXFR, IXFR and NOTIFY. -A DNS implementation SHOULD have some means for maintaining name server -coherency. A general purpose DNS implementation SHOULD include AXFR -(and in the same vein IXFR and NOTIFY), but turnkey DNS implementations -MAY exist without AXFR. (An editorial note to readers of this section. -The mention of IXFR and NOTIFY is for context and illustration, this -document does not make any normative comments on those mechanisms.) - -1.3 Context - -Besides describing the mechanisms themselves, there is the context in -which they operate to consider. When AXFR, IXFR and NOTIFY were -defined, there was little consideration given to security and privacy -issues. Since the original definition of AXFR, new opinions have -appeared on the access to an entire zone's contents. In this document, -the basic mechanisms will be discussed separately from the permission -to use these mechanisms. - -1.4 Coverage and Relationship to Original AXFR Specification - -This document concentrates on just the definition of AXFR. Any effort -to update the IXFR or NOTIFY mechanisms would be done in different -documents. - -The original "specification" of the AXFR sub-protocol is scattered -through RFC 1034 and RFC 1035. Section 2.2 of RFC 1035 on page 5 -depicts the scenario for which AXFR has been designed. Section 4.3.5 -of RFC 1034 describes the zone synchronization strategies in general -and rules for the invocation of a full zone transfer via AXFR; the -fifth paragraph of that section contains a very short sketch of the -AXFR protocol; Section 5.5 of RFC 2181 has corrected a significant -flaw in that specification. Section 3.2.3 of RFC 1035 has assigned -the code point for the AXFR QTYPE (see section 2.1.2 below for more -details). Section 4.2 of RFC 1035 discusses the transport layer use -of DNS and shortly explains why UDP transport is deemed inappropriate -for AXFR; the last paragraph of Section 4.2.2 gives details for the -TCP connection management with AXFR. Finally, the second paragraph -of Section 6.3 in RFC 1035 mandates server behavior when zone data -changes occur during an ongoing zone transfer using AXFR. - -This document will update the specification of AXFR in fully -specifying the record formats and processing rules for AXFR, largely -expanding on paragraph 5 of Section 4.3.5 of RFC 1034, and detailing -the transport considerations for AXFR, thus amending Section 4.2.2 of -RFC 1035. Furthermore, it discusses backward compatibility issues -and provides policy/management considerations as well as specific -Security Considerations for AXFR. The goal of this document is to -define AXFR as it exists, or is supposed to exist, currently. - -2 AXFR Messages - -An AXFR session consists of an AXFR query message and the sequence of -AXFR response messages returned for it. In this document, the AXFR -client is the sender of the AXFR query and the AXFR server is the -responder. (Use of terms such as master, slave, primary, secondary -are not important to defining AXFR.) The use of the word "session" -without qualification refers to an AXFR session. - -An important aspect to keep in mind is that the definition of AXFR is -restricted to TCP [RFC0793]. The design of the AXFR process has -certain inherent features that are not easily ported to UDP [RFC0768]. - -The basic format of an AXFR message is the DNS message as defined in -RFC 1035, Section 4 ("MESSAGES") [RFC1035], updated by the following: -- "A Mechanism for Prompt Notification of Zone Changes (...)" [RFC1996] -- "Domain Name System (DNS) IANA Considerations" [RFC5395] -- "Dynamic Updates in the Domain Name System (DNS UPDATE)" [RFC2136] -- "Clarifications to the DNS Specification" [RFC2181] -- "Extension Mechanisms for DNS (EDNS0)" [RFC2671] -- "Secret Key Transaction Authentication for DNS (TSIG)" [RFC2845] -- "Secret Key Establishment for DNS (TKEY RR)" [RFC2930] -- "Obsoleting IQUERY" [RFC3425] -- "Handling of Unknown DNS Resource Record (RR) Types" [RFC3597] -- "Resource Records for the DNS Security Extensions" [RFC4034] -- "Protocol Modifications for the DNS Security Extensions" [RFC4035] -- "Use of SHA-256 in DNSSEC ... (DS) ... (RRs)" [RFC4509] -- "HMAC SHA TSIG Algorithm Identifiers" [RFC4635] -- "... (DNSSEC) Hashed Authenticated Denial of Existence" [RFC5155] - -For completeness, the following, in process, documents contain -information about the DNS message. These documents ought not interfere -with AXFR but these documents are helpful in understanding what will -be carried via AXFR. - -- "Use of SHA-2 algorithms with RSA in DNSKEY and RRSIG Resource - Records for DNSSEC" [DRAFT1] -- "Clarifications and Implementation Notes for DNSSECbis" [DRAFT2] - -The upper limit on the permissible size of a DNS message over TCP is -only restricted by the TCP framing defined in RFC 1035, section 4.2.2 -which specifies a two-octet message length field, understood to be -unsigned, and thus causing a limit of 65535 octets. Unlike DNS -messages over UDP, this limit is not changed by EDNS0. - -Note that the TC (truncation) bit is never set by an AXFR server nor -considered/read by an AXFR client. - -Field names used in this document will correspond to the names as they -appear in the IANA registry for DNS Header Flags [DNSFLGS]. - -2.1 AXFR query - -An AXFR query is sent by a client whenever there is a reason to ask. -This might be because of zone maintenance activities or as a result of -a command line request, say for debugging. - -An AXFR query is sent by a client whenever there is a reason to ask. -This might be because of scheduled or triggered zone maintenance -activities (see section 4.3.5 of RFC 1034 and DNS NOTIFY [RFC1996], -respectively) or as a result of a command line request, say for -debugging. - -2.1.1 Header Values - -These are the DNS message header values for an AXFR query. - -ID See note 2.1.1.a -QR MUST be 0 (Query) -OPCODE MUST be 0 (Standard Query) -AA See note 2.1.1.b -TC See note 2.1.1.b -RD See note 2.1.1.b -RA See note 2.1.1.b -Z See note 2.1.1.c -AD See note 2.1.1.b -CD See note 2.1.1.b -RCODE MUST be 0 (No error) -QDCOUNT MUST be 1 -ANCOUNT MUST be 0 -NSCOUNT MUST be 0 -ARCOUNT See note 2.1.1.d - -Note 2.1.1.a Set to any value that the client is not already using -with the same server. There is no specific means for selecting the -value in this field. (Recall that AXFR is done only via TCP -connections.) - -A server MUST reply using messages that use the same message ID to -allow a client to meaningfully have multiple AXFR queries outstanding. - -Note 2.1.1.b The value in this field has no meaning in the context of -AXFR query messages. For the client, it is RECOMMENDED that the -value be zero. The server MUST ignore this value. - -Note 2.1.1.c The client MUST set this bit to 0, the server MUST ignore -it. - -Note 2.1.1.d The client MUST set this field to be the number of -resource records appearing in the additional section. See Section -2.1.5 "Additional Section" for details. - -The value MAY be 0, 1 or 2. If it is 2, the additional -section MUST contain both an EDNS0 [RFC2671] OPT resource record and -a record carrying transaction integrity and authentication data, -currently a choice of TSIG [RFC2845] and SIG(0) [RFC2931]. If the -value is 1, then the additional section MUST contain either only an -EDNS0 OPT resource record or a record carrying transaction integrity -and authentication data. If the value is 0, the additional section -MUST be empty. - -2.1.2 Query Section - -The Query section of the AXFR query MUST conform to section 4.1.2 of -RFC 1035, and contain the following values: - -QNAME the name of the zone requested -QTYPE AXFR(= 252), the pseudo-RR type for zone transfer [DNSVALS] -QCLASS the class of the zone requested - -2.1.3 Answer Section - -MUST be empty. - -2.1.4 Authority Section - -MUST be empty. - -2.1.5 Additional Section - -The client MAY include an EDNS0 OPT [RFC2671] resource record. If the -server has indicated that it does not support EDNS0, the client MUST -send this section without an EDNS0 OPT resource record if there is a -retry. Indication that a server does not support EDNS0 is not an -explicit element in the protocol, it is up to the client to interpret. -Most likely, the server will return a FORMERR which might be related to -the OPT resource record. - -The client MAY include a transaction integrity and authentication -resource record, currently a choice of TSIG [RFC2845] or SIG(0) -[RFC2931]. If the server has indicated that it does not recognize the -resource record, and that the error is indeed caused by the resource -record, the client probably ought not try again. Removing the security -data in the face of an obstacle ought to only be done with full -awareness of the implication of doing so. - -In general, if an AXFR client is aware that an AXFR server does not -support a particular mechanism, the client SHOULD NOT attempt to engage -the server using the mechanism (or at all). A client could become -aware of a server's abilities via a configuration setting or via some -other (as yet) undefined means. - -The range of permissible resource records that MAY appear in the -additional section might change over time. If either a change to an -existing resource record (like the OPT RR for EDNS0) is made or -a new additional section record is created, the new definitions ought -to include a discussion on the impact upon AXFR. Although this is not -predictable, future additional section residing records may have an -effect that is orthogonal to AXFR, so can ride through the session as -opaque data. In this case, a "wise" implementation ought to be able -to pass these records through without disruption. - -2.2 AXFR response - -The AXFR response will consist of 0 or more messages. A "0 message" -response is covered in section 2.2.1. - -An AXFR response that is transferring the zone's contents will consist -of a series (which could be a series of length 1) of DNS messages. -In such a series, the first message MUST begin with the SOA -resource record of the zone, the last message MUST conclude with the -same SOA resource record. Intermediate messages MUST NOT contain the -SOA resource record. The first message MUST copy the Query Section -from the corresponding AXFR query message in to the first response -message's query section. Subsequent messages MAY do the same. - -An AXFR response that is indicating an error MUST consist of a single -DNS message with the return code set to the appropriate value for the -condition encountered - once the error condition is detected. Such -a message MUST terminate the AXFR session; it MUST copy the Query -Section from the AXFR query into its Query Section, but the inclusion -of the terminating SOA resource record is not necessary. - -An AXFR client might receive a number of AXFR response messages -free of an error condition before the message indicating an error -is received. - -2.2.1 "0 Message" Response - -A legitimate "0 message" response, i.e., the client sees no response -whatsoever, is very exceptional and controversial. Unquestionably it -is unhealthy for there to be 0 responses in a protocol that is designed -around a query - response paradigm over an unreliable transport. The -lack of a response could be a sign of underlying network problems and -cause the protocol state machine to react accordingly. However, AXFR -uses TCP and not UDP, eliminating undetectable network errors. - -A "0 message response" is reserved for situations in which the server -has a reason to suspect that the query is sent for the purpose of -abuse. Due to the use of this being so controversial, a "0 message -response" is not being defined as a legitimate part of the protocol -but the use of it is being acknowledged as a warning to AXFR client -implementations. Any earnest query has the expectation of some -response but may not get one. - -2.2.2 Header Values - -ID See note 2.2.2.a -QR MUST be 1 (Response) -OPCODE MUST be 0 (Standard Query) -AA See note 2.2.2.b -TC MUST be 0 (Not truncated) -RD RECOMMENDED copy request's value, MAY be set to 0 -RA See note 2.2.2.c -Z See note 2.2.2.d -AD See note 2.2.2.e -CD See note 2.2.2.e -RCODE See note 2.2.2.f -QDCOUNT MUST be 1 in the first message; MUST be 0 or 1 in all - following -ANCOUNT See note 2.2.2.g -NSCOUNT MUST be 0 -ARCOUNT See note 2.2.2.h - -Note 2.2.2.a Because some old implementations behave differently than -is now desired, the requirement on this field is stated in detail. -New DNS servers MUST set this field to the value of the AXFR query -ID in each AXFR response message for the session. AXFR clients MUST -be able to manage sessions resulting from the issuance of multiple -outstanding queries, whether AXFR queries or other DNS queries. A -client SHOULD discard responses that do not correspond (via the -message ID) to any outstanding queries. - -Unless the client is sure that the server will consistently set the ID -field to the query's ID, the client is NOT RECOMMENDED to issue any -other queries until the end of the zone transfer. A client MAY become -aware of a server's abilities via a configuration setting. - -Note 2.2.2.b If the RCODE is 0 (no error), then the AA bit MUST be 1. -For any other value of RCODE, the AA bit MUST be set according to rules -for that error code. If in doubt, it is RECOMMENDED that it be set -to 1. It is RECOMMENDED that the value be ignored by the AXFR client. - -Note 2.2.2.c It is RECOMMENDED that the server set the value to 0, -the client MUST ignore this value. - -The server MAY set this value according to the local policy regarding -recursive service, but doing so might confuse the interpretation of the -response as AXFR can not be retrieved recursively. A client MAY note -the server's policy regarding recursive service from this value, but -SHOULD NOT conclude that the AXFR response was obtained recursively -even if the RD bit was 1 in the query. - -Note 2.2.2.d The server MUST set this bit to 0, the client MUST ignore -it. - -Note 2.2.2.e If the implementation supports the DNS Security Extensions -(see below) then this value MUST be set according to the rules in RFC -4035, section 3.1.6, "The AD and CD Bits in an Authoritative Response". -If the implementation does not support the DNS Security Extensions, -then this value MUST be set to 0 and MUST be ignored upon receipt. - -The DNS Security Extensions (DNSSEC) is defined in these base -documents: -- "DNS Security Introduction and Requirements" [RFC4033] -- "Resource Records for the DNS Security Extensions" [RFC4034] -- "Protocol Modifications for the DNS Security Extensions" [RFC4035] -- "Use of SHA-256 in DNSSEC Delegation Signer RRs" [RFC4509] -- "DNS Security Hashed Authenticated Denial of Existence" [RFC5155] - -as well pending documents, such as these: - -- "Use of SHA-2 algorithms with RSA in DNSKEY and RRSIG Resource - Records for DNSSEC" [DRAFT1] -- "Clarifications and Implementation Notes for DNSSECbis" [DRAFT2] - -Note 2.2.2.f In the absence of an error, the server MUST set the value -of this field to NoError. If a server is not authoritative for the -queried zone, the server SHOULD set the value to NotAuth. (Reminder, -consult the appropriate IANA registry [DNSVALS].) If a client -receives any other value in response, it MUST act according to the -error. For example, a malformed AXFR query or the presence of an EDNS0 -OPT resource record sent to an old server will garner a FormErr value. -This value is not set as part of the AXFR-specific response processing. -The same is true for other error-indicating values. - -Note 2.2.2.g The count of answer records MUST equal the number of -resource records in the AXFR Answer Section. When a server is aware -that a client will only accept one resource record per response -message, then the value MUST be 1. A server MAY be made aware of a -client's limitations via configuration data. - -Note 2.2.2.h The client MUST set this field to be the number of -resource records appearing in the additional section. The -considerations in Note 2.1.1.d above apply equally; see Section -2.2.6 "Additional Section" below for more details. - -2.2.3 Query Section - -In the first response message, this section MUST be copied from the -query. In subsequent messages, this section MAY be copied from the -query or it MAY be empty. The content of this section MAY be used to -determine the context of the message, that is, the name of the zone -being transferred. - -2.2.4 Answer Section - -MUST be populated with the zone contents. See later section on -encoding zone contents. - -2.2.5 Authority Section - -MUST be empty. - -2.2.6 Additional Section - -The contents of this section MUST follow the guidelines for EDNS0, -TSIG, SIG(0), or what ever other future record is possible here. The -contents of section 2.1.5 apply here as well. - -2.3 TCP Connection Aborts - -If an AXFR client sends a query on a TCP connection and the connection -is closed at any point, the AXFR client MUST consider the AXFR session -terminated. The message ID MAY be used again on a new connection, -even if the question and AXFR server are the same. Facing a dropped -connection a client SHOULD try to make some determination whether the -connection closure was the result of network activity or a decision -by the AXFR server. This determination is not an exact science. It -is up to the AXFR client implementor to react, but the reaction -SHOULD NOT be an endless cycle of retries nor an increasing (in -frequency) retry rate. - -An AXFR server implementor SHOULD take into consideration the dilemma -described above when a connection is closed with an outstanding query -in the pipeline. For this reason, a server ought to reserve this -course of action for situations in which it believes beyond a doubt -that the AXFR client is attempting abusive behavior. - -3 Zone Contents - -The objective of the AXFR session is to request and transfer the -contents of a zone. The objective is to permit the AXFR client to -reconstruct the zone as it exists at the server for the given zone -serial number. Over time the definition of a zone has evolved from -denoting a static set of records to also cover a dynamically updated -set of records, and then a potentially continually regenerated set of -records as well. - -3.1 Records to Include - -In the answer section of AXFR response messages the resource records -within a zone for the given serial number MUST appear. The definition -of what belongs in a zone is described in RFC 1034, Section 4.2, "How -the database is divided into zones", in particular, section 4.2.1, -"Technical considerations", and it has been clarified in Section 6 of -RFC 2181. - -Unless the AXFR server knows that the AXFR client is old and expects -just one resource record per AXFR response message, an AXFR server -SHOULD populate an AXFR response message with as many complete -resource record sets as will fit within a DNS message. - -Zones for which it is impractical to list the entire zones for a serial -number are not suitable for AXFR retrieval. A typical (but not -limiting) description of such a zone is a zone consisting of responses -generated via other database lookups and/or computed based upon ever -changing data. - -3.2 Delegation Records - -In RFC 1034, section 4.2.1, this text appears (keep in mind that the -"should" in the quotation predates [BCP14], cf. section 1.1) "The RRs -that describe cuts ... should be exactly the same as the corresponding -RRs in the top node of the subzone." There has been some controversy -over this statement and the impact on which NS resource records are -included in a zone transfer. - -The phrase "that describe cuts" is a reference to the NS set and -applicable glue records. It does not mean that the cut point and apex -resource records are identical. For example, the SOA resource record -is only found at the apex. The discussion here is restricted to just -the NS resource record set and glue as these "describe cuts". - -DNSSEC resource records have special specifications regarding their -occurrence at a zone cut and the apex of a zone. This has for the -first time been described in Sections 5.3 ff. and 6.2 of RFC 2181 -(for the initial specification of DNSSEC), which now is historical. -The current DNSSEC core document set (see Note 2.2.2.e above) gives -the full details for DNSSEC(bis) resource record placement, and -Section 3.1.5 of RFC 4035 normatively specifies their treatment during -AXFR; the alternate NSEC3 resource record defined later in RFC 5155 -behaves identically as the NSEC RR, for the purpose of AXFR. - -Informally: -o The DS RRSet only occurs at the parental side of a zone cut and is - authoritative data in the parent zone, not the secure child zone. -o The DNSKEY RRSet only occurs at the APEX of a signed zone and is - authoritative part of the zone it serves. -o Independent RRSIG RRSets occur at the signed parent side and of a - zone cut and at the apex of a signed zone; they are authoritative - part of the respective zone; simple queries for RRSIG resource - records may return bth RRSets at once if the same server is - authoritative for the parent zone and the child zone (Section - 3.1.5 of RFC 4035 describes how to distinguish these RRs); this - seeming ambiguity does not occur for AXFR, since each such RRSIG - RRset belongs to a single zone. -o Different NSEC [RFC4034] or NSEC3 [RFC5155] resource records - equally may occur at the parental siede of a zone cut and at the - apex of a zone; each such resource record belongs to exactly one - of these zones and is to be included in the AXFR of that zone. - -The issue is that in operations there are times when the NS resource -records for a zone might be different at a cut point in the parent and -at the apex of a zone. Sometimes this is the result of an error and -sometimes it is part of an ongoing change in name servers. The DNS -protocol is robust enough to overcome inconsistencies up to (but not -including) there being no parent indicated NS resource record -referencing a server that is able to serve the child zone. This -robustness is one quality that has fueled the success of the DNS. -Still, the inconsistency is an error state and steps need to be taken -to make it apparent (if it is unplanned) and to make it clear once -the inconsistency has been removed. - -Another issue is that the AXFR server could be authoritative for a -different set of zones than the AXFR client. It is possible that the -AXFR server be authoritative for both halves of an inconsistent cut -point and that the AXFR client is authoritative for just the parent of -the cut point. - -The question that arises is, when facing a situation in which a cut -point's NS resource records do not match the authoritative set, whether -an AXFR server responds with the NS resource record set that is in the -zone being transferred or is at the authoritative location. - -The AXFR response MUST contain the cut point NS resource record set -registered with the zone whether it agrees with the authoritative set -or not. "Registered with" can be widely interpreted to include data -residing in the zone file of the zone for the particular serial -number (in zone file environments) or as any data configured to be in -the zone (database), statically or dynamically. - -The reasons for this requirement are: - -1) The AXFR server might not be able to determine that there is an -inconsistency given local data, hence requiring consistency would mean -a lot more needed work and even network retrieval of data. An -authoritative server ought not be required to perform any queries. - -2) By transferring the inconsistent NS resource records from a server -that is authoritative for both the cut point and the apex to a client -that is not authoritative for both, the error is exposed. For example, -an authorized administrator can manually request the AXFR and inspect -the results to see the inconsistent records. (A server authoritative -for both halves would otherwise always answer from the more -authoritative set, concealing the error.) - -3) The inconsistent NS resource record set might indicate a problem -in a registration database. - -4) This requirement is necessary to ensure that retrieving a given -(zone,serial) pair by AXFR yields the exact same set of resource -records no matter which of the zone's authoritative servers is -chosen as the source of the transfer. - -If an AXFR server were allowed to respond with the authoritative -NS RRset of a child zone instead of a glue NS RRset in the zone -being transferred, the set of records returned could vary depending -on whether or not the server happens to also be authoritative for -the child zone. - -The property that a given (zone,serial) pair corresponds to a -single, well-defined set of records is necessary for the correct -operation of incremental transfer protocols such as IXFR -[RFC1995]. For example, a client may retrieve a zone by AXFR from -one server, and then apply an incremental change obtained by IXFR -from a different server. If the two servers have different ideas -of the zone contents, the client can end up attempting to -incrementally add records that already exist or to delete records -that do not exist. - -3.3 Glue Records - -As quoted in the previous section, section 4.2.1 of RFC 1034 provides -guidance and rationale for the inclusion of glue records as part of -an AXFR transfer. And, as also argued in the previous section of this -document, even when there is an inconsistency between the address in a -glue record and the authoritative copy of the name server's address, -the glue resource record that is registered as part of the zone for -that serial number is to be included. - -This applies to glue records for any address family [RFC1700]. - -The AXFR response MUST contain the appropriate glue records as -registered with the zone. The interpretation of "registered with" -in the previous section applies here. Inconsistent glue records are -an operational matter. - -3.4 Name Compression - -Compression of names in DNS messages is described in RFC 1035, section -4.1.4, "Message compression". The issue highlighted here relates to a -comment made in RFC 1034, section 3.1, "Name space specifications and -terminology" which says "When you receive a domain name or label, you -should preserve its case." ("Should" in the quote predates [BCP14].) - -Name compression in an AXFR message MUST preserve the case of the -original domain name. That is, although when comparing a domain name, -"a" equals "A", when comparing for the purposes of message compression, -"a" is not equal to "A". Note that this is not the usual definition -of name comparison in the DNS protocol and represents a new -requirement on AXFR servers. - -Rules governing name compression of RDATA in an AXFR message MUST -abide by the specification in "Handling of Unknown DNS Resource Record -(RR) Types" [RFC3597], specifically, section 4 on "Domain Name -Compression." - -3.5 Occluded Names - -Dynamic Update [RFC2136] operations, and in particular its interaction -with DNAME [RFC2672], can have a side effect of occluding names in a -zone. The addition of a delegation point via dynamic update will -render all subordinate domain names to be in a limbo, still part of -the zone but not available to the lookup process. The addition of a -DNAME resource record has the same impact. The subordinate names are -said to be "occluded." - -Occluded names MUST be included in AXFR responses. An AXFR client MUST -be able to identify and handle occluded names. The rationale for this -action is based on a speedy recovery if the dynamic update operation -was in error and is to be undone. - -4 Transport - -AXFR sessions are currently restricted to TCP by section 4.3.5 of RFC -1034 that states: "Because accuracy is essential, TCP or some other -reliable protocol must be used for AXFR requests." The restriction to -TCP is also mentioned in section 6.1.3.2. of "Requirements for Internet -Hosts - Application and Support" [RFC1123]. - -The most common scenario is for an AXFR client to open a TCP connection -to the AXFR server, send an AXFR query, receive the AXFR response, and -then close the connection. There are variations on this, such as a -query for the zone's SOA resource record first, and so on. Note that -this is documented as a most common scenario. - -The assumption that a TCP connection is dedicated to the single AXFR -session is incorrect, this has led to implementation choices that -prevent either multiple concurrent zone transfers or the use of the -open connection for other queries. - -Being able to have multiple concurrent zone transfers is considered -desirable by operators who have sets of name servers that are -authoritative for a common set of zones. It would be desirable -if the name server implementations did not have to wait for one -zone to transfer before the next could begin. The desire here is to -tighten the specification, not a change, but adding words to the -unclear areas, to define what is needed to permit two servers to -share a TCP connection among concurrent AXFR sessions. The challenge -is to design this in a way that can fall back to the old behavior if -either the AXFR client or AXFR server is incapable of performing -multiple concurrent AXFR sessions. - -With the addition of EDNS0 and applications which require many -small zones such as in web hosting and some ENUM scenarios, AXFR -sessions on UDP would now be possible and seem desirable. However, -there are still some aspects of the AXFR session that are not easily -translated to UDP. This document leaves AXFR over UDP undefined. - -4.1 TCP - -In the original definition there is an implicit assumption (probably -unintentional) that a TCP connection is used for one and only one -AXFR session. This is evidenced in no requirement to copy neither -the Query Section nor the message ID in responses, no explicit -ordering information within the AXFR response messages and the lack -of an explicit notice indicating that a zone transfer continues in the -next message. - -The guidance given here is intended to enable better performance of -the AXFR exchange as well as guidelines on interactions with older -software. Better performance includes being able to multiplex DNS -message exchanges including zone transfer sessions. Guidelines for -interacting with older software are generally applicable to new AXFR -clients. In the reverse situation, older AXFR client and newer AXFR -server ought to induce the server to operate within the specification -for an older server. - -4.1.1 AXFR client TCP - -An AXFR client MAY request a connection to an AXFR server for any -reason. An AXFR client SHOULD close the connection when there is -no apparent need to use the connection for some time period. The -AXFR server ought not have to maintain idle connections, the burden -of connection closure ought to be on the client. Apparent need for -the connection is a judgment for the AXFR client and the DNS -client. If the connection is used for multiple sessions, or if it is -known sessions will be coming or if there is other query/response -traffic anticipated or currently on the open connection, then there -is "apparent need." - -An AXFR client MAY cancel delivery of a zone only by closing the -connection. However, this action will also cancel all other outstanding -activity using the connection. There is no other mechanism by which -an AXFR response can be cancelled. - -When a TCP connection is closed remotely (relative to the client), -whether by the AXFR server or due to a network event, the AXFR client -MUST cancel all outstanding sessions and non-AXFR transactions. -Recovery from this situation is not straightforward. If the disruption -was a spurious event, attempting to restart the connection would be -proper. If the disruption was caused by a medium or long term -disruption, the AXFR client would be wise to not spend too many -resources trying to rebuild the connection. Finally, if the connection -was dropped because of a policy at the AXFR server (as can be the case -with older AXFR servers), the AXFR client would be wise to not retry -the connection. Unfortunately, knowing which of the three cases above -(momentary disruption, failure, policy) applies is not possible with -certainty, and can only be assessed by heuristics. - -An AXFR client MAY use an already opened TCP connection to start an -AXFR session. Using an existing open connection is RECOMMENDED over -opening a new connection. (Non-AXFR session traffic can also use an -open connection.) If in doing so the AXFR client realizes that -the responses cannot be properly differentiated (lack of matching -query IDs for example) or the connection is terminated for a remote -reason, then the AXFR client SHOULD NOT attempt to reuse an open -connection with the specific AXFR server until the AXFR server is -updated (which is of course, not an event captured in the DNS -protocol). - -4.1.2 AXFR server TCP - -An AXFR server MUST be able to handle multiple AXFR sessions on a -single TCP connection, as well as handle other query/response -transactions. - -If a TCP connection is closed remotely, the AXFR server MUST cancel -all AXFR sessions in place. No retry activity is necessary; that is -initiated by the AXFR client. - -Local policy MAY dictate that a TCP connection is to be closed. Such -an action SHOULD be in reaction to limits such as those placed on -the number of outstanding open connections. Closing a connection in -response to a suspected security event SHOULD be done only in extreme -cases, when the server is certain the action is warranted. An -isolated request for a zone not on the AXFR server SHOULD receive -a response with the appropriate return code and not see the connection -broken. - -4.2 UDP - -AXFR sessions over UDP transport are not defined. - -5 Authorization - -A zone administrator has the option to restrict AXFR access to a zone. -This was not envisioned in the original design of the DNS but has -emerged as a requirement as the DNS has evolved. Restrictions on AXFR -could be for various reasons including a desire (or in some instances, -having a legal requirement) to keep the bulk version of the zone -concealed or to prevent the servers from handling the load incurred in -serving AXFR. All reasons are arguable, but the fact remains that -there is a requirement to provide mechanisms to restrict AXFR. - -A DNS implementation SHOULD provide means to restrict AXFR sessions to -specific clients. - -An implementation SHOULD allow access to be granted to Internet -Protocol addresses and ranges, regardless of whether a source address -could be spoofed. Combining this with techniques such as Virtual -Private Networks (VPN) [RFC2764] or Virtual LANs has proven to be -effective. - -A general purpose implementation is RECOMMENDED to implement access -controls based upon "Secret Key Transaction Authentication for DNS" -[RFC2845] and/or "DNS Request and Transaction Signatures ( SIG(0)s )" -[RFC2931]. - -A general purpose implementation SHOULD allow access to be open to -all AXFR requests. I.e., an operator ought to be able to allow any -AXFR query to be granted. - -A general purpose implementation SHOULD NOT have a default policy -for AXFR requests to be "open to all." For example, a default could -be to restrict transfers to addresses selected by the DNS -administrator(s) for zones on the server. - -6 Zone Integrity - -An AXFR client MUST ensure that only a successfully transferred -copy of the zone data can be used to serve this zone. Previous -description and implementation practice have introduced a two-stage -model of the whole zone synchronization procedure: Upon a trigger -event (e.g., polling of SOA resource record detects change in the -SOA serial number, or via DNS NOTIFY [RFC1996]), the AXFR session -is initiated, whereby the zone data are saved in a zone file or -data base (this latter step is necessary anyway to ensure proper -restart of the server); upon successful completion of the AXFR -operation and some sanity checks, this data set is 'loaded' and -made available for serving the zone in an atomic operation, and -flagged 'valid' for use during the next restart of the DNS server; -if any error is detected, this data set MUST be deleted, and the -AXFR client MUST continue to serve the previous version of the zone, -if it did before. The externally visible behavior of an AXFR client -implementation MUST be equivalent to that of this two-stage model. - -If a server rejects data contained in an AXFR session, the server -SHOULD remember the serial number and MAY attempt to retrieve the -same zone version again. The reason the same retrieval could make -sense is that the reason for the rejection could be rooted in an -implementation detail of one AXFR server used for the zone and not -in another AXFR server used for the zone. - -Ensuring that an AXFR client does not accept a forged copy of a zone is -important to the security of a zone. If a zone operator has the -opportunity, protection can be afforded via dedicated links, physical -or virtual via a VPN among the authoritative servers. But there are -instances in which zone operators have no choice but to run AXFR -sessions over the global public Internet. - -Besides best attempts at securing TCP connections, DNS implementations -SHOULD provide means to make use of "Secret Key Transaction -Authentication for DNS" [RFC2845] and/or "DNS Request and Transaction -Signatures ( SIG(0)s )" [RFC2931] to allow AXFR clients to verify the -contents. These techniques MAY also be used for authorization. - -7 Backwards Compatibility - -Describing backwards compatibility is difficult because of the lack of -specifics in the original definition. In this section some hints at -building in backwards compatibility are given, mostly repeated from the -earlier sections. - -Backwards compatibility is not necessary, but the greater the extent of -an implementation's compatibility the greater it's interoperability. -For turnkey implementations this is not usually a concern. For general -purpose implementations this takes on varying levels of importance -depending on the implementer's desire to maintain interoperability. - -It is unfortunate that a need to fall back to older behavior cannot be -discovered, hence needs to be noted in a configuration file. An -implementation SHOULD, in it's documentation, encourage operators to -periodically review AXFR clients and servers it has made notes about as -old software periodically gets updated. - -7.1 Server - -An AXFR server has the luxury of being able to react to an AXFR -client's abilities with the exception of knowing if the client can -accept multiple resource records per AXFR response message. The -knowledge that a client is so restricted apparently cannot be -discovered, hence it has to be set by configuration. - -An implementation of an AXFR server MAY permit configuring, on a per -AXFR client basis, a need to revert to single resource record per -message; in that case, the default SHOULD be to use multiple records - -7.2 Client - -An AXFR client has the opportunity to try other features (i.e., those -not defined by this document) when querying an AXFR server. - -Attempting to issue multiple DNS queries over a TCP transport for an -AXFR session SHOULD be aborted if it interrupts the original request, -and SHOULD take into consideration whether the AXFR server intends to -close the connection immediately upon completion of the original -(connection-causing) zone transfer. - -8 Security Considerations - -Concerns regarding authorization, traffic flooding, and message -integrity are mentioned in "Authorization" (section 5), "TCP" (section -4.2) and "Zone Integrity" (section 6). - -9 IANA Considerations - -No new registries or new registrations are included in this document. - -10 Internationalization Considerations - -The AXFR protocol is transparent to the parts of DNS zone content that -can possibly be subject to Internationalization considerations. -It is assumed that for DNS labels and domain names, the issue has been -solved via "Internationalizing Domain Names in Applications (IDNA)" -[RFC3490]. - - -11 Acknowledgements - -Earlier editions of this document have been edited by Andreas -Gustafsson. In his latest version, this acknowledgement appeared. - -"Many people have contributed input and commentary to earlier versions -of this document, including but not limited to Bob Halley, Dan -Bernstein, Eric A. Hall, Josh Littlefield, Kevin Darcy, Robert Elz, -Levon Esibov, Mark Andrews, Michael Patton, Peter Koch, Sam Trenholme, -and Brian Wellington." - -Comments since the -05 version have come from these individuals: -Alfred Hoenes, Mark Andrews, Paul Vixie, Wouter Wijngaards, Iain -Calder, Tony Finch, Ian Jackson, Andreas Gustafsson, Brian Wellington, -and other participants of the DNSEXT working group. - -12 References - -All references prefixed by "RFC" can be obtained from the RFC Editor -web site at the URLs: http://rfc-editor.org/rfc.html -or http://rfc-editor.org/rfcsearch.html ; -information regarding this organization can be found at the following -URL: http://rfc-editor.org/ - -12.1 Normative - -[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, - September 1981. -[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August - 1980. -[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", - STD 13, RFC 1034, November 1987. -[RFC1035] Mockapetris, P., "Domain names - implementation and - specification", STD 13, RFC 1035, November 1987. -[RFC1123] Braden, R., "Requirements for Internet Hosts - Application - and Support", STD 3, RFC 1123, October 1989. -[RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, - August 1996. -[RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone - Changes (DNS NOTIFY)", RFC 1996, August 1996. -[RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, - "Dynamic Updates in the Domain Name System (DNS UPDATE)", RFC - 2136, April 1997. -[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS - Specification", RFC 2181, July 1997. -[RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671, - August 1999. -[RFC2672] Crawford, M., "Non-Terminal DNS Name Redirection", RFC 2672, - August 1999. -[RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. - Wellington, "Secret Key Transaction Authentication for DNS - (TSIG)", RFC 2845, May 2000. -[RFC5395] Eastlake 3rd, "Domain Name System (DNS) IANA Considerations", - BCP 42, RFC 5395, November 2008. -[RFC2930] Eastlake 3rd, D., "Secret Key Establishment for DNS (TKEY - RR)", RFC 2930, September 2000. -[RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures - ( SIG(0)s )", RFC 2931, September 2000. -[RFC3425] Lawrence, D., "Obsoleting IQUERY", RFC 3425, November 2002. -[RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record - (RR) Types", RFC 3597, September 2003. -[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. - Rose, "DNS Security Introduction and Requirements", RFC 4033, - March 2005. -[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. - Rose, "Resource Records for the DNS Security Extensions", - RFC 4034, March 2005. -[RFC4509] Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer - (DS) Resource Records (RRs)", RFC 4509, May 2006 -[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS - Security (DNSSEC) Hashed Authenticated Denial of Existence", - RFC 5155, March 2008 -[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. - Rose, "Protocol Modifications for the DNS Security - Extensions", RFC 4035, March 2005. -[RFC4635] Eastlake 3rd, D., "HMAC SHA (Hashed Message Authentication - Code, Secure Hash Algorithm) TSIG Algorithm Identifiers", - RFC 4635, August 2006. -[DNSFLGS] http://www.iana.org/assignments/dns-header-flags -[DNSVALS] http://www.iana.org/assignments/dns-parameters - -12.2 Informative - -[BCP14] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. -[RFC1700] J. Reynolds and J. Postel, "Assigned Numbers", RFC 1700, - October 1994. -[RFC2764] Gleeson, B., Lin, A., Heinanen, J., Armitage, G., and A. - Malis, "A Framework for IP Based Virtual Private Networks", - RFC 2764, February 2000. -[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, - "Internationalizing Domain Names in Applications (IDNA)", RFC - 3490, March 2003. -[DRAFT1] Jansen, J., "Use of SHA-2 algorithms with RSA in DNSKEY and - RRSIG Resource Records for DNSSEC", - draft-ietf-dnsext-dnssec-rsasha256-12, work in progress. -[DRAFT2] Weiler, S., and D. Blacka, "Clarifications and Implementation - Notes for DNSSECbis", - draft-ietf-dnsext-dnssec-bis-updates-08, work in progress. - -13 Editor's Address - -Edward Lewis -46000 Center Oak Plaza -Sterling, VA, 22033, US -+1-571-434-5468 -ed.lewis@neustar.biz diff --git a/doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt b/doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt new file mode 100644 index 00000000..935c709b --- /dev/null +++ b/doc/draft/draft-ietf-dnsext-axfr-clarify-13.txt @@ -0,0 +1,1571 @@ + + + + + +DNS Extensions Working Group Edward Lewis +Internet-Draft NeuStar, Inc. +Updates: 1034, 1035 (if approved) A. Hoenes, Ed. +Intended status: Standards Track TR-Sys +Expires: July 18, 2010 January 18, 2010 + + + DNS Zone Transfer Protocol (AXFR) + draft-ietf-dnsext-axfr-clarify-13 + +Abstract + + The Domain Name System standard mechanisms for maintaining coherent + servers for a zone consist of three elements. One mechanism is the + Authoritative Transfer (AXFR) defined in RFC 1034 and RFC 1035. + The definition of AXFR has proven insufficient in detail, thereby + forcing implementations intended to be compliant to make assumptions, + impeding interoperability. Yet today we have a satisfactory set of + implementations that do interoperate. This document is a new + definition of AXFR -- new in the sense that it records an accurate + definition of an interoperable AXFR mechanism. + +Status of this Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. This document may contain material + from IETF Documents or IETF Contributions published or made publicly + available before November 10, 2008. The person(s) controlling the + copyright in some of this material may not have granted the IETF + Trust the right to allow modifications of such material outside the + IETF Standards Process. Without obtaining an adequate license from + the person(s) controlling the copyright in such materials, this + document may not be modified outside the IETF Standards Process, and + derivative works of it may not be created outside the IETF Standards + Process, except to format it for publication as an RFC or to + translate it into languages other than English. + + Internet-Drafts are working documents of the Internet Engineering + Task Force (IETF), its areas, and its working groups. Note that + other groups may also distribute working documents as Internet- + Drafts. + + Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress". + + The list of current Internet-Drafts can be accessed at + http://www.ietf.org/1id-abstracts.html + + + +Lewis & Hoenes Expires July 18, 2010 [Page 1] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + The list of Internet-Draft Shadow Directories can be accessed at + http://www.ietf.org/shadow.html + + This Internet-Draft will expire on July 18, 2010. + +Copyright Notice + + Copyright (c) 2010 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 2] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 + 1.1. Definition of Terms . . . . . . . . . . . . . . . . . . . 4 + 1.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 1.3. Context . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 1.4. Coverage and Relationship to Original AXFR Specification . 5 + 2. AXFR Messages . . . . . . . . . . . . . . . . . . . . . . . 7 + 2.1. AXFR query . . . . . . . . . . . . . . . . . . . . . . . . 8 + 2.1.1. Header Values . . . . . . . . . . . . . . . . . . . . . 9 + 2.1.2. Question Section . . . . . . . . . . . . . . . . . . . . 10 + 2.1.3. Answer Section . . . . . . . . . . . . . . . . . . . . . 10 + 2.1.4. Authority Section . . . . . . . . . . . . . . . . . . . 10 + 2.1.5. Additional Section . . . . . . . . . . . . . . . . . . . 10 + 2.2. AXFR Response . . . . . . . . . . . . . . . . . . . . . . 11 + 2.2.1. Header Values . . . . . . . . . . . . . . . . . . . . . 12 + 2.2.2. Question Section . . . . . . . . . . . . . . . . . . . . 14 + 2.2.3. Answer Section . . . . . . . . . . . . . . . . . . . . . 14 + 2.2.4. Authority Section . . . . . . . . . . . . . . . . . . . 14 + 2.2.5. Additional Section . . . . . . . . . . . . . . . . . . . 14 + 2.3. TCP Connection Aborts . . . . . . . . . . . . . . . . . . 15 + 3. Zone Contents . . . . . . . . . . . . . . . . . . . . . . . 15 + 3.1. Records to Include . . . . . . . . . . . . . . . . . . . . 15 + 3.2. Delegation Records . . . . . . . . . . . . . . . . . . . . 16 + 3.3. Glue Records . . . . . . . . . . . . . . . . . . . . . . . 18 + 3.4. Name Compression . . . . . . . . . . . . . . . . . . . . . 18 + 3.5. Occluded Names . . . . . . . . . . . . . . . . . . . . . . 19 + 4. Transport . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 4.1. TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 + 4.1.1. AXFR client TCP . . . . . . . . . . . . . . . . . . . . 20 + 4.1.2. AXFR server TCP . . . . . . . . . . . . . . . . . . . . 21 + 4.2. UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + 5. Authorization . . . . . . . . . . . . . . . . . . . . . . . 22 + 6. Zone Integrity . . . . . . . . . . . . . . . . . . . . . . . 23 + 7. Backwards Compatibility . . . . . . . . . . . . . . . . . . 24 + 7.1. Server . . . . . . . . . . .. . . . . . . . . . . . . . . 24 + 7.2. Client . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 8. Security Considerations . . . . . . . . . . . . . . . . . . 25 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 25 + 10. Internationalization Considerations . . . . . . . . . . . . 25 + 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 25 + 12. References . . . . . . . . . . . . . . . . . . . . . . . . 25 + 12.1. Normative References . .. . . . . . . . . . . . . . . . 26 + 12.2. Informative References . . . . . . . . . . . . . . . . . 27 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 3] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +1. Introduction + + The Domain Name System standard facilities for maintaining coherent + servers for a zone consist of three elements. Authoritative Transfer + (AXFR) is defined in "Domain Names - Concepts and Facilities" + [RFC1034] (referred to in this document as RFC 1034) and "Domain + Names - Implementation and Specification" [RFC1035] (henceforth + RFC 1035). Incremental Zone Transfer (IXFR) is defined in + "Incremental Zone Transfer in DNS" [RFC1995]. A mechanism for prompt + notification of zone changes (NOTIFY) is defined in "A Mechanism for + Prompt Notification of Zone Changes (DNS NOTIFY)" [RFC1996]. The + goal of these mechanisms is to enable a set of DNS name servers to + remain coherently authoritative for a given zone. + + This document re-specifies the AXFR mechanism as it is deployed in + the Internet at large, hopefully with the precision expected from + modern Internet Standards, and thereby updates RFC 1034 and RFC 1035. + +1.1. Definition of Terms + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in "Key words for use in + RFCs to Indicate Requirement Levels" [BCP14]. + + Use of "newer"/"new" and "older"/"old" DNS refers to implementations + written after and prior to the publication of this document. + + "General purpose DNS implementation" refers to DNS software developed + for widespread use. This includes resolvers and servers freely + accessible as libraries and standalone processes. This also includes + proprietary implementations used only in support of DNS service + offerings. + + "Turnkey DNS implementation" refers to custom made, single use + implementations of DNS. Such implementations consist of software + that employs the DNS protocol message format yet does not conform to + the entire range of DNS functionality. + + The terms "AXFR session", "AXFR server" and "AXFR client" will be + introduced in the first paragraph of Section 2, after some more + context has been established. + +1.2. Scope + + In general terms, authoritative name servers for a given zone can use + various means to achieve coherency of the zone contents they serve. + For example, there are DNS implementations that assemble answers from + data stored in relational databases (as opposed to master files), + + +Lewis & Hoenes Expires July 18, 2010 [Page 4] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + relying on the database's non-DNS means to synchronize the database + instances. Some of these non-DNS solutions interoperate in some + fashion. However, AXFR, IXFR, and NOTIFY are the only protocol- + defined in-band mechanisms to provide coherence of a set of name + servers, and they are the only mechanisms specified by the IETF. + + This document does not cover incoherent DNS situations. There are + applications of the DNS in which servers for a zone are designed to + be incoherent. For these configurations, a coherency mechanism as + described here would be unsuitable. + + A DNS implementation is not required to support AXFR, IXFR, and + NOTIFY, but it should have some means for maintaining name server + coherency. A general purpose DNS implementation will likely support + AXFR (and in the same vein IXFR and NOTIFY), but turnkey DNS + implementations may exist without AXFR. + +1.3. Context + + Besides describing the mechanisms themselves, there is the context in + which they operate to consider. In the initial specifications of + AXFR (and IXFR and NOTIFY), little consideration was given to + security and privacy issues. Since the original definition of AXFR, + new opinions have appeared on the access to an entire zone's + contents. In this document, the basic mechanisms will be discussed + separately from the permission to use these mechanisms. + +1.4. Coverage and Relationship to Original AXFR Specification + + This document concentrates on just the definition of AXFR. Any + effort to update the specification of the IXFR or NOTIFY mechanisms + is left to different documents. + + The original "specification" of the AXFR sub-protocol is scattered + through RFC 1034 and RFC 1035. Section 2.2 of RFC 1035 (on page 5) + depicts the scenario for which AXFR has been designed. Section 4.3.5 + of RFC 1034 describes the zone synchronization strategies in general + and rules for the invocation of a full zone transfer via AXFR; the + fifth paragraph of that section contains a very short sketch of the + AXFR protocol; Section 5.5 of RFC 2181 has corrected a significant + flaw in that specification. Section 3.2.3 of RFC 1035 has assigned + the code point for the AXFR QTYPE (see Section 2.1.2 below for more + details). Section 4.2 of RFC 1035 discusses how the DNS uses the + transport layer and briefly explains why UDP transport is deemed + inappropriate for AXFR; the last paragraph of Section 4.2.2 gives + details regarding TCP connection management for AXFR. Finally, the + second paragraph of Section 6.3 in RFC 1035 mandates server behavior + when zone data changes occur during an ongoing zone transfer using + AXFR. + + +Lewis & Hoenes Expires July 18, 2010 [Page 5] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + This document will update the specification of AXFR. To this end, it + fully specifies the record formats and processing rules for AXFR, + largely expanding on paragraph 5 of Section 4.3.5 of RFC 1034, and it + details the transport considerations for AXFR, thus amending Section + 4.2.2 of RFC 1035. Furthermore, it discusses backward compatibility + issues and provides policy/management considerations as well as + specific Security Considerations for AXFR. The goal of this document + is to define AXFR as it exists, or is supposed to exist, currently. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 6] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +2. AXFR Messages + + An AXFR session consists of an AXFR query message and the sequence of + AXFR response messages returned for it. In this document, the AXFR + client is the sender of the AXFR query and the AXFR server is the + responder. (Use of terms such as master, slave, primary, secondary + are not important for defining AXFR.) The use of the word "session" + without qualification refers to an AXFR session. + + An important aspect to keep in mind is that the definition of AXFR is + restricted to TCP [RFC0793] (see Section 4 for details). The design + of the AXFR process has certain inherent features that are not easily + ported to UDP [RFC0768]. + + The basic format of an AXFR message is the DNS message as defined in + Section 4 ("MESSAGES") of RFC 1035 [RFC1035], updated by the + following documents. + + o The 'Basic' DNS specification: + + - "A Mechanism for Prompt Notification of Zone Changes (DNS Notify)" + [RFC1996] + - "Dynamic Updates in the Domain Name System (DNS UPDATE)" [RFC2136] + - "Clarifications to the DNS Specification" [RFC2181] + - "Extension Mechanisms for DNS (EDNS0)" [RFC2671] + - "Secret Key Transaction Authentication for DNS (TSIG)" [RFC2845] + - "Secret Key Establishment for DNS (TKEY RR)" [RFC2930] + - "Obsoleting IQUERY" [RFC3425] + - "Handling of Unknown DNS Resource Record (RR) Types" [RFC3597] + - "HMAC SHA TSIG Algorithm Identifiers" [RFC4635] + - "Domain Name System (DNS) IANA Considerations" [RFC5395] + + o Further additions related to the DNS Security Extensions (DNSSEC), + defined in these base documents: + + - "DNS Security Introduction and Requirements" [RFC4033] + - "Resource Records for the DNS Security Extensions" [RFC4034] + - "Protocol Modifications for the DNS Security Extensions" [RFC4035] + - "Use of SHA-256 in DNSSEC Delegation Signer RRs" [RFC4509] + - "DNS Security Hashed Authenticated Denial of Existence" [RFC5155] + - "Use of SHA-2 algorithms with RSA in DNSKEY and RRSIG Resource + Records for DNSSEC" [RFC5702] + - "Clarifications and Implementation Notes for DNSSECbis" [DNSSEC-U] + + These documents contain information about the syntax and semantics of + DNS messages. They ought not interfere with AXFR but are also + helpful in understanding what will be carried via AXFR. + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 7] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + For convenience, the synopsis of the DNS message header from + [RFC5395] (and the IANA registry for DNS Parameters [DNSVALS]) is + reproduced here informally: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | ID | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + |QR| OpCode |AA|TC|RD|RA| Z|AD|CD| RCODE | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | QDCOUNT/ZOCOUNT | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | ANCOUNT/PRCOUNT | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | NSCOUNT/UPCOUNT | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + | ARCOUNT | + +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + + This document makes use of the field names as they appear in this + diagram. The names of sections in the body of DNS messages are + capitalized in this document for clarity, e.g., "Additional section". + + The DNS message size limit from [RFC1035] for DNS over UDP (and its + extension via the EDNS0 mechanism specified in [RFC2671]) is not + relevant for AXFR, as explained in Section 4. The upper limit on the + permissible size of a DNS message over TCP is only restricted by the + TCP framing defined in Section 4.2.2 of RFC 1035, which specifies a + two-octet message length field, understood to be unsigned, and thus + causing a limit of 65535 octets. This limit is not changed by EDNS0. + + Note that the TC (truncation) bit is never set by an AXFR server nor + considered/read by an AXFR client. + +2.1. AXFR query + + An AXFR query is sent by a client whenever there is a reason to ask. + This might be because of scheduled or triggered zone maintenance + activities (see Section 4.3.5 of RFC 1034 and DNS NOTIFY [RFC1996], + respectively) or as a result of a command line request, say for + debugging. + + + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 8] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +2.1.1. Header Values + + These are the DNS message header values for an AXFR query. + + ID Selected by client; see Note a) + + QR MUST be 0 (Query) + + OPCODE MUST be 0 (Standard Query) + + Flags: + AA 'n/a' -- see Note b) + TC 'n/a' -- see Note b) + RD 'n/a' -- see Note b) + RA 'n/a' -- see Note b) + Z 'mbz' -- see Note c) + AD 'n/a' -- see Note b) + CD 'n/a' -- see Note b) + + RCODE MUST be 0 (No error) + + QDCOUNT Number of entries in Question section; MUST be 1 + + ANCOUNT Number of entries in Answer section; MUST be 0 + + NSCOUNT Number of entries in Authority section; MUST be 0 + + ARCOUNT Number of entries in Additional section -- see Note d) + + Notes: + + a) Set to any value that the client is not already using with the + same server. There is no specific means for selecting the value + in this field. (Recall that AXFR is done only via TCP connections + -- see Section 4 "Transport".) + + A server MUST reply using messages that use the same message ID to + allow a client to have multiple queries outstanding concurrently + over the same TCP connection -- see Note a) in Section 2.2.1 for + more details. + + b) 'n/a' -- The value in this field has no meaning in the context of + AXFR query messages. For the client, it is RECOMMENDED that the + value be zero. The server MUST ignore this value. + + c) 'mbz' -- The client MUST set this bit to 0, the server MUST ignore + it. + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 9] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + d) The client MUST set this field to the number of resource records + it places into the Additional section. In the absense of explicit + specification of new RRs to be carried in the Additional section + of AXFR queries, the value MAY be 0, 1 or 2. See Section 2.1.5 + "Additional Section" for details on the currently applicable RRs. + +2.1.2. Question Section + + The Question Section of the AXFR query MUST conform to Section 4.1.2 + of RFC 1035, and contain a single resource record with the following + values: + + QNAME the name of the zone requested + + QTYPE AXFR (= 252), the pseudo-RR type for zone transfer + [DNSVALS] + + QCLASS the class of the zone requested [DNSVALS] + +2.1.3. Answer Section + + The Answer section MUST be empty. + +2.1.4. Authority Section + + The Authority section MUST be empty. + +2.1.5. Additional Section + + Currently, two kinds of resource records are defined that can appear + in the Additional section of AXFR queries and responses: EDNS and DNS + transaction security. Future specifications defining RRs that can be + carried in the Additional section of normal DNS transactions need to + explicitly describe their use with AXFR, should that be desired. + + The client MAY include one EDNS0 OPT [RFC2671] resource record. If + the server does not support EDNS0, the client MUST send this section + without an EDNS0 OPT resource record if there is a retry. However, + the protocol does not define an explicit indication that the server + does not support EDNS0; that needs to be inferred by the client. + Often, the server will return a FormErr(1) which might be related to + the OPT resource record. Note that, at the time of this writing, + only the EXTENDED-RCODE field of the EDNS0 OPT RR is meaningful in + the context of AXFR; future specifications of EDNS0 flags and/or + EDNS0 options must describe their usage in the context of AXFR, if + applicable. + + The client MAY include one transaction integrity and authentication + resource record, currently a choice of TSIG [RFC2845] or SIG(0) + + +Lewis & Hoenes Expires July 18, 2010 [Page 10] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + [RFC2931]. If the server has indicated that it does not recognize + the resource record, and that the error is indeed caused by the + resource record, the client probably should not try again. Removing + the security data in the face of an obstacle ought to only be done + with full awareness of the implication of doing so. + + In general, if an AXFR client is aware that an AXFR server does not + support a particular mechanism, the client SHOULD NOT attempt to + engage the server using the mechanism (or at all). A client could + become aware of a server's abilities via a configuration setting or + via some other (as yet) undefined means. + + The range of permissible resource records that MAY appear in the + Additional section might change over time. If either a change to an + existing resource record (like the OPT RR for EDNS0) is made or a new + Additional section record is created, the new definitions ought to + include a discussion on the applicability and impact upon AXFR. + Future resource records residing in the Additional section might have + an effect that is orthogonal to AXFR, so can ride through the session + as opaque data. In this case, a "wise" implementation ought to be + able to pass these records through without disruption. + +2.2. AXFR Response + + The AXFR response will consist of one or more messages. The special + case of a server closing the TCP connection without sending an AXFR + response is covered in section 2.3. + + An AXFR response that is transferring the zone's contents will + consist of a series (which could be a series of length 1) of DNS + messages. In such a series, the first message MUST begin with the + SOA resource record of the zone, the last message MUST conclude with + the same SOA resource record. Intermediate messages MUST NOT contain + the SOA resource record. The AXFR server MUST copy the Question + section from the corresponding AXFR query message into the first + response message's Question section. For subsequent messages, it MAY + do the same or leave the Question section empty. + + The AXFR protocol treats the zone contents as an unordered collection + (or to use the mathematical term, a "set") of RRs. Except for the + requirement that the transfer must begin and end with the SOA RR, + there is no requirement to send the RRs in any particular order or + grouped into response messages in any particular way. Although + servers typically do attempt to send related RRs (such as the RRs + forming an RRset, and the RRsets of a name) as a contiguous group or, + when message space allows, in the same response message, they are not + required to do so, and clients MUST accept any ordering and grouping + of the non-SOA RRs. Each RR SHOULD be transmitted only once, and + AXFR clients MUST ignore any duplicate RRs received. + + +Lewis & Hoenes Expires July 18, 2010 [Page 11] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + Each AXFR response message SHOULD contain a sufficient number of RRs + to reasonably amortize the per-message overhead, up to the largest + number that will fit within a DNS message (taking the required + content of the other sections into account, as described below). + Some old AXFR clients expect each response message to contain only a + single RR. To interoperate with such clients, the server MAY + restrict response messages to a single RR. As there is no standard + way to automatically detect such clients, this typically requires + manual configuration at the server. + + To indicate an error in an AXFR response, the AXFR server sends a + single DNS message when the error condition is detected, with the + response code set to the appropriate value for the condition + encountered, Such a message terminates the AXFR session; it MUST + contain a copy of the Question section from the AXFR query in its + Question section, but the inclusion of the terminating SOA resource + record is not necessary. + + An AXFR server may send a number of AXFR response messages free of an + error condition before it sends the message indicating an error. + +2.2.1. Header Values + + These are the DNS message header values for AXFR responses. + + ID MUST be copied from request -- see Note a) + + QR MUST be 1 (Response) + + OPCODE MUST be 0 (Standard Query) + + Flags: + AA normally 1 -- see Note b) + TC MUST be 0 (Not truncated) + RD RECOMMENDED: copy request's value, MAY be set to 0 + RA SHOULD be 0 -- see Note c) + Z 'mbz' -- see Note d) + AD 'mbz' -- see Note d) + CD 'mbz' -- see Note d) + + RCODE See Note e) + + QDCOUNT MUST be 1 in the first message; + MUST be 0 or 1 in all following messages; + MUST be 1 if RCODE indicates an error + + ANCOUNT See Note f) + + NSCOUNT MUST be 0 + + +Lewis & Hoenes Expires July 18, 2010 [Page 12] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + ARCOUNT See Note g) + + Notes: + + a) Because some old implementations behave differently than is now + desired, the requirement on this field is stated in detail. New + DNS servers MUST set this field to the value of the AXFR query ID + in each AXFR response message for the session. AXFR clients MUST + be able to manage sessions resulting from the issuance of multiple + outstanding queries, whether AXFR queries or other DNS queries. + A client SHOULD discard responses that do not correspond (via the + message ID) to any outstanding queries. + + Unless the client is sure that the server will consistently set + the ID field to the query's ID, the client is NOT RECOMMENDED to + issue any other queries until the end of the zone transfer. + A client MAY become aware of a server's abilities via a + configuration setting. + + b) If the RCODE is 0 (no error), then the AA bit MUST be 1. + For any other value of RCODE, the AA bit MUST be set according to + the rules for that error code. If in doubt, it is RECOMMENDED + that it be set to 1. It is RECOMMENDED that the value be ignored + by the AXFR client. + + c) It is RECOMMENDED that the server set the value to 0, the client + MUST ignore this value. + + The server MAY set this value according to the local policy + regarding recursive service, but doing so might confuse the + interpretation of the response as AXFR can not be retrieved + recursively. A client MAY note the server's policy regarding + recursive service from this value, but SHOULD NOT conclude that + the AXFR response was obtained recursively even if the RD bit was + 1 in the query. + + d) 'mbz' -- The server MUST set this bit to 0, the client MUST ignore + it. + + e) In the absence of an error, the server MUST set the value of this + field to NoError(0). If a server is not authoritative for the + queried zone, the server SHOULD set the value to NotAuth(9). + (Reminder, consult the appropriate IANA registry [DNSVALS].) If a + client receives any other value in response, it MUST act according + to the error. For example, a malformed AXFR query or the presence + of an EDNS0 OPT resource record sent to an old server will result + in a FormErr(1) value. This value is not set as part of the AXFR- + specific response processing. The same is true for other values + indicating an error. + + +Lewis & Hoenes Expires July 18, 2010 [Page 13] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + f) The count of answer records MUST equal the number of resource + records in the AXFR Answer Section. When a server is aware that a + client will only accept response messages with a single resource + record, then the value MUST be 1. A server MAY be made aware of a + client's limitations via configuration data. + + g) The server MUST set this field to the number of resource records + it places into the Additional section. In the absense of explicit + specification of new RRs to be carried in the Additional section + of AXFR response messages, the value MAY be 0, 1 or 2. See + Section 2.1.5 above for details on the currently applicable RRs + and Section 2.2.5 for additional considerations specific to AXFR + servers. + +2.2.2. Question Section + + In the first response message, this section MUST be copied from the + query. In subsequent messages, this section MAY be copied from the + query or it MAY be empty. However, in an error response message (see + Section 2.2), this section MUST be copied as well. The content of + this section MAY be used to determine the context of the message, + that is, the name of the zone being transferred. + +2.2.3. Answer Section + + The Answer section MUST be populated with the zone contents. See + Section 3 below on encoding zone contents. + +2.2.4. Authority Section + + The Authority section MUST be empty. + +2.2.5. Additional Section + + The contents of this section MUST follow the guidelines for EDNS0 and + TSIG, SIG(0), or whatever other future record is possible here. The + contents of Section 2.1.5 apply analogously as well. + + The following considerations specifically apply to AXFR responses: + + If the client has supplied an EDNS0 OPT RR in the AXFR query and if + the server supports ENDS0 as well, it SHOULD include one EDNS0 OPT RR + in the first response message and MAY do so in subsequent response + messages (see Section 2.2); the specifications of EDNS0 options to be + carried in the OPT RR may impose stronger requirements. + + If the client has supplied a transaction security resource record + (currently a choice of TSIG and SIG(0)) and the server supports the + method chosen by the client, it MUST place the corresponding resource + + +Lewis & Hoenes Expires July 18, 2010 [Page 14] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + record into the AXFR response message(s), according to the rules + specified for that method. + +2.3. TCP Connection Aborts + + If an AXFR client sends a query on a TCP connection and the + connection is closed at any point, the AXFR client MUST consider the + AXFR session terminated. The message ID MAY be used again on a new + connection, even if the question and AXFR server are the same. + + Facing a dropped connection, a client SHOULD try to make some + determination as to whether the connection closure was the result of + network activity or due to a decision by the AXFR server. This + determination is not an exact science. It is up to the AXFR client + to react, but the implemented reaction SHOULD NOT be either an + endless cycle of retries or an increasing (in frequency) retry rate. + + An AXFR server implementor should take into consideration the dilemma + described above when a connection is closed with an outstanding query + in the pipeline. For this reason, a server ought to reserve this + course of action for situations in which it believes beyond a doubt + that the AXFR client is attempting abusive behavior. + + +3. Zone Contents + + The objective of the AXFR session is to request and transfer the + contents of a zone, in order to permit the AXFR client to faithfully + reconstruct the zone as it exists at the primary server for the given + zone serial number. The word "exists" here designates the externally + visible behavior, i.e., the zone content that is being served (handed + out to clients) -- not its persistent representation in a zone file + or database used by the server -- and that for consistency should be + served subsequently by the AXFR client in an identical manner. + + Over time the definition of a zone has evolved from denoting a static + set of records to also cover a dynamically updated set of records, + and then a potentially continually regenerated set of records (e.g., + RRs synthesized "on the fly" from rule sets or database lookup + results in other forms than RR format) as well. + +3.1. Records to Include + + In the Answer section of AXFR response messages, the resource records + within a zone for the given serial number MUST appear. The + definition of what belongs in a zone is described in RFC 1034, + Section 4.2, "How the database is divided into zones" (in particular + Section 4.2.1, "Technical considerations"), and it has been clarified + in Section 6 of RFC 2181. + + +Lewis & Hoenes Expires July 18, 2010 [Page 15] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + Zones for which it is impractical to list the entire zone for a + serial number are not suitable for AXFR retrieval. A typical (but + not limiting) description of such a zone is a zone consisting of + responses generated via other database lookups and/or computed based + upon ever changing data. + +3.2. Delegation Records + + In Section 4.2.1 of RFC 1034, this text appears (keep in mind that + the "should" in the quotation predates [BCP14], cf. Section 1.1): + + "The RRs that describe cuts ... should be exactly the same as the + corresponding RRs in the top node of the subzone." + + There has been some controversy over this statement and the impact on + which NS resource records are included in a zone transfer. + + The phrase "that describe cuts" is a reference to the NS set and + applicable glue records. It does not mean that the cut point and + apex resource records are identical. For example, the SOA resource + record is only found at the apex. The discussion here is restricted + to just the NS resource record set and glue as these "describe cuts". + + DNSSEC resource records have special specifications regarding their + occurrence at a zone cut and the apex of a zone. This was first + described in Sections 5.3 ff. and 6.2 of RFC 2181 (for the initial + specification of DNSSEC), which parts of RFC 2181 now in fact are + historical. The current DNSSEC core document set (see second bullet + in Section 2 above) gives the full details for DNSSEC(bis) resource + record placement, and Section 3.1.5 of RFC 4035 normatively specifies + their treatment during AXFR; the alternate NSEC3 resource record + defined later in RFC 5155 behaves identically as the NSEC RR, for the + purpose of AXFR. + Informally: + + o The DS RRSet only occurs at the parental side of a zone cut and is + authoritative data in the parent zone, not the secure child zone. + + o The DNSKEY RRSet only occurs at the APEX of a signed zone and is + part of the authoritative data of the zone it serves. + + o Independent RRSIG RRSets occur at the signed parent side of a zone + cut and at the apex of a signed zone; they are authoritative data + in the respective zone; simple queries for RRSIG resource records + may return both RRSets at once if the same server is authoritative + for the parent zone and the child zone (Section 3.1.5 of RFC 4035 + describes how to distinguish these RRs); this seeming ambiguity + does not occur for AXFR, since each such RRSIG RRset belongs to a + single zone. + + +Lewis & Hoenes Expires July 18, 2010 [Page 16] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + o Different NSEC [RFC4034] (or NSEC3 [RFC5155]) resource records + equally may occur at the parental side of a zone cut and at the + apex of a zone; each such resource record belongs to exactly one + of these zones and is to be included in the AXFR of that zone. + + One issue is that in operations there are times when the NS resource + records for a zone might be different at a cut point in the parent + and at the apex of a zone. Sometimes this is the result of an error + and sometimes it is part of an ongoing change in name servers. The + DNS protocol is robust enough to overcome inconsistencies up to (but + not including) there being no parent-indicated NS resource record + referencing a server that is able to serve the child zone. This + robustness is one quality that has fueled the success of the DNS. + Still, the inconsistency is an error state and steps need to be taken + to make it apparent (if it is unplanned) and to make it clear once + the inconsistency has been removed. + + Another issue is that the AXFR server could be authoritative for a + different set of zones than the AXFR client. It is possible that the + AXFR server be authoritative for both halves of an inconsistent cut + point and that the AXFR client is authoritative for just the parent + side of the cut point. + + When facing a situation in which a cut point's NS resource records do + not match the authoritative set, the question arises whether an AXFR + server responds with the NS resource record set that is in the zone + being transferred or the one that is at the authoritative location. + + The AXFR response MUST contain the cut point NS resource record set + registered with the zone whether it agrees with the authoritative set + or not. "Registered with" can be widely interpreted to include data + residing in the zone file of the zone for the particular serial + number (in zone file environments) or as any data configured to be in + the zone (database), statically or dynamically. + + The reasons for this requirement are: + + 1) The AXFR server might not be able to determine that there is an + inconsistency given local data, hence requiring consistency would + mean a lot more needed work and even network retrieval of data. An + authoritative server ought not be required to perform any queries. + + 2) By transferring the inconsistent NS resource records from a server + that is authoritative for both the cut point and the apex to a client + that is not authoritative for both, the error is exposed. For + example, an authorized administrator can manually request the AXFR + and inspect the results to see the inconsistent records. (A server + authoritative for both halves would otherwise always answer from the + more authoritative set, concealing the error.) + + +Lewis & Hoenes Expires July 18, 2010 [Page 17] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + 3) The inconsistent NS resource record set might indicate a problem + in a registration database. + + 4) This requirement is necessary to ensure that retrieving a given + (zone,serial) pair by AXFR yields the exact same set of resource + records no matter which of the zone's authoritative servers is chosen + as the source of the transfer. + + If an AXFR server were allowed to respond with the authoritative NS + RRset of a child zone instead of a parent-side NS RRset in the zone + being transferred, the set of records returned could vary depending + on whether or not the server happened to be authoritative for the + child zone as well. + + The property that a given (zone,serial) pair corresponds to a single, + well-defined set of records is necessary for the correct operation of + incremental transfer protocols such as IXFR [RFC1995]. For example, + a client may retrieve a zone by AXFR from one server, and then apply + an incremental change obtained by IXFR from a different server. If + the two servers have different ideas of the zone contents, the client + can end up attempting to incrementally add records that already exist + or to delete records that do not exist. + +3.3. Glue Records + + As quoted in the previous section, Section 4.2.1 of RFC 1034 provides + guidance and rationale for the inclusion of glue records as part of + an AXFR transfer. And, as also argued in the previous section of + this document, even when there is an inconsistency between the + address in a glue record and the authoritative copy of the name + server's address, the glue resource record that is registered as part + of the zone for that serial number is to be included. + + This applies to glue records for any address family [IANA-AF]. + + The AXFR response MUST contain the appropriate glue records as + registered with the zone. The interpretation of "registered with" in + the previous section applies here. Inconsistent glue records are an + operational matter. + +3.4. Name Compression + + Compression of names in DNS messages is described in RFC 1035, + Section 4.1.4, "Message compression". The issue highlighted here + relates to a comment made in RFC 1034, Section 3.1, "Name space + specifications and terminology" which says "When you receive a domain + name or label, you should preserve its case." ("Should" in the quote + predates [BCP14].) + + + +Lewis & Hoenes Expires July 18, 2010 [Page 18] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + Since the primary objective of AXFR is to enable the client to serve + the same zone content as the server, unlike such normal DNS responses + that are expected to preserve the case in the query, the actual zone + transfer needs to retain the case of the labels in the zone content. + Hence, name compression in an AXFR message SHOULD be performed in a + case-preserving manner, unlike how it is done for 'normal' DNS + responses. That is, although when comparing a domain name for + matching, "a" equals "A", when comparing for the purposes of message + compression for AXFR, "a" is not equal to "A". Note that this is not + the usual definition of name comparison in the DNS protocol and + represents a new understanding of the requirement on AXFR servers. + + Rules governing name compression of RDATA in an AXFR message MUST + abide by the specification in "Handling of Unknown DNS Resource + Record (RR) Types" [RFC3597], specifically, Section 4 on "Domain Name + Compression". + +3.5. Occluded Names + + Dynamic Update [RFC2136] operations, and in particular its + interaction with DNAME [RFC2672], can have a side effect of occluding + names in a zone. The addition of a delegation point via dynamic + update will render all subordinate domain names to be in a limbo, + still part of the zone but not available to the lookup process. The + addition of a DNAME resource record has the same impact. The + subordinate names are said to be "occluded". + + Occluded names MUST be included in AXFR responses. An AXFR client + MUST be able to identify and handle occluded names. The rationale + for this action is based on a speedy recovery if the dynamic update + operation was in error and is to be undone. + + +4. Transport + + AXFR sessions are currently restricted to TCP by Section 4.3.5 of RFC + 1034 that states: "Because accuracy is essential, TCP or some other + reliable protocol must be used for AXFR requests." The restriction + to TCP is also mentioned in Section 6.1.3.2. of "Requirements for + Internet Hosts - Application and Support" [RFC1123]. + + The most common scenario is for an AXFR client to open a TCP + connection to the AXFR server, send an AXFR query, receive the AXFR + response, and then close the connection. But variations of that most + simple scenario are legitimate and likely: in particular, sending a + query for the zone's SOA resource record first over the same TCP + connection, and reusing an existing TCP connection for other queries. + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 19] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + Therefore, the assumption that a TCP connection is dedicated to a + single AXFR session is incorrect. This wrong assumption has led to + implementation choices that prevent either multiple concurrent zone + transfers or the use of an open connection for other queries. + + Since the early days of the DNS, operators who have sets of name + servers that are authoritative for a common set of zones found it + desirable to be able to have multiple concurrent zone transfers in + progress; this way a name server does not have to wait for one zone + transfer to complete before the next can begin. RFC 1035 did not + exclude this possibility, but legacy implementations failed to + support this functionality efficiently, over a single TCP connection. + The remaining presence of such legacy implementations makes it + necessary that new general purpose client implementations still + provide options for graceful fallback to the old behavior in their + support of concurrent DNS transactions and AXFR sessions on a single + TCP connection. + +4.1. TCP + + In the original definition there arguably is an implicit assumption + (probably unintentional) that a TCP connection is used for one and + only one AXFR session. This is evidenced in the lack of an explicit + requirement to copy the Question Section and/or the message ID into + responses, no explicit ordering information within the AXFR response + messages, and the lack of an explicit notice indicating that a zone + transfer continues in the next message. + + The guidance given below is intended to enable better performance of + the AXFR exchange as well as provide guidelines on interactions with + older software. Better performance includes being able to multiplex + DNS message exchanges including zone transfer sessions. Guidelines + for interacting with older software are generally applicable to new + AXFR clients. In the reverse situation, older AXFR client and newer + AXFR server, the server ought to operate within the specification for + an older server. + +4.1.1. AXFR client TCP + + An AXFR client MAY request a connection to an AXFR server for any + reason. An AXFR client SHOULD close the connection when there is no + apparent need to use the connection for some time period. The AXFR + server ought not have to maintain idle connections; the burden of + connection closure ought to be on the client. "Apparent need" for + the connection is a judgment for the AXFR client and the DNS client. + If the connection is used for multiple sessions, or if it is known + sessions will be coming, or if there is other query/response traffic + anticipated or currently on the open connection, then there is + "apparent need". + + +Lewis & Hoenes Expires July 18, 2010 [Page 20] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + An AXFR client can cancel the delivery of a zone only by closing the + connection. However, this action will also cancel all other + outstanding activity using the connection. There is no other + mechanism by which an AXFR response can be cancelled. + + When a TCP connection is closed remotely (relative to the client), + whether by the AXFR server or due to a network event, the AXFR client + MUST cancel all outstanding sessions and non-AXFR transactions. + Recovery from this situation is not straightforward. If the + disruption was a spurious event, attempting to restart the connection + would be proper. If the disruption was caused by a failure that + proved to be persistent, the AXFR client would be wise not to spend + too many resources trying to rebuild the connection. Finally, if the + connection was dropped because of a policy at the AXFR server (as can + be the case with older AXFR servers), the AXFR client would be wise + not to retry the connection. Unfortunately, knowing which of the + three cases above (momentary disruption, failure, policy) applies is + not possible with certainty, and can only be assessed by heuristics. + This exemplifies the general complications for clients in connection- + oriented protocols not receiving meaningful error responses. + + An AXFR client MAY use an already opened TCP connection to start an + AXFR session. Using an existing open connection is RECOMMENDED over + opening a new connection. (Non-AXFR session traffic can also use an + open connection.) If in doing so the AXFR client realizes that the + responses cannot be properly differentiated (lack of matching query + IDs for example) or the connection is terminated for a remote reason, + then the AXFR client SHOULD NOT attempt to reuse an open connection + with the specific AXFR server until the AXFR server is updated (which + is, of course, not an event captured in the DNS protocol). + +4.1.2. AXFR server TCP + + An AXFR server MUST be able to handle multiple AXFR sessions on a + single TCP connection, as well as to handle other query/response + transactions over it. + + If a TCP connection is closed remotely, the AXFR server MUST cancel + all AXFR sessions in place. No retry activity is necessary; that is + initiated by the AXFR client. + + Local policy MAY dictate that a TCP connection is to be closed. Such + an action SHOULD be in reaction to limits such as those placed on the + number of outstanding open connections. Closing a connection in + response to a suspected security event SHOULD be done only in extreme + cases, when the server is certain the action is warranted. An + isolated request for a zone not on the AXFR server SHOULD receive a + response with the appropriate response code and not see the + connection broken. + + +Lewis & Hoenes Expires July 18, 2010 [Page 21] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +4.2. UDP + + With the addition of EDNS0 and applications which require many small + zones such as in web hosting and some ENUM scenarios, AXFR sessions + on UDP would now seem desirable. However, there are still some + aspects of AXFR sessions that are not easily translated to UDP. + + Therefore, this document does not update RFC 1035 in this respect: + AXFR sessions over UDP transport are not defined. + + +5. Authorization + + A zone administrator has the option to restrict AXFR access to a + zone. This was not envisioned in the original design of the DNS but + has emerged as a requirement as the DNS has evolved. Restrictions on + AXFR could be for various reasons including a desire (or in some + instances, having a legal requirement) to keep the bulk version of + the zone concealed or to prevent the servers from handling the load + incurred in serving AXFR. It has been argued that these reasons are + questionable, but this document, driven by the desire to leverage the + interoperable practice that has evolved since RFC 1035, acknowledges + the factual requirement to provide mechanisms to restrict AXFR. + + A DNS implementation SHOULD provide means to restrict AXFR sessions + to specific clients. + + An implementation SHOULD allow access to be granted to Internet + Protocol addresses and ranges, regardless of whether a source address + could be spoofed. Combining this with techniques such as Virtual + Private Networks (VPN) [RFC2764] or Virtual LANs has proven to be + effective. + + A general purpose implementation is RECOMMENDED to implement access + controls based upon "Secret Key Transaction Authentication for DNS" + [RFC2845] and/or "DNS Request and Transaction Signatures ( SIG(0)s )" + [RFC2931]. + + A general purpose implementation SHOULD allow access to be open to + all AXFR requests. I.e., an operator ought to be able to allow any + AXFR query to be granted. + + A general purpose implementation SHOULD NOT have a default policy for + AXFR requests to be "open to all". For example, a default could be + to restrict transfers to addresses selected by the DNS + administrator(s) for zones on the server. + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 22] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +6. Zone Integrity + + An AXFR client MUST ensure that only a successfully transferred copy + of the zone data can be used to serve this zone. Previous + description and implementation practice have introduced a two-stage + model of the whole zone synchronization procedure: Upon a trigger + event (e.g., polling of a SOA resource record detects change in the + SOA serial number, or via DNS NOTIFY [RFC1996]), the AXFR session is + initiated, whereby the zone data are saved in a zone file or data + base (this latter step is necessary anyway to ensure proper restart + of the server); upon successful completion of the AXFR operation and + some sanity checks, this data set is 'loaded' and made available for + serving the zone in an atomic operation, and flagged 'valid' for use + during the next restart of the DNS server; if any error is detected, + this data set MUST be deleted, and the AXFR client MUST continue to + serve the previous version of the zone, if it did before. The + externally visible behavior of an AXFR client implementation MUST be + equivalent to that of this two-stage model. + + If an AXFR client rejects data contained in an AXFR session, it + SHOULD remember the serial number and MAY attempt to retrieve the + same zone version again. The reason the same retrieval could make + sense is that the reason for the rejection could be rooted in an + implementation detail of one AXFR server used for the zone and not + present in another AXFR server used for the zone. + + Ensuring that an AXFR client does not accept a forged copy of a zone + is important to the security of a zone. If a zone operator has the + opportunity, protection can be afforded via dedicated links, physical + or virtual via a VPN among the authoritative servers. But there are + instances in which zone operators have no choice but to run AXFR + sessions over the global public Internet. + + Besides best attempts at securing TCP connections, DNS + implementations SHOULD provide means to make use of "Secret Key + Transaction Authentication for DNS" [RFC2845] and/or "DNS Request and + Transaction Signatures ( SIG(0)s )" [RFC2931] to allow AXFR clients + to verify the contents. These techniques MAY also be used for + authorization. + + + + + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 23] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +7. Backwards Compatibility + + Describing backwards compatibility is difficult because of the lack + of specifics in the original definition. In this section some hints + at building in backwards compatibility are given, mostly repeated + from the relevant earlier sections. + + Backwards compatibility is not necessary, but the greater the extent + of an implementation's compatibility the greater its + interoperability. For turnkey implementations this is not usually a + concern. For general purpose implementations this takes on varying + levels of importance depending on the implementer's desire to + maintain interoperability. + + It is unfortunate that a need to fall back to older behavior cannot + be discovered, hence needs to be noted in a configuration file. An + implementation SHOULD, in its documentation, encourage operators to + periodically review AXFR clients and servers it has made notes about + repeatedly, as old software gets updated from time to time. + +7.1. Server + + An AXFR server has the luxury of being able to react to an AXFR + client's abilities with the exception of knowing whether the client + can accept multiple resource records per AXFR response message. The + knowledge that a client is so restricted cannot be discovered, hence + it has to be set by configuration. + + An implementation of an AXFR server MAY permit configuring, on a per + AXFR client basis, the necessity to revert to single resource record + per message; in that case, the default SHOULD be to use multiple + records per message. + +7.2. Client + + An AXFR client has the opportunity to try other features (i.e., those + not defined by this document) when querying an AXFR server. + + Attempting to issue multiple DNS queries over a TCP transport for an + AXFR session SHOULD be aborted if it interrupts the original request, + and SHOULD take into consideration whether the AXFR server intends to + close the connection immediately upon completion of the original + (connection-causing) zone transfer. + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 24] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +8. Security Considerations + + Concerns regarding authorization, traffic flooding, and message + integrity are mentioned in "Authorization" (Section 5), "TCP" + (Section 4.2) and "Zone Integrity" (Section 6). + + +9. IANA Considerations + + [[ Note to RFC-Ed: this section may be deleted before publication. ]] + No new registries or new registrations are included in this document. + + +10. Internationalization Considerations + + The AXFR protocol is transparent to the parts of DNS zone content + that can possibly be subject to Internationalization considerations. + It is assumed that for DNS labels and domain names, the issue has + been solved via "Internationalizing Domain Names in Applications + (IDNA)" [RFC3490] or its successor(s). + + +11. Acknowledgments + + Earlier editions of this document have been edited by Andreas + Gustafsson. In his latest version, this acknowledgment appeared: + + "Many people have contributed input and commentary to earlier + versions of this document, including but not limited to Bob Halley, + Dan Bernstein, Eric A. Hall, Josh Littlefield, Kevin Darcy, Robert + Elz, Levon Esibov, Mark Andrews, Michael Patton, Peter Koch, Sam + Trenholme, and Brian Wellington." + + Comments since the -05 version have come from these individuals: + Mark Andrews, Paul Vixie, Wouter Wijngaards, Iain Calder, Tony Finch, + Ian Jackson, Andreas Gustafsson, Brian Wellington, Niall O'Reilly, + Bill Manning, and other participants of the DNSEXT working group. + + Edward Lewis served as a patiently listening sole document editor for + two years. + +12. References + + All "RFC" references by can be obtained from the RFC Editor web site + at the URLs: http://rfc-editor.org/rfc.html + or http://rfc-editor.org/rfcsearch.html ; + information regarding this organization can be found at the following + URL: http://rfc-editor.org/ + + + +Lewis & Hoenes Expires July 18, 2010 [Page 25] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + +12.1. Normative References + + [BCP14] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, + RFC 793, September 1981. + + [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, + August 1980. + + [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", + STD 13, RFC 1034, November 1987. + + [RFC1035] Mockapetris, P., "Domain names - implementation and + specification", STD 13, RFC 1035, November 1987. + + [RFC1123] Braden, R., "Requirements for Internet Hosts - Application + and Support", STD 3, RFC 1123, October 1989. + + [RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, + August 1996. + + [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone + Changes (DNS NOTIFY)", RFC 1996, August 1996. + + [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, + "Dynamic Updates in the Domain Name System (DNS UPDATE)", + RFC 2136, April 1997. + + [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS + Specification", RFC 2181, July 1997. + + [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", + RFC 2671, August 1999. + + [RFC2672] Crawford, M., "Non-Terminal DNS Name Redirection", + RFC 2672, August 1999. + + [RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. + Wellington, "Secret Key Transaction Authentication for DNS + (TSIG)", RFC 2845, May 2000. + + [RFC2930] Eastlake 3rd, D., "Secret Key Establishment for DNS (TKEY + RR)", RFC 2930, September 2000. + + [RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures + ( SIG(0)s )", RFC 2931, September 2000. + + + +Lewis & Hoenes Expires July 18, 2010 [Page 26] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + [RFC3425] Lawrence, D., "Obsoleting IQUERY", RFC 3425, + November 2002. + + [RFC3597] Gustafsson, A., "Handling of Unknown DNS Resource Record + (RR) Types", RFC 3597, September 2003. + + [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. + Rose, "DNS Security Introduction and Requirements", + RFC 4033, March 2005. + + [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. + Rose, "Resource Records for the DNS Security Extensions", + RFC 4034, March 2005. + + [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. + Rose, "Protocol Modifications for the DNS Security + Extensions", RFC 4035, March 2005. + + [RFC4509] Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer + (DS) Resource Records (RRs)", RFC 4509, May 2006 + + [RFC4635] Eastlake 3rd, D., "HMAC SHA (Hashed Message Authentication + Code, Secure Hash Algorithm) TSIG Algorithm Identifiers", + RFC 4635, August 2006. + + [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS + Security (DNSSEC) Hashed Authenticated Denial of + Existence", RFC 5155, March 2008 + + [RFC5395] Eastlake 3rd, "Domain Name System (DNS) IANA + Considerations", BCP 42, RFC 5395, November 2008. + + [RFC5702] Jansen, J., "Use of SHA-2 algorithms with RSA in DNSKEY + and RRSIG Resource Records for DNSSEC", RFC 5702, + October 2009. + +12.2. Informative References + + [DNSVALS] IANA Registry "Domain Name System (DNS) Parameters", + http://www.iana.org/assignments/dns-parameters + + [IANA-AF] IANA Registry "Address Family Numbers", + http://www.iana.org/assignments/Address-family-numbers/ . + + [RFC2764] Gleeson, B., Lin, A., Heinanen, J., Armitage, G., and A. + Malis, "A Framework for IP Based Virtual Private + Networks", RFC 2764, February 2000. + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 27] + +Internet-Draft DNS Zone Transfer Protocol (AXFR) January 2010 + + + [RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, + "Internationalizing Domain Names in Applications (IDNA)", + RFC 3490, March 2003. + + [DNSSEC-U] Weiler, S., and D. Blacka, "Clarifications and + Implementation Notes for DNSSECbis", + draft-ietf-dnsext-dnssec-bis-updates-09 (work in + progress), September 2009. + + +Authors' Addresses + + Edward Lewis + 46000 Center Oak Plaza + Sterling, VA, 22033, US + + Email: ed.lewis@neustar.biz + + + Alfred Hoenes, Editor + TR-Sys + Gerlinger Str. 12 + Ditzingen D-71254 + Germany + + Email: ah@TR-Sys.de + + +Editorial Note: Discussion [[ to be removed by RFC-Editor ]] + + Comments on this draft ought to be addressed to the editors and/or to + namedroppers@ops.ietf.org. + + + + + + + + + + + + + + + + + + + +Lewis & Hoenes Expires July 18, 2010 [Page 28] + diff --git a/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-01.txt b/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-01.txt deleted file mode 100644 index 41ae72ec..00000000 --- a/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-01.txt +++ /dev/null @@ -1,448 +0,0 @@ - - - -DNSEXT R. Bellis -Internet-Draft Nominet UK -Updates: 1035, 1123 October 26, 2009 -(if approved) -Intended status: Standards Track -Expires: April 29, 2010 - - - DNS Transport over TCP - draft-ietf-dnsext-dns-tcp-requirements-01 - -Status of this Memo - - This Internet-Draft is submitted to IETF in full conformance with the - provisions of BCP 78 and BCP 79. - - Internet-Drafts are working documents of the Internet Engineering - Task Force (IETF), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. - - Internet-Drafts are draft documents valid for a maximum of six months - and may be updated, replaced, or obsoleted by other documents at any - time. It is inappropriate to use Internet-Drafts as reference - material or to cite them other than as "work in progress." - - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/ietf/1id-abstracts.txt. - - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html. - - This Internet-Draft will expire on April 29, 2010. - -Copyright Notice - - Copyright (c) 2009 IETF Trust and the persons identified as the - document authors. All rights reserved. - - This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents in effect on the date of - publication of this document (http://trustee.ietf.org/license-info). - Please review these documents carefully, as they describe your rights - and restrictions with respect to this document. - -Abstract - - This document updates the requirements for the support of the TCP - - - -Bellis Expires April 29, 2010 [Page 1] - -Internet-Draft DNS Transport over TCP October 2009 - - - protocol for the transport of DNS traffic. - - -Table of Contents - - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 - - 2. Terminology used in this document . . . . . . . . . . . . . . . 3 - - 3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - - 4. Transport Protocol Selection . . . . . . . . . . . . . . . . . 4 - - 5. Dormant Connection Handling . . . . . . . . . . . . . . . . . . 5 - - 6. Response re-ordering . . . . . . . . . . . . . . . . . . . . . 6 - - 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 - - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 - - 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 - 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 - - Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . . 7 - - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 - - - - - - - - - - - - - - - - - - - - - - - -Bellis Expires April 29, 2010 [Page 2] - -Internet-Draft DNS Transport over TCP October 2009 - - -1. Introduction - - Most DNS [RFC1035] transactions take place over the UDP [RFC0792] - protocol. The TCP [RFC0793] protocol is used for zone transfers and - is supported by many implementations for the transfer of other - packets which exceed the protocol's original 512 byte packet-size - limit. - - Section 6.1.3.2 of [RFC1123] states: - - DNS resolvers and recursive servers MUST support UDP, and SHOULD - support TCP, for sending (non-zone-transfer) queries. - - However, some implementors have taken the text quoted above to mean - that TCP support is truly optional for typical DNS operation. - - This document normatively updates the core DNS protocol - specifications such that (except in very limited circumstances) - support for the TCP protocol is henceforth REQUIRED. - - -2. Terminology used in this document - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. - - -3. Discussion - - In the absence of EDNS0 (see below) the normal behaviour of any DNS - server needing to send a UDP response that exceeds that 512 byte - limit is for the server to truncate the response at the 512 byte - limit and set the TC flag in the response header. When the client - receives such a response it takes the TC flag as notice that it - should retry over TCP instead. - - RFC 1123 also says: - - ... it is also clear that some new DNS record types defined in the - future will contain information exceeding the 512 byte limit that - applies to UDP, and hence will require TCP. Thus, resolvers and - name servers should implement TCP services as a backup to UDP - today, with the knowledge that they will require the TCP service - in the future. - - Existing deployments of DNSSEC [RFC4033] have shown that truncation - at the 512 byte boundary is now commonplace. For example an NXDOMAIN - - - -Bellis Expires April 29, 2010 [Page 3] - -Internet-Draft DNS Transport over TCP October 2009 - - - (RCODE == 3) response from a DNSSEC signed zone using NSEC3 [RFC5155] - is almost invariably longer than 512 bytes. - - Since the original core specifications for DNS were written, the - Extension Mechanisms for DNS (EDNS0 [RFC2671]) have been introduced. - These extensions can be used to indicate that the client is prepared - to receive UDP responses longer than 512 bytes. An EDNS0 compatible - server receiving a request from an EDNS0 compatible client may send - UDP packets up to that client's announced buffer size without - truncation. - - However, transport of UDP packets which exceed the size of the path - MTU has been found to be unreliable in some circumstances because of - IP packet fragmentation. Many firewalls routinely block fragmented - IP packets, and some implementations lack the software logic - necessary to reassemble a fragmented datagram. Worse still, some - devices deliberately refuse to handle DNS packets containing EDNS0 - options. Other issues relating to UDP transport and packet size are - discussed in [RFC5625]. - - The MTU most commonly found in the core of the Internet is around - 1500 bytes, and even that limit is routinely exceeded by DNSSEC - signed responses. - - The future that was anticipated in RFC 1123 has arrived, and the only - standardised mechanism which may have resolved the packet size issue - has been found inadequate. - - -4. Transport Protocol Selection - - All DNS implementations MUST support both UDP and TCP transport - protocols, except as set out below. - - On a case by case basis, authoritative DNS server operators MAY elect - to disable DNS transport over TCP if all of the following conditions - are satisfied: - - o the server is authoritative only - o the server does not support AXFR - o all requests and responses are guaranteed to be <= 512 bytes - - A general purpose stub resolver implementation (e.g. an operating - system's DNS resolution library) MUST support TCP since to do - otherwise would limit its interoperability with its own clients and - with upstream servers. - - A proprietary stub resolver implementation MAY omit support for TCP - - - -Bellis Expires April 29, 2010 [Page 4] - -Internet-Draft DNS Transport over TCP October 2009 - - - if it is operating in an environment where truncation can never - occur, or if it is prepared to accept a DNS lookup failure should - truncation occur. - - A recursive resolver or forwarder MUST support TCP so that it does - not prevent long responses from a TCP-capable server from reaching - its TCP-capable clients. - - Regarding the choice of when to use UDP or TCP, RFC 1123 says: - - ... a DNS resolver or server that is sending a non-zone-transfer - query MUST send a UDP query first. - - That requirement is hereby relaxed. A resolver SHOULD send a UDP - query first, but MAY elect to send a TCP query instead if it has good - reason to expect the response would be truncated if it were sent over - UDP (with or without EDNS0) or for other operational reasons. - - -5. Dormant Connection Handling - - Section 4.2.2 of [RFC1035] says: - - If the server needs to close a dormant connection to reclaim - resources, it should wait until the connection has been idle for a - period on the order of two minutes. - - Other more modern protocols (e.g. HTTP [RFC2616]) have support for - persistent TCP connections and operational experience has shown that - long timeouts can easily cause resource exhaustion and poor response - under heavy load. Intentionally opening many connections and leaving - them dormant can trivially create a "denial of service" attack. - - This document therefore RECOMMENDS that the idle period should be of - the order of TBD seconds. - - Servers MAY allow dormant connections to remain open for longer - periods, but for the avoidance of doubt persistent DNS connections - should generally be considered to be as much for the server's benefit - as for the client's. Therefore if the server needs to unilaterally - close a dormant TCP connection it MUST be free to do so whenever - required. - - Further recommendations for the tuning of TCP parameters to allow - higher throughput or improved resiliency against denial of service - attacks are (currently) outside the scope of this document. - - - - - -Bellis Expires April 29, 2010 [Page 5] - -Internet-Draft DNS Transport over TCP October 2009 - - -6. Response re-ordering - - RFC 1035 is ambiguous on the question of whether TCP queries may be - re-ordered - the only relevant text is in Section 4.2.1 which relates - to UDP: - - Queries or their responses may be reordered by the network, or by - processing in name servers, so resolvers should not depend on them - being returned in order. - - For the avoidance of future doubt, this requirement is clarified. - Client resolvers MUST be able to process responses which arrive in a - different order to that in which the requests were sent, regardless - of the transport protocol in use. - - -7. Security Considerations - - Some DNS server operators have expressed concern that wider use of - DNS over TCP will expose them to a higher risk of "denial of service" - attacks. - - Many large authoritative DNS operators including all but one of the - root servers and the vast majority of TLDs already support TCP and - attacks against them are infrequent and very rarely successful. - - Operators of recursive servers should ensure that they only accept - connections from expected clients, and do not accept them from - unknown sources. In the case of UDP traffic this will protect - against reflector attacks [RFC5358] and in the case of TCP traffic it - will prevent an unknown client from exhausting the server's limits on - the number of concurrent connections. - - -8. IANA Considerations - - This document requests no IANA actions. - - -9. References - -9.1. Normative References - - [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, - RFC 792, September 1981. - - [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, - RFC 793, September 1981. - - - -Bellis Expires April 29, 2010 [Page 6] - -Internet-Draft DNS Transport over TCP October 2009 - - - [RFC1035] Mockapetris, P., "Domain names - implementation and - specification", STD 13, RFC 1035, November 1987. - - [RFC1123] Braden, R., "Requirements for Internet Hosts - Application - and Support", STD 3, RFC 1123, October 1989. - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", - RFC 2671, August 1999. - -9.2. Informative References - - [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., - Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext - Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. - - [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. - Rose, "DNS Security Introduction and Requirements", - RFC 4033, March 2005. - - [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS - Security (DNSSEC) Hashed Authenticated Denial of - Existence", RFC 5155, March 2008. - - [RFC5358] Damas, J. and F. Neves, "Preventing Use of Recursive - Nameservers in Reflector Attacks", BCP 140, RFC 5358, - October 2008. - - [RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", - BCP 152, RFC 5625, August 2009. - - -Appendix A. Change Log - - NB: to be removed by the RFC Editor before publication. - - draft-ietf-dnsext-dns-tcp-requirements-01 - Addition of response ordering section - Various minor editorial changes from WG reviewers - - draft-ietf-dnsext-dns-tcp-requirements-00 - Initial draft - - - - - - - -Bellis Expires April 29, 2010 [Page 7] - -Internet-Draft DNS Transport over TCP October 2009 - - -Author's Address - - Ray Bellis - Nominet UK - Edmund Halley Road - Oxford OX4 4DQ - United Kingdom - - Phone: +44 1865 332211 - Email: ray.bellis@nominet.org.uk - URI: http://www.nominet.org.uk/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bellis Expires April 29, 2010 [Page 8] - diff --git a/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt b/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt new file mode 100644 index 00000000..757e82a8 --- /dev/null +++ b/doc/draft/draft-ietf-dnsext-dns-tcp-requirements-02.txt @@ -0,0 +1,448 @@ + + + +DNSEXT R. Bellis +Internet-Draft Nominet UK +Updates: 1035, 1123 January 6, 2010 +(if approved) +Intended status: Standards Track +Expires: July 10, 2010 + + + DNS Transport over TCP - Implementation Requirements + draft-ietf-dnsext-dns-tcp-requirements-02 + +Abstract + + This document updates the requirements for the support of TCP as a + transport protocol for DNS implementations. + +Status of this Memo + + This Internet-Draft is submitted to IETF in full conformance with the + provisions of BCP 78 and BCP 79. + + Internet-Drafts are working documents of the Internet Engineering + Task Force (IETF), its areas, and its working groups. Note that + other groups may also distribute working documents as Internet- + Drafts. + + Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress." + + The list of current Internet-Drafts can be accessed at + http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at + http://www.ietf.org/shadow.html. + + This Internet-Draft will expire on July 10, 2010. + +Copyright Notice + + Copyright (c) 2010 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + + + +Bellis Expires July 10, 2010 [Page 1] + +Internet-Draft DNS over TCP January 2010 + + + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the BSD License. + + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 + + 2. Terminology used in this document . . . . . . . . . . . . . . . 3 + + 3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 3 + + 4. Transport Protocol Selection . . . . . . . . . . . . . . . . . 4 + + 5. Connection Handling . . . . . . . . . . . . . . . . . . . . . . 5 + + 6. Response re-ordering . . . . . . . . . . . . . . . . . . . . . 6 + + 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 + + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 + + 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 + 9.1. Normative References . . . . . . . . . . . . . . . . . . . 7 + 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 + + Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . . 8 + + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8 + + + + + + + + + + + + + + + + + + + +Bellis Expires July 10, 2010 [Page 2] + +Internet-Draft DNS over TCP January 2010 + + +1. Introduction + + Most DNS [RFC1035] transactions take place over UDP [RFC0792]. The + TCP [RFC0793] is used for zone transfers and for the transfer of + other packets which exceed the protocol's original 512 byte packet- + size limit. + + Section 6.1.3.2 of [RFC1123] states: + + DNS resolvers and recursive servers MUST support UDP, and SHOULD + support TCP, for sending (non-zone-transfer) queries. + + However, some implementors have taken the text quoted above to mean + that TCP support is an optional feature of the DNS protocol. + + The majority of DNS server operators already support TCP and the + default configuration for most software implementations is to support + TCP. The primary audience for this document is those implementors + whose failure to support TCP restricts interoperability and limits + deployment of new DNS features. + + This document therefore updates the core DNS protocol specifications + such that support for TCP is henceforth a REQUIRED part of a full DNS + protocol implementation. + + Whilst this document makes no specific recommendations to operators + of DNS servers, it should be noted that failure to support TCP (or + blocking of DNS over TCP at the network layer) may result in + resolution failure and application-level timeouts. + + +2. Terminology used in this document + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + + +3. Discussion + + In the absence of EDNS0 (see below) the normal behaviour of any DNS + server needing to send a UDP response that exceeds that 512 byte + limit is for the server to truncate the response so that it fits + within the 512 byte limit and set the TC flag in the response header. + When the client receives such a response it takes the TC flag as an + indication that it should retry over TCP instead. + + RFC 1123 also says: + + + +Bellis Expires July 10, 2010 [Page 3] + +Internet-Draft DNS over TCP January 2010 + + + + ... it is also clear that some new DNS record types defined in the + future will contain information exceeding the 512 byte limit that + applies to UDP, and hence will require TCP. Thus, resolvers and + name servers should implement TCP services as a backup to UDP + today, with the knowledge that they will require the TCP service + in the future. + + Existing deployments of DNSSEC [RFC4033] have shown that truncation + at the 512 byte boundary is now commonplace. For example an NXDOMAIN + (RCODE == 3) response from a DNSSEC signed zone using NSEC3 [RFC5155] + is almost invariably longer than 512 bytes. + + Since the original core specifications for DNS were written, the + Extension Mechanisms for DNS (EDNS0 [RFC2671]) have been introduced. + These extensions can be used to indicate that the client is prepared + to receive UDP responses longer than 512 bytes. An EDNS0 compatible + server receiving a request from an EDNS0 compatible client may send + UDP packets up to that client's announced buffer size without + truncation. + + However, transport of UDP packets that exceed the size of the path + MTU causes IP packet fragmentation, which has been found to be + unreliable in some circumstances. Many firewalls routinely block + fragmented IP packets, and some implementations lack the software + logic necessary to reassemble a fragmented datagram. Worse still, + some devices deliberately refuse to handle DNS packets containing + EDNS0 options. Other issues relating to UDP transport and packet + size are discussed in [RFC5625]. + + The MTU most commonly found in the core of the Internet is around + 1500 bytes, and even that limit is routinely exceeded by DNSSEC + signed responses. + + The future that was anticipated in RFC 1123 has arrived, and the only + standardised UDP-based mechanism which may have resolved the packet + size issue has been found inadequate. + + +4. Transport Protocol Selection + + All DNS implementations MUST support both UDP and TCP transport. + + o Authoritative resolver implementations MUST support TCP so that + they may serve any long responses that they are configured to + serve. + + + + + +Bellis Expires July 10, 2010 [Page 4] + +Internet-Draft DNS over TCP January 2010 + + + o A recursive resolver or forwarder MUST support TCP so that it does + not prevent long responses from a TCP-capable server from reaching + its TCP-capable clients. + o A general purpose stub resolver implementation (e.g. an operating + system's DNS resolution library) MUST support TCP since to do + otherwise would limit its interoperability with its own clients + and with upstream servers. + + An exception may be made for proprietary stub resolver + implementations. These MAY omit support for TCP if operating in an + environment where truncation can never occur, or where DNS lookup + failure is acceptable should truncation occur. + + Regarding the choice of when to use UDP or TCP, RFC 1123 says: + + ... a DNS resolver or server that is sending a non-zone-transfer + query MUST send a UDP query first. + + That requirement is hereby relaxed. A resolver SHOULD send a UDP + query first, but MAY elect to send a TCP query instead if it has good + reason to expect the response would be truncated if it were sent over + UDP (with or without EDNS0) or for other operational reasons, in + particular if it already has an open TCP connection to the server. + + +5. Connection Handling + + Section 4.2.2 of [RFC1035] says: + + If the server needs to close a dormant connection to reclaim + resources, it should wait until the connection has been idle for a + period on the order of two minutes. + + Other more modern protocols (e.g. HTTP [RFC2616]) have support for + persistent TCP connections and operational experience has shown that + long timeouts can easily cause resource exhaustion and poor response + under heavy load. Intentionally opening many connections and leaving + them dormant can trivially create a "denial of service" attack. + + This document therefore RECOMMENDS that the application-level idle + period should be of the order of TBD seconds. + + Servers MAY allow dormant connections to remain open for longer + periods, but for the avoidance of doubt persistent DNS connections + should generally be considered to be as much for the server's benefit + as for the client's. Therefore if the server needs to unilaterally + close a dormant TCP connection it MUST be free to do so whenever + required. + + + +Bellis Expires July 10, 2010 [Page 5] + +Internet-Draft DNS over TCP January 2010 + + + To mitigate the risk of unintentional server overload DNS clients + MUST take care to minimize the number of concurrent TCP connections + made to any individual server. + + Further recommendations for the tuning of TCP parameters to allow + higher throughput or improved resiliency against denial of service + attacks are outside the scope of this document. + + +6. Response re-ordering + + RFC 1035 is ambiguous on the question of whether TCP queries may be + re-ordered - the only relevant text is in Section 4.2.1 which relates + to UDP: + + Queries or their responses may be reordered by the network, or by + processing in name servers, so resolvers should not depend on them + being returned in order. + + For the avoidance of future doubt, this requirement is clarified. + Client resolvers MUST be able to process responses which arrive in a + different order to that in which the requests were sent, regardless + of the transport protocol in use. + + +7. Security Considerations + + Some DNS server operators have expressed concern that wider use of + DNS over TCP will expose them to a higher risk of "denial of service" + (DoS) attacks. + + Whilst there is a theoretically higher risk of such attacks against + TCP-enabled servers, techniques for the mitigation of DoS attacks at + the network level have improved substantially since DNS was first + designed. + + The vast majority of TLD authority servers and all but one of the + root name servers already support TCP and the author knows of no + evidence to suggest that TCP-based DoS attacks against existing DNS + infrastructure are commonplace. + + Operators of recursive servers should ensure that they only accept + connections from expected clients, and do not accept them from + unknown sources. In the case of UDP traffic this will protect + against reflector attacks [RFC5358] and in the case of TCP traffic it + will prevent an unknown client from exhausting the server's limits on + the number of concurrent connections. + + + + +Bellis Expires July 10, 2010 [Page 6] + +Internet-Draft DNS over TCP January 2010 + + +8. IANA Considerations + + This document requests no IANA actions. + + +9. References + +9.1. Normative References + + [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, + RFC 792, September 1981. + + [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, + RFC 793, September 1981. + + [RFC1035] Mockapetris, P., "Domain names - implementation and + specification", STD 13, RFC 1035, November 1987. + + [RFC1123] Braden, R., "Requirements for Internet Hosts - Application + and Support", STD 3, RFC 1123, October 1989. + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", + RFC 2671, August 1999. + +9.2. Informative References + + [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., + Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext + Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. + + [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. + Rose, "DNS Security Introduction and Requirements", + RFC 4033, March 2005. + + [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS + Security (DNSSEC) Hashed Authenticated Denial of + Existence", RFC 5155, March 2008. + + [RFC5358] Damas, J. and F. Neves, "Preventing Use of Recursive + Nameservers in Reflector Attacks", BCP 140, RFC 5358, + October 2008. + + [RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", + BCP 152, RFC 5625, August 2009. + + + + +Bellis Expires July 10, 2010 [Page 7] + +Internet-Draft DNS over TCP January 2010 + + +Appendix A. Change Log + + NB: to be removed by the RFC Editor before publication. + + draft-ietf-dnsext-dns-tcp-requirements-02 + Change of title - more focus on implementation and not operation + Re-write of some of the security section + Added recommendation for minimal concurrent connections + Minor editorial nits from Alfred Hoenes + + draft-ietf-dnsext-dns-tcp-requirements-01 + Addition of response ordering section + Various minor editorial changes from WG reviewers + + draft-ietf-dnsext-dns-tcp-requirements-00 + Initial draft + + +Author's Address + + Ray Bellis + Nominet UK + Edmund Halley Road + Oxford OX4 4DQ + United Kingdom + + Phone: +44 1865 332211 + Email: ray.bellis@nominet.org.uk + URI: http://www.nominet.org.uk/ + + + + + + + + + + + + + + + + + + + + + + +Bellis Expires July 10, 2010 [Page 8] + diff --git a/doc/draft/draft-ietf-dnsext-dnssec-gost-05.txt b/doc/draft/draft-ietf-dnsext-dnssec-gost-05.txt deleted file mode 100644 index 152d96ef..00000000 --- a/doc/draft/draft-ietf-dnsext-dnssec-gost-05.txt +++ /dev/null @@ -1,448 +0,0 @@ -DNS Extensions working group V.Dolmatov, Ed. -Internet-Draft Cryptocom Ltd. -Intended status: Standards Track November 30, 2009 -Expires: May 30, 2010 - - - Use of GOST signature algorithms in DNSKEY and RRSIG Resource Records - for DNSSEC - draft-ietf-dnsext-dnssec-gost-05 - -Status of this Memo - - This Internet-Draft is submitted to IETF in full conformance with the - provisions of BCP 78 and BCP 79. - - Internet-Drafts are working documents of the Internet Engineering - Task Force (IETF), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. - - Internet-Drafts are draft documents valid for a maximum of six months - and may be updated, replaced, or obsoleted by other documents at any - time. It is inappropriate to use Internet-Drafts as reference - material or to cite them other than as "work in progress." - - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/ietf/1id-abstracts.txt. - - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html. - - This Internet-Draft will expire on May 10 2010. - -Copyright Notice - - Copyright (c) 2009 IETF Trust and the persons identified as the - document authors. All rights reserved. - - This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents in effect on the date of - publication of this document (http://trustee.ietf.org/license-info). - Please review these documents carefully, as they describe your rights - and restrictions with respect to this document. - -Abstract - - This document describes how to produce signature and hash using - GOST algorithms [DRAFT1, DRAFT2, DRAFT3] for DNSKEY, RRSIG and DS - resource records for use in the Domain Name System Security - Extensions (DNSSEC, RFC 4033, RFC 4034, and RFC 4035). - -V.Dolmatov Expires May 30, 2010 [Page 1] - -Table of Contents - - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 2. DNSKEY Resource Records . . . . . . . . . . . . . . . . . . . . 3 - 2.1. Using a public key with existing cryptographic libraries. . 3 - 2.2. GOST DNSKEY RR Example . . . . . . . . . . . . . . . . . . 3 - 3. RRSIG Resource Records . . . . . . . . . . . . . . . . . . . . 4 - 3.1 RRSIG RR Example . . . . . . . . . . . . . . . . . . . . . . 4 - 4. DS Resource Records . . . . . . . . . . . . . . . . . . . . . . 5 - 4.1 DS RR Example . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5. Deployment Considerations . . . . . . . . . . . . . . . . . . . 5 - 5.1. Key Sizes . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5.2. Signature Sizes . . . . . . . . . . . . . . . . . . . . . . 5 - 5.3. Digest Sizes . . . . . . . . . . . . . . . . . . . . . . . 5 - 6. Implementation Considerations . . . . . . . . . . . . . . . . . 5 - 6.1. Support for GOST signatures . . . . . . . . . . . . . . . . 5 - 6.2. Support for NSEC3 Denial of Existence . . . . . . . . . . . 5 - 6.3. Byte order . . . . . . . . . . . . . . . . . . . . . . . . 5 - 7. Security consideration . . . . . . . . . . . . . . . . . . . . . 5 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 - 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 10.1. Normative References . . . . . . . . . . . . . . . . . . . 6 - 10.2. Informative References . . . . . . . . . . . . . . . . . . 7 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 - -1. Introduction - - The Domain Name System (DNS) is the global hierarchical distributed - database for Internet Naming. The DNS has been extended to use - cryptographic keys and digital signatures for the verification of the - authenticity and integrity of its data. RFC 4033 [RFC4033], RFC 4034 - [RFC4034], and RFC 4035 [RFC4035] describe these DNS Security - Extensions, called DNSSEC. - - RFC 4034 describes how to store DNSKEY and RRSIG resource records, - and specifies a list of cryptographic algorithms to use. This - document extends that list with the signature and hash algorithms - GOST [GOST3410, GOST3411], - and specifies how to store DNSKEY data and how to produce - RRSIG resource records with these hash algorithms. - - Familiarity with DNSSEC and GOST signature and hash - algorithms is assumed in this document. - - The term "GOST" is not officially defined, but is usually used to - refer to the collection of the Russian cryptographic algorithms - GOST R 34.10-2001, GOST R 34.11-94, GOST 28147-89. - Since GOST 28147-89 is not used in DNSSEC, "GOST" will only refer to - the GOST R 34.10-2001 and GOST R 34.11-94 in this document. - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. - -V.Dolmatov Expires May 30, 2010 [Page 2] - -2. DNSKEY Resource Records - - The format of the DNSKEY RR can be found in RFC 4034 [RFC4034]. - - GOST R 34.10-2001 public keys are stored with the algorithm number - {TBA1}. - - The wire format of the public key is compatible with - RFC 4491 [RFC4491]: - - According to [GOST3410], a public key is a point on the elliptic - curve Q = (x,y). - - The wire representation of a public key MUST contain 66 octets, - where the first octet designates public key parameters, the second - octet designates digest parameters next 32 octets contain the - little-endian representation of x and the second 32 octets contain - the little-endian representation of y. - This corresponds to the binary representation of (256||256) - from [GOST3410], ch. 5.3. - - The only valid value for both parameters octets is 0. - Other parameters octets values are reserved for future use. - - Corresponding public key parameters are those identified by - id-GostR3410-2001-CryptoPro-A-ParamSet (1.2.643.2.2.35.1) [RFC4357], - and the digest parameters are those identified by - id-GostR3411-94-CryptoProParamSet (1.2.643.2.2.30.1) [RFC4357]. - -2.1. Using a public key with existing cryptographic libraries - - Existing GOST-aware cryptographic libraries at the time of this - document writing are capable to read GOST public keys via a generic - X509 API if the key is encoded according to RFC 4491 [RFC4491], - section 2.3.2. - - To make this encoding from the wire format of a GOST public key - with the parameters used in this document, prepend the last 64 octets - of key data (in other words, substitute first two parameter octets) - with the following 37-byte sequence: - - 0x30 0x63 0x30 0x1c 0x06 0x06 0x2a 0x85 0x03 0x02 0x02 0x13 0x30 - 0x12 0x06 0x07 0x2a 0x85 0x03 0x02 0x02 0x23 0x01 0x06 0x07 0x2a - 0x85 0x03 0x02 0x02 0x1e 0x01 0x03 0x43 0x00 0x04 0x40 - -2.2. GOST DNSKEY RR Example - - Given a private key with the following value (the value of GostAsn1 - field is split here into two lines to simplify reading; in the - private key file it must be in one line): - - Private-key-format: v1.2 - Algorithm: {TBA1} (GOST) - GostAsn1: MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEEIgQgV/S - 2FXdMtzKJBehZvjF4lVSx6m66TwqSe/MFwKSH/3E= - -V.Dolmatov Expires May 30, 2010 [Page 3] - - The following DNSKEY RR stores a DNS zone key for example.net - - example.net. 86400 IN DNSKEY 256 3 {TBA1} ( - AADMrbi2vAs4hklTmmzGE3WWNtJ8Dll0u0jq - tGRbNKeJguZQj/9EpGWmQK9hekPiPlzH2Ph6 - yB7i836EfzmJo5LP - ) ; key id = 15820 - -3. RRSIG Resource Records - - The value of the signature field in the RRSIG RR follows RFC 4490 - [RFC4490] and is calculated as follows. The values for the RDATA - fields that precede the signature data are specified - in RFC 4034 [RFC4034]. - - hash = GOSTR3411(data) - - where "data" is the wire format data of the resource record set - that is signed, as specified in RFC 4034 [RFC4034]. - - Hash MUST be calculated with GOST R 34.11-94 parameters identified - by id-GostR3411-94-CryptoProParamSet [RFC4357]. - - Signature is calculated from the hash according to the - GOST R 34.10-2001 standard and its wire format is compatible with - RFC 4490 [RFC4490]. - - Quoting RFC 4490: - - "The signature algorithm GOST R 34.10-2001 generates a digital - signature in the form of two 256-bit numbers, r and s. Its octet - string representation consists of 64 octets, where the first 32 - octets contain the big-endian representation of s and the second 32 - octets contain the big-endian representation of r." - -3.1. RRSIG RR Example - - With the private key from section 2.2 sign the following RRSet, - consisting of one A record: - - www.example.net. 3600 IN A 192.0.2.1 - - Setting the inception date to 2000-01-01 00:00:00 UTC and the - expiration date to 2030-01-01 00:00:00 UTC, the following signature - should be created (assuming {TBA1}==249 until proper code is - assigned by IANA) - - www.example.net. 3600 IN RRSIG A {TBA1} 3 3600 20300101000000 ( - 20000101000000 15820 example.net. - 2MIsZWtEx6pcfQrdl376B8sFg0qxsR8XMHpl - jHh+V6U7Qte7WwI4C3Z1nFMRVf//C9rO2dGB - rdp+C7wVoOHBqA== ) - -V.Dolmatov Expires May 30, 2010 [Page 4] - - Note: Several GOST signatures calculated for the same message text - differ because of using of a random element is used in signature - generation process. - -4. DS Resource Records - - GOST R 34.11-94 digest algorithm is denoted in DS RRs by the digest - type {TBA2}.The wire format of a digest value is compatible with - RFC4490 [RFC4490], that is digest is in little-endian representation. - - - The digest MUST always be calculated with GOST R 34.11-94 parameters - identified by id-GostR3411-94-CryptoProParamSet [RFC4357]. - -4.1. DS RR Example - - For key signing key (assuming {TBA1}==249 until proper code is - assigned by IANA) - - example.net. 86400 DNSKEY 257 3 {TBA1} ( - AAADr5vmKVdXo780hSRU1YZYWuMZUbEe9R7C - RRLc7Wj2osDXv2XbCnIpTUx8dVLnLKmDBquu - 9tCz5oSsZl0cL0R2 - ) ; key id = 21649 - - The DS RR will be - - example.net. 3600 IN DS 21649 {TBA1} {TBA2} ( - A8146F448569F30B91255BA8E98DE14B18569A524C49593ADCA4103A - A44649C6 ) - -5. Deployment Considerations - -5.1. Key Sizes - - According to RFC4357 [RFC4357], the key size of GOST public keys - MUST be 512 bits. - -5.2. Signature Sizes - - According to the GOST signature algorithm specification [GOST3410], - the size of a GOST signature is 512 bits. - -5.3. Digest Sizes - - According to the GOST R 34.11-94 [GOST3411], the size of a GOST - digest is 256 bits. - -6. Implementation Considerations - -6.1. Support for GOST signatures - - DNSSEC aware implementations SHOULD be able to support RRSIG and - DNSKEY resource records created with the GOST algorithms as - defined in this document. - -V.Dolmatov Expires May 30, 2010 [Page 5] - -6.2. Support for NSEC3 Denial of Existence - - Any DNSSEC-GOST implementation is required to have either NSEC or - NSEC3 support. - -6.3 Byte order - - Due to the fact that all existing industry implementations of GOST - cryptographic libraries are returning GOST blobs in little-endian - format and in order to avoid the necessity for DNSSEC developers - to handle different cryptographic algorithms differently, it was - chosen to send these blobs on the wire "as is" without - transformation of endianness. - -7. Security considerations - - Currently, the cryptographic resistance of the GOST 34.10-2001 - digital signature algorithm is estimated as 2**128 operations - of multiple elliptic curve point computations on prime modulus - of order 2**256. - - - Currently, the cryptographic resistance of GOST 34.11-94 hash - algorithm is estimated as 2**128 operations of computations of a - step hash function. (There is known method to reduce this - estimate to 2**105 operations, but it demands padding the - colliding message with 1024 random bit blocks each of 256 bit - length, thus it cannot be used in any practical implementation). - -8. IANA Considerations - - This document updates the IANA registry "DNS Security Algorithm - Numbers [RFC4034]" - (http://www.iana.org/assignments/dns-sec-alg-numbers). - The following entries are added to the registry: - Zone Trans. - Value Algorithm Mnemonic Signing Sec. References Status - {TBA1} GOST R 34.10-2001 GOST Y * (this memo) OPTIONAL - - This document updates the RFC 4034 Digest Types assignment - (section A.2)by adding the value and status for the GOST R 34.11-94 - algorithm: - - Value Algorithm Status - {TBA2} GOST R 34.11-94 OPTIONAL - -9. Acknowledgments - - This document is a minor extension to RFC 4034 [RFC4034]. Also, we - tried to follow the documents RFC 3110 [RFC3110], RFC 4509 [RFC4509], - and RFC 4357 [RFC4357] for consistency. The authors of and - contributors to these documents are gratefully acknowledged for - their hard work. - -V.Dolmatov Expires May 30, 2010 [Page 6] - - The following people provided additional feedback and text: Dmitry - Burkov, Jaap Akkerhuis, Olafur Gundmundsson, Jelte Jansen - and Wouter Wijngaards. - - -10. References - -10.1. Normative References - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", RFC 2119, March 1997. - - [RFC3110] Eastlake D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain - Name System (DNS)", RFC 3110, May 2001. - - [RFC4033] Arends R., Austein R., Larson M., Massey D., and S. - Rose, "DNS Security Introduction and Requirements", - RFC 4033, March 2005. - - [RFC4034] Arends R., Austein R., Larson M., Massey D., and S. - Rose, "Resource Records for the DNS Security Extensions", - RFC 4034, March 2005. - - [RFC4035] Arends R., Austein R., Larson M., Massey D., and S. - Rose, "Protocol Modifications for the DNS Security - Extensions", RFC 4035, March 2005. - - [GOST3410] "Information technology. Cryptographic data security. - Signature and verification processes of [electronic] - digital signature.", GOST R 34.10-2001, Gosudarstvennyi - Standard of Russian Federation, Government Committee of - the Russia for Standards, 2001. (In Russian) - - [GOST3411] "Information technology. Cryptographic Data Security. - Hashing function.", GOST R 34.11-94, Gosudarstvennyi - Standard of Russian Federation, Government Committee of - the Russia for Standards, 1994. (In Russian) - - [RFC4357] Popov V., Kurepkin I., and S. Leontiev, "Additional - Cryptographic Algorithms for Use with GOST 28147-89, - GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 - Algorithms", RFC 4357, January 2006. - - [RFC4490] S. Leontiev and G. Chudov, "Using the GOST 28147-89, - GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 - Algorithms with Cryptographic Message Syntax (CMS)", - RFC 4490, May 2006. - - [RFC4491] S. Leontiev and D. Shefanovski, "Using the GOST - R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 - Algorithms with the Internet X.509 Public Key - Infrastructure Certificate and CRL Profile", RFC 4491, - May 2006. - -V.Dolmatov Expires May 30, 2010 [Page 7] - - -10.2. Informative References - - [RFC4509] Hardaker W., "Use of SHA-256 in DNSSEC Delegation Signer - (DS) Resource Records (RRs)", RFC 4509, May 2006. - - [DRAFT1] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S., - "GOST R 34.10-2001 digital signature algorithm" - draft-dolmatov-cryptocom-gost34102001-06, 11.10.09 - work in progress. - - - [DRAFT2] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S., - "GOST R 34.11-94 Hash function algorithm" - draft-dolmatov-cryptocom-gost341194-04, 11.10.09 - work in progress. - - [DRAFT3] Dolmatov V., Kabelev D., Ustinov I., Emelyanova I., - "GOST 28147-89 encryption, decryption and MAC algorithms" - draft-dolmatov-cryptocom-gost2814789-04, 11.10.09 - work in progress. - -V.Dolmatov Expires May 30, 2010 [Page 8] - - -Authors' Addresses - - -Vasily Dolmatov, Ed. -Cryptocom Ltd. -Kedrova 14, bld.2 -Moscow, 117218, Russian Federation - -EMail: dol@cryptocom.ru - -Artem Chuprina -Cryptocom Ltd. -Kedrova 14, bld.2 -Moscow, 117218, Russian Federation - -EMail: ran@cryptocom.ru - -Igor Ustinov -Cryptocom Ltd. -Kedrova 14, bld.2 -Moscow, 117218, Russian Federation - -EMail: igus@cryptocom.ru - -V.Dolmatov Expires May 30, 2010 [Page 9] - - - - - diff --git a/doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt b/doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt new file mode 100644 index 00000000..f651d135 --- /dev/null +++ b/doc/draft/draft-ietf-dnsext-dnssec-gost-06.txt @@ -0,0 +1,444 @@ +DNS Extensions working group V.Dolmatov, Ed. +Internet-Draft Cryptocom Ltd. +Intended status: Standards Track December 12, 2009 +Expires: June 12, 2010 + + + Use of GOST signature algorithms in DNSKEY and RRSIG Resource Records + for DNSSEC + draft-ietf-dnsext-dnssec-gost-06 + +Status of this Memo + + This Internet-Draft is submitted to IETF in full conformance with the + provisions of BCP 78 and BCP 79. + + Internet-Drafts are working documents of the Internet Engineering + Task Force (IETF), its areas, and its working groups. Note that + other groups may also distribute working documents as Internet- + Drafts. + + Internet-Drafts are draft documents valid for a maximum of six months + and may be updated, replaced, or obsoleted by other documents at any + time. It is inappropriate to use Internet-Drafts as reference + material or to cite them other than as "work in progress." + + The list of current Internet-Drafts can be accessed at + http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at + http://www.ietf.org/shadow.html. + + This Internet-Draft will expire on June 12 2010. + +Copyright Notice + + Copyright (c) 2009 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents in effect on the date of + publication of this document (http://trustee.ietf.org/license-info). + Please review these documents carefully, as they describe your rights + and restrictions with respect to this document. + +Abstract + + This document describes how to produce signature and hash using + GOST algorithms [DRAFT1, DRAFT2, DRAFT3] for DNSKEY, RRSIG and DS + resource records for use in the Domain Name System Security + Extensions (DNSSEC, RFC 4033, RFC 4034, and RFC 4035). + +V.Dolmatov Expires June 12, 2010 [Page 1] + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 + 2. DNSKEY Resource Records . . . . . . . . . . . . . . . . . . . . 3 + 2.1. Using a public key with existing cryptographic libraries. . 3 + 2.2. GOST DNSKEY RR Example . . . . . . . . . . . . . . . . . . 3 + 3. RRSIG Resource Records . . . . . . . . . . . . . . . . . . . . 4 + 3.1 RRSIG RR Example . . . . . . . . . . . . . . . . . . . . . . 4 + 4. DS Resource Records . . . . . . . . . . . . . . . . . . . . . . 5 + 4.1 DS RR Example . . . . . . . . . . . . . . . . . . . . . . . . 5 + 5. Deployment Considerations . . . . . . . . . . . . . . . . . . . 5 + 5.1. Key Sizes . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 5.2. Signature Sizes . . . . . . . . . . . . . . . . . . . . . . 5 + 5.3. Digest Sizes . . . . . . . . . . . . . . . . . . . . . . . 5 + 6. Implementation Considerations . . . . . . . . . . . . . . . . . 5 + 6.1. Support for GOST signatures . . . . . . . . . . . . . . . . 5 + 6.2. Support for NSEC3 Denial of Existence . . . . . . . . . . . 5 + 6.3. Byte order . . . . . . . . . . . . . . . . . . . . . . . . 5 + 7. Security consideration . . . . . . . . . . . . . . . . . . . . . 5 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 + 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 + 10.1. Normative References . . . . . . . . . . . . . . . . . . . 6 + 10.2. Informative References . . . . . . . . . . . . . . . . . . 7 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 + +1. Introduction + + The Domain Name System (DNS) is the global hierarchical distributed + database for Internet Naming. The DNS has been extended to use + cryptographic keys and digital signatures for the verification of the + authenticity and integrity of its data. RFC 4033 [RFC4033], RFC 4034 + [RFC4034], and RFC 4035 [RFC4035] describe these DNS Security + Extensions, called DNSSEC. + + RFC 4034 describes how to store DNSKEY and RRSIG resource records, + and specifies a list of cryptographic algorithms to use. This + document extends that list with the signature and hash algorithms + GOST [GOST3410, GOST3411], + and specifies how to store DNSKEY data and how to produce + RRSIG resource records with these hash algorithms. + + Familiarity with DNSSEC and GOST signature and hash + algorithms is assumed in this document. + + The term "GOST" is not officially defined, but is usually used to + refer to the collection of the Russian cryptographic algorithms + GOST R 34.10-2001, GOST R 34.11-94, GOST 28147-89. + Since GOST 28147-89 is not used in DNSSEC, "GOST" will only refer to + the GOST R 34.10-2001 and GOST R 34.11-94 in this document. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + +V.Dolmatov Expires June 12, 2010 [Page 2] + +2. DNSKEY Resource Records + + The format of the DNSKEY RR can be found in RFC 4034 [RFC4034]. + + GOST R 34.10-2001 public keys are stored with the algorithm number + {TBA1}. + + The wire format of the public key is compatible with + RFC 4491 [RFC4491]: + + According to [GOST3410], a public key is a point on the elliptic + curve Q = (x,y). + + The wire representation of a public key MUST contain 64 octets, + where the first 32 octets contain the little-endian representation + of x and the second 32 octets contain the little-endian + representation of y. + This corresponds to the binary representation of (256||256) + from [GOST3410], ch. 5.3. + + Corresponding public key parameters are those identified by + id-GostR3410-2001-CryptoPro-A-ParamSet (1.2.643.2.2.35.1) [RFC4357], + and the digest parameters are those identified by + id-GostR3411-94-CryptoProParamSet (1.2.643.2.2.30.1) [RFC4357]. + +2.1. Using a public key with existing cryptographic libraries + + Existing GOST-aware cryptographic libraries at the time of this + document writing are capable to read GOST public keys via a generic + X509 API if the key is encoded according to RFC 4491 [RFC4491], + section 2.3.2. + + To make this encoding from the wire format of a GOST public key + with the parameters used in this document, prepend the 64 octets + of key data with the following 37-byte sequence: + + 0x30 0x63 0x30 0x1c 0x06 0x06 0x2a 0x85 0x03 0x02 0x02 0x13 0x30 + 0x12 0x06 0x07 0x2a 0x85 0x03 0x02 0x02 0x23 0x01 0x06 0x07 0x2a + 0x85 0x03 0x02 0x02 0x1e 0x01 0x03 0x43 0x00 0x04 0x40 + +2.2. GOST DNSKEY RR Example + + Given a private key with the following value (the value of GostAsn1 + field is split here into two lines to simplify reading; in the + private key file it must be in one line): + + Private-key-format: v1.2 + Algorithm: {TBA1} (GOST) + GostAsn1: MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEEIgQgp9c + t2LQaNS1vMKPLEN9zHYjLPNMIQN6QB9vt3AghZFA= + + +V.Dolmatov Expires June 12, 2010 [Page 3] + + The following DNSKEY RR stores a DNS zone key for example.net + + example.net. 86400 IN DNSKEY 256 3 {TBA1} ( + GtTJjmZKUXV+lHLG/6crB6RCR+EJR51Islpa + 6FqfT0MUfKhSn1yAo92+LJ0GDssTiAnj0H0I + 9Jrfial/yyc5Og== + ) ; key id = 10805 + +3. RRSIG Resource Records + + The value of the signature field in the RRSIG RR follows RFC 4490 + [RFC4490] and is calculated as follows. The values for the RDATA + fields that precede the signature data are specified + in RFC 4034 [RFC4034]. + + hash = GOSTR3411(data) + + where "data" is the wire format data of the resource record set + that is signed, as specified in RFC 4034 [RFC4034]. + + Hash MUST be calculated with GOST R 34.11-94 parameters identified + by id-GostR3411-94-CryptoProParamSet [RFC4357]. + + Signature is calculated from the hash according to the + GOST R 34.10-2001 standard and its wire format is compatible with + RFC 4490 [RFC4490]. + + Quoting RFC 4490: + + "The signature algorithm GOST R 34.10-2001 generates a digital + signature in the form of two 256-bit numbers, r and s. Its octet + string representation consists of 64 octets, where the first 32 + octets contain the big-endian representation of s and the second 32 + octets contain the big-endian representation of r." + +3.1. RRSIG RR Example + + With the private key from section 2.2 sign the following RRSet, + consisting of one A record: + + www.example.net. 3600 IN A 192.0.2.1 + + Setting the inception date to 2000-01-01 00:00:00 UTC and the + expiration date to 2030-01-01 00:00:00 UTC, the following signature + should be created (assuming {TBA1}==249 until proper code is + assigned by IANA) + + www.example.net. 3600 IN RRSIG A {TBA1} 3 3600 20300101000000 ( + 20000101000000 10805 example.net. + k3m0r5bm6kFQmcRlHshY3jIj7KL6KTUsPIAp + Vy466khKuWEUoVvSkqI+9tvMQySQgZcEmS0W + HRFSm0XS5YST5g== ) + +V.Dolmatov Expires June 12, 2010 [Page 4] + + Note: Several GOST signatures calculated for the same message text + differ because of using of a random element is used in signature + generation process. + +4. DS Resource Records + + GOST R 34.11-94 digest algorithm is denoted in DS RRs by the digest + type {TBA2}.The wire format of a digest value is compatible with + RFC4490 [RFC4490], that is digest is in little-endian representation. + + + The digest MUST always be calculated with GOST R 34.11-94 parameters + identified by id-GostR3411-94-CryptoProParamSet [RFC4357]. + +4.1. DS RR Example + + For key signing key (assuming {TBA1}==249 until proper code is + assigned by IANA) + + example.net. 86400 DNSKEY 257 3 {TBA1} ( + 1aYdqrVz3JJXEURLMdmeI7H1CyTFfPVFBIGA + EabZFP+7NT5KPYXzjDkRbPWleEFbBilDNQNi + q/q4CwA4WR+ovg== + ) ; key id = 6204 + + The DS RR will be + + example.net. 3600 IN DS 6204 {TBA1} {TBA2} ( + 0E6D6CB303F89DBCF614DA6E21984F7A62D08BDD0A05B3A22CC63D1B + 553BC61E ) + +5. Deployment Considerations + +5.1. Key Sizes + + According to RFC4357 [RFC4357], the key size of GOST public keys + MUST be 512 bits. + +5.2. Signature Sizes + + According to the GOST signature algorithm specification [GOST3410], + the size of a GOST signature is 512 bits. + +5.3. Digest Sizes + + According to the GOST R 34.11-94 [GOST3411], the size of a GOST + digest is 256 bits. + +6. Implementation Considerations + +6.1. Support for GOST signatures + + DNSSEC aware implementations SHOULD be able to support RRSIG and + DNSKEY resource records created with the GOST algorithms as + defined in this document. + +V.Dolmatov Expires June 12, 2010 [Page 5] + +6.2. Support for NSEC3 Denial of Existence + + Any DNSSEC-GOST implementation is required to have either NSEC or + NSEC3 support. + +6.3 Byte order + + Due to the fact that all existing industry implementations of GOST + cryptographic libraries are returning GOST blobs in little-endian + format and in order to avoid the necessity for DNSSEC developers + to handle different cryptographic algorithms differently, it was + chosen to send these blobs on the wire "as is" without + transformation of endianness. + +7. Security considerations + + Currently, the cryptographic resistance of the GOST 34.10-2001 + digital signature algorithm is estimated as 2**128 operations + of multiple elliptic curve point computations on prime modulus + of order 2**256. + + + Currently, the cryptographic resistance of GOST 34.11-94 hash + algorithm is estimated as 2**128 operations of computations of a + step hash function. (There is known method to reduce this + estimate to 2**105 operations, but it demands padding the + colliding message with 1024 random bit blocks each of 256 bit + length, thus it cannot be used in any practical implementation). + +8. IANA Considerations + + This document updates the IANA registry "DNS Security Algorithm + Numbers [RFC4034]" + (http://www.iana.org/assignments/dns-sec-alg-numbers). + The following entries are added to the registry: + Zone Trans. + Value Algorithm Mnemonic Signing Sec. References Status + {TBA1} GOST R 34.10-2001 GOST Y * (this memo) OPTIONAL + + This document updates the RFC 4034 Digest Types assignment + (section A.2)by adding the value and status for the GOST R 34.11-94 + algorithm: + + Value Algorithm Status + {TBA2} GOST R 34.11-94 OPTIONAL + +9. Acknowledgments + + This document is a minor extension to RFC 4034 [RFC4034]. Also, we + tried to follow the documents RFC 3110 [RFC3110], RFC 4509 [RFC4509], + and RFC 4357 [RFC4357] for consistency. The authors of and + contributors to these documents are gratefully acknowledged for + their hard work. + +V.Dolmatov Expires June 12, 2010 [Page 6] + + The following people provided additional feedback and text: Dmitry + Burkov, Jaap Akkerhuis, Olafur Gundmundsson, Jelte Jansen + and Wouter Wijngaards. + + +10. References + +10.1. Normative References + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", RFC 2119, March 1997. + + [RFC3110] Eastlake D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain + Name System (DNS)", RFC 3110, May 2001. + + [RFC4033] Arends R., Austein R., Larson M., Massey D., and S. + Rose, "DNS Security Introduction and Requirements", + RFC 4033, March 2005. + + [RFC4034] Arends R., Austein R., Larson M., Massey D., and S. + Rose, "Resource Records for the DNS Security Extensions", + RFC 4034, March 2005. + + [RFC4035] Arends R., Austein R., Larson M., Massey D., and S. + Rose, "Protocol Modifications for the DNS Security + Extensions", RFC 4035, March 2005. + + [GOST3410] "Information technology. Cryptographic data security. + Signature and verification processes of [electronic] + digital signature.", GOST R 34.10-2001, Gosudarstvennyi + Standard of Russian Federation, Government Committee of + the Russia for Standards, 2001. (In Russian) + + [GOST3411] "Information technology. Cryptographic Data Security. + Hashing function.", GOST R 34.11-94, Gosudarstvennyi + Standard of Russian Federation, Government Committee of + the Russia for Standards, 1994. (In Russian) + + [RFC4357] Popov V., Kurepkin I., and S. Leontiev, "Additional + Cryptographic Algorithms for Use with GOST 28147-89, + GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 + Algorithms", RFC 4357, January 2006. + + [RFC4490] S. Leontiev and G. Chudov, "Using the GOST 28147-89, + GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 + Algorithms with Cryptographic Message Syntax (CMS)", + RFC 4490, May 2006. + + [RFC4491] S. Leontiev and D. Shefanovski, "Using the GOST + R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 + Algorithms with the Internet X.509 Public Key + Infrastructure Certificate and CRL Profile", RFC 4491, + May 2006. + +V.Dolmatov Expires June 12, 2010 [Page 7] + + +10.2. Informative References + + [RFC4509] Hardaker W., "Use of SHA-256 in DNSSEC Delegation Signer + (DS) Resource Records (RRs)", RFC 4509, May 2006. + + [DRAFT1] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S., + "GOST R 34.10-2001 digital signature algorithm" + draft-dolmatov-cryptocom-gost34102001-07, 12.12.09 + work in progress. + + + [DRAFT2] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S., + "GOST R 34.11-94 Hash function algorithm" + draft-dolmatov-cryptocom-gost341194-06, 12.12.09 + work in progress. + + [DRAFT3] Dolmatov V., Kabelev D., Ustinov I., Emelyanova I., + "GOST 28147-89 encryption, decryption and MAC algorithms" + draft-dolmatov-cryptocom-gost2814789-06, 12.12.09 + work in progress. + +V.Dolmatov Expires June 12, 2010 [Page 8] + + +Authors' Addresses + + +Vasily Dolmatov, Ed. +Cryptocom Ltd. +Kedrova 14, bld.2 +Moscow, 117218, Russian Federation + +EMail: dol@cryptocom.ru + +Artem Chuprina +Cryptocom Ltd. +Kedrova 14, bld.2 +Moscow, 117218, Russian Federation + +EMail: ran@cryptocom.ru + +Igor Ustinov +Cryptocom Ltd. +Kedrova 14, bld.2 +Moscow, 117218, Russian Federation + +EMail: igus@cryptocom.ru + +V.Dolmatov Expires June 12, 2010 [Page 9] + + + + + -- cgit v1.2.3
-Prev  Up  
-genrandom  Home