draft-ietf-dnsop-reflectors-are-evil-03.txt | draft-ietf-dnsop-reflectors-are-evil-04.txt | |||
---|---|---|---|---|
Network Working Group J. Damas | Network Working Group J. Damas | |||
Internet-Draft ISC | Internet-Draft ISC | |||
Intended status: Informational F. Neves | Intended status: Best Current F. Neves | |||
Expires: August 17, 2007 Registro.br | Practice Registro.br | |||
February 13, 2007 | Expires: January 10, 2008 July 9, 2007 | |||
Preventing Use of Recursive Nameservers in Reflector Attacks | Preventing Use of Recursive Nameservers in Reflector Attacks | |||
draft-ietf-dnsop-reflectors-are-evil-03.txt | draft-ietf-dnsop-reflectors-are-evil-04.txt | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware | 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 | 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. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on August 17, 2007. | This Internet-Draft will expire on January 10, 2008. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2007). | |||
Abstract | Abstract | |||
This document describes ways to prevent the use of default configured | This document describes ways to prevent the use of default configured | |||
recursive nameservers as reflectors on DOS attacks. Recommended | recursive nameservers as reflectors in Denial of Service (DoS) | |||
configuration as measures to mitigate the attack are given. | attacks. Recommended configuration as measures to mitigate the | |||
attack are given. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Problem Description . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Document Terminology . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Recommended Configuration . . . . . . . . . . . . . . . . . . . 4 | 3. Problem Description . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Recommended Configuration . . . . . . . . . . . . . . . . . . . 4 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . . 6 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.2. Informative References . . . . . . . . . . . . . . . . . . 6 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 | ||||
8.2. Informative References . . . . . . . . . . . . . . . . . . 7 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
Intellectual Property and Copyright Statements . . . . . . . . . . 8 | Intellectual Property and Copyright Statements . . . . . . . . . . 8 | |||
1. Introduction | 1. Introduction | |||
Recently, DNS [RFC1034] has been named as a major factor in the | Recently, DNS [RFC1034] has been named as a major factor in the | |||
generation of massive amounts of network traffic used in Denial of | generation of massive amounts of network traffic used in Denial of | |||
Service (DoS) attacks. These attacks, called reflector attacks, are | Service (DoS) attacks. These attacks, called reflector attacks, are | |||
not due to any particular flaw in the design of the DNS or its | not due to any particular flaw in the design of the DNS or its | |||
implementations, aside perhaps the fact that DNS relies heavily on | implementations, aside perhaps the fact that DNS relies heavily on | |||
skipping to change at page 3, line 37 | skipping to change at page 3, line 37 | |||
mitigate the scale of an attack by modifying authoritative server | mitigate the scale of an attack by modifying authoritative server | |||
configurations are limited. This document's recommendations are | configurations are limited. This document's recommendations are | |||
concerned with recursive nameservers only. | concerned with recursive nameservers only. | |||
In this document we describe the characteristics of the attack and | In this document we describe the characteristics of the attack and | |||
recommend DNS server configurations that specifically alleviate the | recommend DNS server configurations that specifically alleviate the | |||
problem described, while pointing to the only truly real solution: | problem described, while pointing to the only truly real solution: | |||
the wide-scale deployment of ingress filtering to prevent use of | the wide-scale deployment of ingress filtering to prevent use of | |||
spoofed IP addresses [BCP38]. | spoofed IP addresses [BCP38]. | |||
2. Problem Description | 2. Document Terminology | |||
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. Problem Description | ||||
Because most DNS traffic is stateless by design, an attacker could | Because most DNS traffic is stateless by design, an attacker could | |||
start a DoS attack in the following way: | start a DoS attack in the following way: | |||
1. The attacker starts by configuring a record (LRECORD) on any zone | 1. The attacker starts by configuring a record (LRECORD) on any zone | |||
he has access to (AZONE), normally with large RDATA and TTL. | he has access to (AZONE), normally with large RDATA and TTL. | |||
2. Taking advantage of clients (ZCLIENTS) on non-BCP38 networks, the | 2. Taking advantage of clients (ZCLIENTS) on non-BCP38 networks, the | |||
attacker then crafts a query for LRECORD using the source address | attacker then crafts a query for LRECORD using the source address | |||
of their target victim and sends it to an open recursive | of their target victim and sends it to an open recursive | |||
nameserver (ORNS). | nameserver (ORNS). | |||
3. Each ORNS proceeds with the resolution, caches the LRECORD and | 3. Each ORNS proceeds with the resolution, caches the LRECORD and | |||
finally sends it to the target. After this first lookup, access | finally sends it to the target. After this first lookup, access | |||
to the authoritative nameservers for AZONE is normally no longer | to the authoritative nameservers for AZONE is normally no longer | |||
necessary. The LRECORD will remain cached for the duration of | necessary. The LRECORD will remain cached for the duration of | |||
the TTL at the ORNS even if the AZONE is corrected. | the TTL at the ORNS even if the AZONE is corrected. | |||
4. Cleanup of the AZONE might, depending on the implementation used | 4. Cleanup of the AZONE might, depending on the implementation used | |||
skipping to change at page 4, line 34 | skipping to change at page 4, line 43 | |||
historical reasons, from times when the Internet was a much closer- | historical reasons, from times when the Internet was a much closer- | |||
knit community, some nameserver implementations have been made | knit community, some nameserver implementations have been made | |||
available with default configurations that when used for recursive | available with default configurations that when used for recursive | |||
nameservers made the server accessible to all hosts on the Internet. | nameservers made the server accessible to all hosts on the Internet. | |||
For years this was a convenient and helpful configuration, enabling | For years this was a convenient and helpful configuration, enabling | |||
wider availability of services. As this document aims to make | wider availability of services. As this document aims to make | |||
apparent, it is now much better to be conscious of ones own | apparent, it is now much better to be conscious of ones own | |||
nameserver services and focus the delivery of services on the | nameserver services and focus the delivery of services on the | |||
intended audience of those services, be they a university campus, an | intended audience of those services, be they a university campus, an | |||
enterprise or an ISP's customers. The authors also want to draw the | enterprise or an ISP's customers. The target audience also includes | |||
attention of small network operators and private server managers who | operators of small network operators and private server managers who | |||
decide to operate nameservers with the aim of optimising their DNS | decide to operate nameservers with the aim of optimising their DNS | |||
service, as these are more likely to use default configurations as | service, as these are more likely to use default configurations as | |||
shipped by implementors. | shipped by implementors. | |||
3. Recommended Configuration | 4. Recommended Configuration | |||
From the description of the problem in the previous section it | From the description of the problem in the previous section it | |||
follows that the solution to these sort of attacks is the wide | follows that the solution to these sort of attacks is the wide | |||
deployment of ingress filtering [BCP38] in routers to prevent use of | deployment of ingress filtering [BCP38] in routers to prevent use of | |||
address spoofing as a viable course of action to prevent the attacks. | address spoofing as a viable course of action to prevent the attacks. | |||
In situations were more complex network setups are in place, "Ingress | In situations were more complex network setups are in place, "Ingress | |||
Filtering for Multihomed Network" [BCP84] maybe a useful additional | Filtering for Multihomed Network" [BCP84] maybe a useful additional | |||
reference. | reference. | |||
Nonetheless, the fact remains that DNS servers acting as open | Nonetheless, the fact remains that DNS servers acting as open | |||
recursive servers provide an easy means to obtain great rates of | recursive servers provide an easy means to obtain great rates of | |||
amplification for attack traffic, requiring only a small amount of | amplification for attack traffic, requiring only a small amount of | |||
traffic from the attack sources to generate a vast amount of traffic | traffic from the attack sources to generate a vast amount of traffic | |||
towards the victim. | towards the victim. | |||
The authors also want to note that with the increasing length of | With the increasing length of authoritative DNS responses derived | |||
authoritative DNS responses derived from deployment of DNSSEC and | from deployment of DNSSEC and NAPTR as used in ENUM services, | |||
NAPTR as used in ENUM services, authoritative servers will eventually | authoritative servers will eventually be more useful as actors in | |||
be more useful as actors in this sort of amplification attack, | this sort of amplification attack, stressing even more the need for | |||
stressing even more the need for deployment of BCP 38. | deployment of BCP 38. | |||
In this section we describe the Current Best Practice for operating | In this section we describe the Best Current Practice for operating | |||
recursive nameservers. Following these recommendations would reduce | recursive nameservers. Following these recommendations would reduce | |||
the chances of having a given recursive nameserver be used for the | the chances of having a given recursive nameserver be used for the | |||
generation of an amplification attack. | generation of an amplification attack. | |||
The generic recommendation to nameserver operators is to use the | The generic recommendation to nameserver operators is to use the | |||
means provided by the implementation of choice to provide recursive | means provided by the implementation of choice to provide recursive | |||
name lookup service only to the intended clients. Client | name lookup service only to the intended clients. Client | |||
authentication can be usually done in several ways: | authentication can be usually done in several ways: | |||
o IP based authentication. Use the IP address of the sending host | o IP based authentication. Use the IP address of the sending host | |||
skipping to change at page 6, line 5 | skipping to change at page 6, line 12 | |||
running a local instance of a caching nameserver or forwarder that | 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 | will be able to TSIG sign the queries and send them on to the | |||
recursive nameserver of choice. | recursive nameserver of choice. | |||
In nameservers that do not need to be providing recursive service, | In nameservers that do not need to be providing recursive service, | |||
for instance servers that are meant to be authoritative only, turn | for instance servers that are meant to be authoritative only, turn | |||
recursion off completely. In general, it is a good idea to keep | recursion off completely. In general, it is a good idea to keep | |||
recursive and authoritative services separate as much as practical. | recursive and authoritative services separate as much as practical. | |||
This, of course, depends on local circumstances. | This, of course, depends on local circumstances. | |||
By default, nameservers SHOULD not offer recursive service to | By default, nameservers SHOULD NOT offer recursive service to | |||
external networks. | external networks. | |||
4. Acknowledgments | ||||
The authors would like to acknowledge the helpful input and comments | ||||
of Joe Abley, Olafur Gudmundsson, Pekka Savola, and Andrew Sullivan. | ||||
5. Security Considerations | 5. Security Considerations | |||
This document does not create any new security issues for the DNS | This document does not create any new security issues for the DNS | |||
protocol. | protocol, it deals with a weakness in implementations. | |||
It's not excessive to repeat that, although recommended | It's not excessive to repeat that, although recommended | |||
configurations described in this document could alleviate the | configurations described in this document could alleviate the | |||
problem, the only solution to source address spoofing problems is the | problem, the only solution to source address spoofing problems is the | |||
wide-scale deployment of Ingress Filtering to prevent use of spoofed | wide-scale deployment of Ingress Filtering to prevent use of spoofed | |||
IP addresses [BCP38], [BCP84]. | IP addresses [BCP38], [BCP84]. | |||
6. References | 6. Acknowledgments | |||
6.1. Normative References | The authors would like to acknowledge the helpful input and comments | |||
of Joe Abley, Olafur Gudmundsson, Pekka Savola, and Andrew Sullivan. | ||||
7. IANA Considerations | ||||
This document does not define a registry and does not require any | ||||
IANA action. | ||||
8. References | ||||
8.1. Normative References | ||||
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
STD 13, RFC 1034, November 1987. | STD 13, RFC 1034, November 1987. | |||
[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)", | [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", | |||
RFC 2671, August 1999. | RFC 2671, August 1999. | |||
[RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D., and B. | [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D., and B. | |||
Wellington, "Secret Key Transaction Authentication for DNS | Wellington, "Secret Key Transaction Authentication for DNS | |||
(TSIG)", RFC 2845, May 2000. | (TSIG)", RFC 2845, May 2000. | |||
[RFC2931] Eastlake, D., "DNS Request and Transaction Signatures ( | [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures ( | |||
SIG(0)s)", RFC 2931, September 2000. | SIG(0)s)", RFC 2931, September 2000. | |||
6.2. Informative References | 8.2. Informative References | |||
[BCP38] Ferguson, P. and D. Senie, "Network Ingress Filtering: | [BCP38] Ferguson, P. and D. Senie, "Network Ingress Filtering: | |||
Defeating Denial of Service Attacks which employ IP Source | Defeating Denial of Service Attacks which employ IP Source | |||
Address Spoofing", BCP 38, RFC 2827, May 2000. | Address Spoofing", BCP 38, RFC 2827, May 2000. | |||
[BCP84] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | [BCP84] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | |||
Networks", BCP 84, RFC 3704, March 2004. | Networks", BCP 84, RFC 3704, March 2004. | |||
Authors' Addresses | Authors' Addresses | |||
End of changes. 19 change blocks. | ||||
33 lines changed or deleted | 51 lines changed or added | |||
This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |