Network Working Group                                           J. Damas
Internet-Draft                                                       ISC
Expires: December 27, 2006 March 19, 2007                                         F. Neves
                                                             Registro.br
                                                           June 25,
                                                      September 15, 2006

      Preventing Use of Recursive Nameservers in Reflector Attacks
              draft-ietf-dnsop-reflectors-are-evil-01.txt
              draft-ietf-dnsop-reflectors-are-evil-02.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of 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 December 27, 2006. March 19, 2007.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document describes the use of default configured recursive
   nameservers as reflectors on DOS attacks.  Recommended configuration
   as measures to mitigate the attack are given.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Problem Description . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Recommended Configuration . . . . . . . . . . . . . . . . . . . 4
   4.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5 6
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7
   Intellectual Property and Copyright Statements  . . . . . . . . . . 8

1.  Introduction

   Recently, DNS [RFC1034] has been named as a major factor in the
   generation of massive amounts of network traffic used in Denial of
   Service (DoS) attacks.  These attacks, called reflector attacks, are
   not due to any particular flaw in the design of the DNS or its
   implementations, asides perhaps the fact that DNS relies heavily on
   UDP, the easy abuse of which is at the source of the problem.  They
   have preferentially used DNS due to common default configurations
   that allow for easy use of public open recursive nameservers that make use
   of such a default configuration.

   In addition, due to the small query-large response potential of the
   DNS system it is easy to yield great amplification of the source
   traffic as reflected traffic towards the victims.

   DNS authority servers which do not provide recursion to clients can
   also be used as amplifiers; however, the amplification potential is
   greatly reduced when authority servers are used.  It is also not
   practical to restrict access to authority servers to a subset of the
   Internet, since their normal operation relies on them being able to
   serve a wide audience, and hence the opportunities to mitigate the
   scale of an attack by modifying authority server configurations are
   limited.  This document's recommendations are concerned with
   recursive nameservers only.

   In this document we describe the characteristics of the attack and
   recommend DNS server configurations that specifically alleviate the
   problem described, while pointing to the only truly real solution,
   the wide-scale deployment of ingress filtering to prevent use of
   spoofed IP addresses [BCP38].

2.  Problem Description

   Because most DNS traffic is stateless by design, an attacker could
   start a DoS attack in the following way:

   1.  The attacker starts by configuring a record (LRECORD) on any zone
       he has access to (AZONE), normally with large RDATA and TTL.
   2.  Taking advantage of clients (ZCLIENTS) on non-BCP38 networks, the
       attacker then crafts a query using the source address of their
       target victim and sends it to a public open recursive nameserver
       (PRNS). (ORNS).
   3.  Each PRNS ORNS proceeds with the resolution, caches the LRECORD and
       finally sends it to the target.  After this first lookup, access
       to the authoritative nameservers for AZONE is normally no longer
       necessary.  The LRECORD will remain cached for the duration of
       the TTL at the PRNS ORNS even if the AZONE is corrected.

   4.  Cleanup of the AZONE might, depending on the implementation used
       in the PRNS, ORNS, afford a way to clean the cached LRECORD from the
       PRNS.
       ORNS.  This would possibly involve queries luring the PRNS ORNS to
       lookup information for the same name that is being used in the
       amplification.

   Because the characteristics of the attack normally involve a low
   volume of packets amongst all the kinds of actors besides the victim
   (AZONE, ZCLIENTS, PRNS), ORNS), it's unlikely any one of them would notice
   their involvement based on traffic pattern changes.

   Taking advantage of PRNS ORNS that support EDNS0 [RFC2671], the
   amplification factor (response packet size / query packet size) could
   be around 80.  With this amplification factor a relatively small army
   of ZCLIENTS and PRNS ORNS could generate gigabits of traffic towards the
   victim.

   Even if this attach is only really possible due to non-deployment of
   BCP 38, this amplification attack is easier to leverage because for
   historical reasons, out of times when the Internet was a much closer-
   knit community, some nameserver implementations have been made
   available with default configurations that when used for recursive
   nameservers made the server accessible to all hosts on the Internet.

   For years this was a convenient and helpful configuration, enabling
   wider availability of services.  As this document aims to make
   apparent, it is now much better to be conscious of ones own
   nameserver services and focus the delivery of services on the
   intended audience of those services, be they a university campus, an
   enterprise or an ISP's customers.  The authors also want to draw the
   attention of small network operators and private server managers who
   decide to operate nameservers with the aim of optimising their DNS
   service, as these are more likely to use default configurations as
   shipped by implementors.

3.  Recommended Configuration

   From the description of the problem in the previous section it
   follows that the solution to this sort of attacks is the wide
   deployment of ingress filtering [BCP38] in routers to prevent use of
   address spoofing as a viable course of action to elicit the attacks.

   Nonetheless, the fact remains that DNS servers acting as open
   recursive servers provide an easy means to obtain great rates of
   amplification for attack traffic, requiring only a small amount of
   traffic from the attack sources to generate a vast amount of traffic
   towards the victim.

   The authors also want to note that with the increasing length of
   authoritative DNS responses derived from deployment of DNSSEC and
   NAPTR as used in ENUM services, authoritative servers will eventually
   be more useful as actors in this sort of amplification attack,
   stressing even more the need for deployment of BCP 38.

   In this section we describe the Current Best Practice for operating
   recursive nameservers.  Following these recommendations would reduce
   the chances of having a given recursive nameserver be used for the
   generation of an amplification attack.

   The generic recommendation to nameserver operators is to use the
   means provided by the implementation of choice to provide recursive
   name lookup service only to the intended clients.  Client
   authentication can be usually done in several ways:

   o  IP based authentication.  Use the IP address of the sending host
      and filter them through and Access Control List (ACL) to service
      only the intended clients.

   o  Incoming Interface based selection.  Use the incoming interface
      for the query as a discriminator to select which clients are to be
      served.  This is of particular applicability for SOHO devices,
      such as broadband routers that include embedded recursive name
      servers.

   o  Use TSIG [RFC2845] or SIG(0) [RFC2931] signed queries to
      authenticate the clients.  This is a less error prone method,
      which allows server operators to provide service to clients who
      change IP address frequently (e.g. roaming clients).  The current
      drawback of this method is that very few stub resolver
      implementations support TSIG or SIG(0) signing of outgoing
      queries.  The effective use of this method implies in most cases
      running a local instance of a caching nameserver or forwarder that
      will be able to TSIG sign the queries and send them on to the
      recursive nameserver of choice.

   In nameservers that do not need to be providing recursive service,
   for instance servers that are meant to be authoritative only, turn
   recursion off completely.  In general, it is a good idea to keep
   recursive and authoritative services separate as much as practical.
   This, of course, depends on local circumstances.

4.  Acknowledgments

   Joe Abley, Andrew Sullivan

5.  Security Considerations

   This document does not create any new security issues for the DNS
   protocol.

   It's not excessive to repeat that, although recommended
   configurations described in this document could alleviate the
   problem, the only solution to all kinds of source address spoofing
   problems is the wide-scale deployment of Ingress Filtering to prevent
   use of spoofed IP addresses [BCP38].

6.  References

6.1.  Normative References

   [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",
              STD 13, RFC 1034, November 1987.

   [RFC2671]  Vixie, P., "Extension Mechanisms for DNS (EDNS0)",
              RFC 2671, August 1999.

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

   [RFC2931]  Eastlake, D., "DNS Request and Transaction Signatures (
              SIG(0)s)", RFC 2931, September 2000.

6.2.  Informative References

   [BCP38]  Ferguson, P. and D. Senie, "Network Ingress Filtering:
            Defeating Denial of Service Attacks which employ IP Source
            Address Spoofing", BCP 38, RFC 2827, May 2000.

Authors' Addresses

   Joao Damas
   Internet Systems Consortium, Inc.
   950 Charter Street
   Redwood City, CA  94063
   US

   Phone: +1 650 423 1300
   Email: Joao_Damas@isc.org
   URI:   http://www.isc.org/

   Frederico A. C. Neves
   NIC.br / Registro.br
   Av. das Nacoes Unidas, 11541, 7
   Sao Paulo, SP  04578-000
   BR

   Phone: +55 11 5509 3511
   Email: fneves@registro.br
   URI:   http://registro.br/

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights 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; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.

Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.

Acknowledgment

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