Network Working Group                                           B. Aboba
Request for Comments: 3397                                     Microsoft
Category: Standards Track                                    S. Cheshire
                                                   Apple Computer, Inc.
                                                          November 2002


   Dynamic Host Configuration Protocol (DHCP) Domain Search Option

Status of this Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

  Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

  This document defines a new Dynamic Host Configuration Protocol
  (DHCP) option which is passed from the DHCP Server to the DHCP Client
  to specify the domain search list used when resolving hostnames using
  DNS.

Table of Contents

  1.  Introduction ................................................  2
       1.1 Terminology ............................................  2
       1.2 Requirements Language ..................................  2
  2.  Domain Search Option Format .................................  2
  3.  Example .....................................................  3
  4.  Security Considerations .....................................  4
  5.  Normative References ........................................  5
  6.  Informative References ......................................  5
  7.  IANA Considerations .........................................  6
  8.  Acknowledgments .............................................  6
  9.  Intellectual Property Statement .............................  6
  10. Authors' Addresses ..........................................  7
  11. Full Copyright Statement ....................................  8








Aboba & Cheshire            Standards Track                     [Page 1]

RFC 3397               DHCP Domain Search Option           November 2002


1.  Introduction

  The Dynamic Host Configuration Protocol (DHCP) [RFC2131] provides a
  mechanism for host configuration.  [RFC2132] and [RFC2937] allow DHCP
  servers to pass name service configuration information to DHCP
  clients.  In some circumstances, it is useful for the DHCP client to
  be configured with the domain search list.  This document defines a
  new DHCP option which is passed from the DHCP Server to the DHCP
  Client to specify the domain search list used when resolving
  hostnames with DNS.  This option applies only to DNS and does not
  apply to other name resolution mechanisms.

1.1.  Terminology

  This document uses the following terms:

  DHCP client
        A DHCP client or "client" is an Internet host using DHCP to
        obtain configuration parameters such as a network address.

  DHCP server
        A DHCP server or "server" is an Internet host that returns
        configuration parameters to DHCP clients.

1.2.  Requirements Language

  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" [RFC2119].

2.  Domain Search Option Format

  The code for this option is 119.

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     119       |     Len       |         Searchstring...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Searchstring...
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  In the above diagram, Searchstring is a string specifying the
  searchlist.  If the length of the searchlist exceeds the maximum
  permissible within a single option (255 octets), then multiple
  options MAY be used, as described in "Encoding Long Options in the
  Dynamic Host Configuration Protocol (DHCPv4)" [RFC3396].



Aboba & Cheshire            Standards Track                     [Page 2]

RFC 3397               DHCP Domain Search Option           November 2002


  To enable the searchlist to be encoded compactly, searchstrings in
  the searchlist MUST be concatenated and encoded using the technique
  described in section 4.1.4 of "Domain Names - Implementation And
  Specification" [RFC1035].  In this scheme, an entire domain name or a
  list of labels at the end of a domain name is replaced with a pointer
  to a prior occurrence of the same name.  Despite its complexity, this
  technique is valuable since the space available for encoding DHCP
  options is limited, and it is likely that a domain searchstring will
  contain repeated instances of the same domain name.  Thus the DNS
  name compression is both useful and likely to be effective.

  For use in this specification, the pointer refers to the offset
  within the data portion of the DHCP option (not including the
  preceding DHCP option code byte or DHCP option length byte).

  If multiple Domain Search Options are present, then the data portions
  of all the Domain Search Options are concatenated together as
  specified in "Encoding Long DHCP Options in the Dynamic Host
  Configuration Protocol (DHCPv4)" [RFC3396] and the pointer indicates
  an offset within the complete aggregate block of data.

3.  Example

  Below is an example encoding of a search list consisting of
  "eng.apple.com." and "marketing.apple.com.":

  +---+---+---+---+---+---+---+---+---+---+---+
  |119| 9 | 3 |'e'|'n'|'g'| 5 |'a'|'p'|'p'|'l'|
  +---+---+---+---+---+---+---+---+---+---+---+

  +---+---+---+---+---+---+---+---+---+---+---+
  |119| 9 |'e'| 3 |'c'|'o'|'m'| 0 | 9 |'m'|'a'|
  +---+---+---+---+---+---+---+---+---+---+---+

  +---+---+---+---+---+---+---+---+---+---+---+
  |119| 9 |'r'|'k'|'e'|'t'|'i'|'n'|'g'|xC0|x04|
  +---+---+---+---+---+---+---+---+---+---+---+

  Note:

  i.    The encoding has been split (for this example) into three
        Domain Search Options.  All Domain Search Options are logically
        concatenated into one block of data before being interpreted by
        the client.

  ii.   The encoding of "eng.apple.com." ends with a zero, the null
        root label, to mark the end of the name, as required by RFC
        1035.



Aboba & Cheshire            Standards Track                     [Page 3]

RFC 3397               DHCP Domain Search Option           November 2002


  iii.  The encoding of "marketing" (for "marketing.apple.com.") ends
        with the two-octet compression pointer C004 (hex), which points
        to offset 4 in the complete aggregated block of Domain Search
        Option data, where another validly encoded domain name can be
        found to complete the name ("apple.com.").

  Every search domain name must end either with a zero or with a two-
  octet compression pointer.  If the receiver is part-way through
  decoding a search domain name when it reaches the end of the complete
  aggregated block of the searchlist option data, without finding a
  zero or a valid two-octet compression pointer, then the partially
  read name MUST be discarded as invalid.

4.  Security Considerations

  Potential attacks on DHCP are discussed in section 7 of the DHCP
  protocol specification [RFC2131], as well as in the DHCP
  authentication specification [RFC3118].  In particular, using the
  domain search option, a rogue DHCP server might be able to redirect
  traffic to another site.

  For example, a user requesting a connection to "myhost", expecting to
  reach "myhost.bigco.com" might instead be directed to
  "myhost.roguedomain.com".  Note that support for DNSSEC [RFC2535]
  will not avert this attack, since the resource records for
  "myhost.roguedomain.com" might be legitimately signed.  This makes
  the domain search option a more fruitful avenue of attack for a rogue
  DHCP server than providing an illegitimate DNS server option
  (described in [RFC2132]).

  The degree to which a host is vulnerable to attack via an invalid
  domain search option is determined in part by DNS resolver behavior.
  [RFC1535] discusses security weaknesses related to implicit as well
  as explicit domain searchlists, and provides recommendations relating
  to resolver searchlist processing.  [RFC1536] section 6 also
  addresses this vulnerability, and recommends that resolvers:

  [1]   Use searchlists only when explicitly specified; no implicit
        searchlists should be used.

  [2]   Resolve a name that contains any dots by first trying it as an
        FQDN and if that fails, with the local domain name (or
        searchlist if specified) appended.

  [3]   Resolve a name containing no dots by appending with the
        searchlist right away, but once again, no implicit searchlists
        should be used.




Aboba & Cheshire            Standards Track                     [Page 4]

RFC 3397               DHCP Domain Search Option           November 2002


  In order to minimize potential vulnerabilities it is recommended
  that:

  [a]   Hosts implementing the domain search option SHOULD also
        implement the searchlist recommendations of [RFC1536], section
        6.

  [b]   Where DNS parameters such as the domain searchlist or DNS
        servers have been manually configured, these parameters SHOULD
        NOT be overridden by DHCP.

  [c]   Domain search option implementations MAY require DHCP
        authentication [RFC3118] prior to accepting a domain search
        option.

5.  Normative References

  [RFC1035]   Mockapetris, P., "Domain Names - Implementation and
              Specification", STD 13, RFC 1035, November 1987.

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

  [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

  [RFC2131]   Droms, R., "Dynamic Host Configuration Protocol", RFC
              2131, March 1997.

  [RFC3118]   Droms, R. and W. Arbaugh, "Authentication for DHCP
              Messages", RFC 3118, June 2001.

  [RFC3396]   Lemon, T. and S. Cheshire, "Encoding Long Options in the
              Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
              November 2002.

6.  Informative References

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

  [RFC2132]   Alexander, S. and R. Droms, "DHCP Options and BOOTP
              Vendor Extensions", RFC 2132, March 1997.






Aboba & Cheshire            Standards Track                     [Page 5]

RFC 3397               DHCP Domain Search Option           November 2002


  [RFC2535]   Eastlake, D., "Domain Name System Security Extensions",
              RFC 2535, March 1999.

  [RFC2937]   Smith, C., "The Name Service Search Option for DHCP", RFC
              2937, September 2000.

7.  IANA Considerations

  The IANA has assigned DHCP option code 119 to the Domain Search
  Option.

8. Acknowledgments

  The authors would like to thank Michael Patton, Erik Guttman, Olafur
  Gudmundsson, Thomas Narten, Mark Andrews, Erik Nordmark, Myron
  Hattig, Keith Moore, and Bill Manning for comments on this memo.

9. Intellectual Property Statement

  The IETF takes no position regarding the validity or scope of any
  intellectual property or other rights that might be claimed to
  pertain to the implementation or use of the technology described in
  this document or the extent to which any license under such rights
  might or might not be available; neither does it represent that it
  has made any effort to identify any such rights.  Information on the
  IETF's procedures with respect to rights in standards-track and
  standards-related documentation can be found in BCP-11.  Copies of
  claims of rights made available for publication and any assurances of
  licenses to be made available, or the result of an attempt made to
  obtain a general license or permission for the use of such
  proprietary rights by implementors or users of this specification can
  be obtained from the IETF Secretariat.

  The IETF invites any interested party to bring to its attention any
  copyrights, patents or patent applications, or other proprietary
  rights which may cover technology that may be required to practice
  this standard.  Please address the information to the IETF Executive
  Director.













Aboba & Cheshire            Standards Track                     [Page 6]

RFC 3397               DHCP Domain Search Option           November 2002


10. Authors' Addresses

  Bernard Aboba
  Microsoft Corporation
  One Microsoft Way
  Redmond, WA 98052

  Phone: +1 425 706 6605
  EMail: [email protected]


  Stuart Cheshire
  Apple Computer, Inc.
  1 Infinite Loop
  Cupertino
  California 95014
  USA

  Phone: +1 408 974 3207
  EMail: [email protected]































Aboba & Cheshire            Standards Track                     [Page 7]

RFC 3397               DHCP Domain Search Option           November 2002


11. Full Copyright Statement

  Copyright (C) The Internet Society (2002).  All Rights Reserved.

  This document and translations of it may be copied and furnished to
  others, and derivative works that comment on or otherwise explain it
  or assist in its implementation may be prepared, copied, published
  and distributed, in whole or in part, without restriction of any
  kind, provided that the above copyright notice and this paragraph are
  included on all such copies and derivative works.  However, this
  document itself may not be modified in any way, such as by removing
  the copyright notice or references to the Internet Society or other
  Internet organizations, except as needed for the purpose of
  developing Internet standards in which case the procedures for
  copyrights defined in the Internet Standards process must be
  followed, or as required to translate it into languages other than
  English.

  The limited permissions granted above are perpetual and will not be
  revoked by the Internet Society or its successors or assigns.

  This document and the information contained herein is provided on an
  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

  Funding for the RFC Editor function is currently provided by the
  Internet Society.



















Aboba & Cheshire            Standards Track                     [Page 8]