draft-ietf-grow-unique-origin-as-01.txt | rfc6382.txt | |||
---|---|---|---|---|
INTERNET-DRAFT Danny McPherson | ||||
Ryan Donnelly | ||||
Frank Scalzo | ||||
Verisign, Inc. | ||||
Expires: January 2012 July 2, 2011 | ||||
Intended Status: Best Current Practice | ||||
Unique Per-Node Origin ASNs for Globally Anycasted Services | Internet Engineering Task Force (IETF) D. McPherson | |||
<draft-ietf-grow-unique-origin-as-01.txt> | Request for Comments: 6382 R. Donnelly | |||
BCP: 169 F. Scalzo | ||||
Category: Best Current Practice Verisign, Inc. | ||||
ISSN: 2070-1721 October 2011 | ||||
Status of this Memo | Unique Origin Autonomous System Numbers (ASNs) | |||
per Node for Globally Anycasted Services | ||||
This Internet-Draft is submitted to IETF in full conformance with the | Abstract | |||
provisions of BCP 78 and BCP 79. | ||||
This document is subject to BCP 78 and the IETF Trust's Legal Provisions | This document makes recommendations regarding the use of unique | |||
Relating to IETF Documents (http://trustee.ietf.org/license-info) | origin autonomous system numbers (ASNs) per node for globally | |||
in effect on the date of publication of this document. Please | anycasted critical infrastructure services in order to provide | |||
review these documents carefully, as they describe your rights and | routing system discriminators for a given anycasted prefix. Network | |||
restrictions with respect to this document. Code Components | management and monitoring techniques, or other operational | |||
extracted from this document must include Simplified BSD License | mechanisms, may employ this new discriminator in whatever manner best | |||
text as described in Section 4.e of the Trust Legal Provisions and | accommodates their operating environment. | |||
are provided without warranty as described in the Simplified BSD | ||||
License. | ||||
Internet-Drafts are working documents of the Internet Engineering Task | Status of This Memo | |||
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 | This memo documents an Internet Best Current Practice. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
http://www.ietf.org/1id-abstracts.html | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | ||||
Internet Engineering Steering Group (IESG). Further information on | ||||
BCPs is available in Section 2 of RFC 5741. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | Information about the current status of this document, any errata, | |||
http://www.ietf.org/shadow.html | and how to provide feedback on it may be obtained at | |||
http://www.rfc-editor.org/info/rfc6382. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
Abstract | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | ||||
This document makes recommendations regarding the use of unique | (http://trustee.ietf.org/license-info) in effect on the date of | |||
origin autonomous system numbers per node for globally anycasted | publication of this document. Please review these documents | |||
critical infrastructure services in order to provide routing system | carefully, as they describe your rights and restrictions with respect | |||
discriminators for a given anycasted prefix. Network management and | to this document. Code Components extracted from this document must | |||
monitoring techniques, or other operational mechanisms may employ | include Simplified BSD License text as described in Section 4.e of | |||
this new discriminator in whatever manner best accommodates their | the Trust Legal Provisions and are provided without warranty as | |||
operating environment. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction ....................................................2 | |||
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology .....................................................4 | |||
3. Recommendation for Unique Origin ASNs. . . . . . . . . . . . . 7 | 3. Recommendation for Unique Origin ASNs ...........................5 | |||
4. Additional Recommendations for Globally Anycasted | 4. Additional Recommendations for Globally Anycasted Services ......6 | |||
Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations .........................................7 | |||
5. Security Considerations. . . . . . . . . . . . . . . . . . . . 8 | 6. Deployment Considerations .......................................7 | |||
6. Deployment Considerations. . . . . . . . . . . . . . . . . . . 9 | 7. Acknowledgements ................................................9 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 | 8. IANA Considerations .............................................9 | |||
8. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 11 | 9. References ......................................................9 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 9.1. Normative References .......................................9 | |||
9.1. Normative References. . . . . . . . . . . . . . . . . . . . 11 | 9.2. Informative References .....................................9 | |||
9.2. Informative References. . . . . . . . . . . . . . . . . . . 11 | ||||
10. Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . 12 | ||||
1. Terminology | ||||
This document employs much of the following terminology, which was | ||||
taken in full from Section 2 of [RFC 4786]. | ||||
Anycast: the practice of making a particular Service Address | ||||
available in multiple, discrete, autonomous locations, such that | ||||
datagrams sent are routed to one of several available locations. | ||||
Anycast Node: an internally-connected collection of hosts and | ||||
routers that together provide service for an anycast Service | ||||
Address. An Anycast Node might be as simple as a single host | ||||
participating in a routing system with adjacent routers, or it | ||||
might include a number of hosts connected in some more elaborate | ||||
fashion; in either case, to the routing system across which the | ||||
service is being anycast, each Anycast Node presents a unique path | ||||
to the Service Address. The entire anycast system for the service | ||||
consists of two or more separate Anycast Nodes. | ||||
Catchment: in physical geography, an area drained by a river, also | ||||
known as a drainage basin. By analogy, as used in this document, | ||||
the topological region of a network within which packets directed | ||||
at an Anycast Address are routed to one particular node. | ||||
Local-Scope Anycast: reachability information for the anycast | ||||
Service Address is propagated through a routing system in such a | ||||
way that a particular anycast node is only visible to a subset of | ||||
the whole routing system. | ||||
Local Node: an Anycast Node providing service using a Local-Scope | ||||
Anycast Address. | ||||
Global Node: an Anycast Node providing service using a Global-Scope | ||||
Anycast Address. | ||||
Global-Scope Anycast: reachability information for the anycast | ||||
Service Address is propagated through a routing system in such a | ||||
way that a particular anycast node is potentially visible to the | ||||
whole routing system. | ||||
Service Address: an IP address associated with a particular service | ||||
(e.g., the destination address used by DNS resolvers to reach a | ||||
particular authority server). | ||||
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 [RFC 2119]. | ||||
2. Introduction | 1. Introduction | |||
IP anycasting [RFC 4786] has been deployed for an array of network | IP anycasting [RFC4786] has been deployed for an array of network | |||
services since the early 1990s. It provides a mechanism for a given | services since the early 1990s. It provides a mechanism for a given | |||
network resource to be available in a more distributed manner, | network resource to be available in a more distributed manner, | |||
locally and/or globally, with a more robust and resilient footprint, | locally and/or globally, with a more robust and resilient footprint, | |||
commonly yielding better localization and absorption of systemic | commonly yielding better localization and absorption of systemic | |||
query loads, as well as better protections in the face of DDoS | query loads, as well as better protections in the face of distributed | |||
attacks, network partitions, and other similar incidents. A large | denial-of-service (DDoS) attacks, network partitions, and other | |||
part of the Internet root DNS infrastructure, as well as many other | similar incidents. A large part of the Internet root DNS | |||
resources, has been anycasted for nearly a decade. | infrastructure, as well as many other resources, has been anycasted | |||
for nearly a decade. | ||||
While the benefits realized by anycasting network services is proven, | While the benefits realized by anycasting network services is proven, | |||
some issues do emerge with asserting routing system reachability for | some issues do emerge with asserting routing system reachability for | |||
a common network identifier from multiple locations. Specifically, | a common network identifier from multiple locations. Specifically, | |||
anycasting in BGP requires injection of reachability information in | anycasting in BGP requires injection of reachability information in | |||
the routing system for a common IP address prefix from multiple | the routing system for a common IP address prefix from multiple | |||
locations. These anycasted prefixes and network services have | locations. These anycasted prefixes and network services have | |||
traditionally employed a common origin autonomous system number (ASN) | traditionally employed a common origin autonomous system number (ASN) | |||
in order to preserve historically scarce 16-bit AS number space | in order to preserve historically scarce 16-bit AS number space | |||
utilized by BGP for routing domain identifiers in the global routing | utilized by BGP for routing domain identifiers in the global routing | |||
system. Additionally, a common origin AS number was used in order to | system. Additionally, a common origin AS number was used in order to | |||
ease management overhead of resource operations associated with | ease management overhead of resource operations associated with | |||
acquiring and maintaining multiple discrete AS numbers, as well as to | acquiring and maintaining multiple discrete AS numbers as well as to | |||
avoid triggering various operations- oriented reporting functions | avoid triggering various operations-oriented reporting functions | |||
aimed at identifying "inconsistent origin AS announcements" observed | aimed at identifying "inconsistent origin AS announcements" observed | |||
in the routing system. As a result, the representation of routing | in the routing system. As a result, the representation of routing | |||
system path attributes associated with those service instances, and | system path attributes associated with those service instances, and | |||
that anycasted prefix itself, typically bear no per-instance | that anycasted prefix itself, typically bear no per-instance | |||
discriminators in the routing system (i.e., within the network | discriminators in the routing system (i.e., within the network | |||
control plane itself). | control plane itself). | |||
Service level query capabilities may or may not provide a mechanism | Service-level query capabilities may or may not provide a mechanism | |||
to identify which anycast node responded to a particular query, | to identify which anycast node responded to a particular query, | |||
although this is likely both service (e.g., DNS or NTP) and | although this is likely both service (e.g., DNS or NTP) and | |||
implementation dependent. For example, NSD, Unbound, and BIND all | implementation dependent. For example, Name Server Daemon (NSD), | |||
provide 'hostname.bind or hostname.id' [HNAME] query support that | Unbound, and BIND all provide 'hostname.bind or hostname.id' | |||
enables service-level identification of a given server. Tools such | [RFC4892] [RFC5001] query support that enables service-level | |||
as traceroute are also used to determine which location a given query | identification of a given server. Tools such as traceroute are also | |||
is being routed to, although it may not reveal local-scope anycast | used to determine to which location a given query is being routed, | |||
instances, or if there are multiple servers within a given anycast | although it may not reveal local-scope anycast instances, or if there | |||
node, which of the servers responded to a given query, in particular | are multiple servers within a given anycast node, which of the | |||
when multiple servers within an anycast node are connected to a | servers responded to a given query, in particular, when multiple | |||
single IP router. When utilizing these service level capabilities, | servers within an anycast node are connected to a single IP router. | |||
query responses are typically both deterministic and inherently | When utilizing these service-level capabilities, query responses are | |||
topology-dependent, however, these service level identifiers at the | typically both deterministic and inherently topology dependent; | |||
data plane provide no control plane (routing system) uniqueness. | however, these service-level identifiers at the data plane provide no | |||
control plane (routing system) uniqueness. | ||||
As more services are globally anycasted, and existing anycasted | As more services are globally anycasted, and existing anycasted | |||
services realize wider deployment of anycast nodes for a given | services realize wider deployment of anycast nodes for a given | |||
service address in order to accommodate growing system loads, the | service address in order to accommodate growing system loads, the | |||
difficulty of providing safeguards and controls to better protect | difficulty of providing safeguards and controls to better protect | |||
those resources expands. Intuitively, the more widely distributed a | those resources expands. Intuitively, the more widely distributed a | |||
given anycasted service address is, the more difficult it becomes for | given anycasted service address is, the more difficult it becomes for | |||
network operators to detect operational and security issues that | network operators to detect operational and security issues that | |||
affect that service. Some examples of such security and operational | affect that service. Some examples of such security and operational | |||
issues include BGP route leaks affecting the anycasted service, rogue | issues include BGP route leaks affecting the anycasted service, rogue | |||
anycast nodes appearing for the service, or the emergence of other | anycast nodes appearing for the service, or the emergence of other | |||
aberrant behavior in either the routing system, the forward query | aberrant behavior in either the routing system, the forward query | |||
datapath, or query response datapath. Diagnosis of the routing | datapath, or query response datapath. Diagnosis of the routing | |||
system issues is complicated by the fact that no unique | system issues is complicated by the fact that no unique | |||
discriminators exist in the routing system to identify a given local | discriminators exist in the routing system to identify a given local | |||
or global anycast node. Furthermore, both datapath and routing | or global anycast node. Furthermore, both datapath and routing | |||
system problem identification is compounded by the fact that these | system problem identification is compounded by the fact that these | |||
incident types can be topologically-dependent, and only observable | incident types can be topologically dependent, and only observable | |||
between a given client-server set. | between a given client-server set. | |||
Additionally, while it goes without saying that many anycasted | Additionally, while it goes without saying that many anycasted | |||
services strive for exact synchronization across all instances of an | services strive for exact synchronization across all instances of an | |||
anycasted service address, if local policies or data plane response | anycasted service address, if local policies or data plane response | |||
manipulation techniques were to "influence" responses within a given | manipulation techniques were to "influence" responses within a given | |||
region in such a way that those responses are no longer authentic or | region in such a way that those responses are no longer authentic or | |||
that they diverge from what other nodes within an anycasted service | that they diverge from what other nodes within an anycasted service | |||
were providing, then it should be an absolute necessity that those | were providing, then it should be an absolute necessity that those | |||
modified resources only be utilized by service consumers within that | modified resources only be utilized by service consumers within that | |||
region or influencer's jurisdiction. | region or influencer's jurisdiction. | |||
Mechanisms should exist at both the network and service layer to make | Mechanisms should exist at both the network- and service-layer to | |||
it abundantly apparent to operators and users alike whether any of | make it abundantly apparent to operators and users alike whether any | |||
the query responses are not authentic. For DNS, DNSSEC [RFC 4033] | of the query responses are not authentic. For DNS, DNSSEC [RFC4033] | |||
provides this capability at the service layer with object level | provides this capability at the service layer with object-level | |||
integrity, assuming validation is being performed by recursive name | integrity, assuming validation is being performed by recursive name | |||
servers, and DNSSEC deployment at the root and top level domain (TLD) | servers, and DNSSEC deployment at the root and top-level domain (TLD) | |||
levels is well underway [DNSSEC-DEPLOY]. Furthermore, control plane | levels is well underway [DNSSEC-DEPLOY]. Furthermore, control plane | |||
discriminators should exist to enable operators to know toward which | discriminators should exist to enable operators to know toward which | |||
of a given set of instances a query is being directed, and to enable | of a given set of instances a query is being directed, and to enable | |||
detection and alerting capabilities when this changes. Such | detection and alerting capabilities when this changes. Such | |||
discriminators may also be employed to enable anycast node preference | discriminators may also be employed to enable anycast node preference | |||
or filtering keys, should local operational policy require it. | or filtering keys, should local operational policy require it. | |||
2. Terminology | ||||
This document employs much of the following terminology, which was | ||||
taken in full from Section 2 of [RFC4786]. | ||||
Service Address: an IP address associated with a particular | ||||
service (e.g., the destination address used by DNS resolvers to | ||||
reach a particular authority server). | ||||
Anycast: the practice of making a particular Service Address | ||||
available in multiple, discrete, autonomous locations, such | ||||
that datagrams sent are routed to one of several available | ||||
locations. | ||||
Anycast Node: an internally-connected collection of hosts and | ||||
routers that together provide service for an anycast Service | ||||
Address. An Anycast Node might be as simple as a single host | ||||
participating in a routing system with adjacent routers, or it | ||||
might include a number of hosts connected in some more | ||||
elaborate fashion; in either case, to the routing system across | ||||
which the service is being anycast, each Anycast Node presents | ||||
a unique path to the Service Address. The entire anycast | ||||
system for the service consists of two or more separate Anycast | ||||
Nodes. | ||||
Catchment: in physical geography, an area drained by a river, | ||||
also known as a drainage basin. By analogy, as used in this | ||||
document, the topological region of a network within which | ||||
packets directed at an Anycast Address are routed to one | ||||
particular node. | ||||
Local-Scope Anycast: reachability information for the anycast | ||||
Service Address is propagated through a routing system in such | ||||
a way that a particular anycast node is only visible to a | ||||
subset of the whole routing system. | ||||
Local Node: an Anycast Node providing service using a Local-Scope | ||||
Anycast Address. | ||||
Global Node: an Anycast Node providing service using a Global- | ||||
Scope Anycast Address. | ||||
Global-Scope Anycast: reachability information for the anycast | ||||
Service Address is propagated through a routing system in such | ||||
a way that a particular anycast node is potentially visible to | ||||
the whole routing system. | ||||
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. Recommendation for Unique Origin ASNs | 3. Recommendation for Unique Origin ASNs | |||
In order to be able to better detect changes to routing information | In order to be able to better detect changes to routing information | |||
associated with critical anycasted resources, globally anycasted | associated with critical anycasted resources, globally anycasted | |||
services with partitioned origin ASNs SHOULD utilize a unique origin | services with partitioned origin ASNs SHOULD utilize a unique origin | |||
ASN per node where possible, if appropriate in their operating | ASN per node where possible, if appropriate in their operating | |||
environment and service model. | environment and service model. | |||
Discrete origin ASNs per node provide a discriminator in the routing | Discrete origin ASNs per node provide a discriminator in the routing | |||
system that would enable detection of leaked or hijacked instances | system that would enable detection of leaked or hijacked instances | |||
more quickly, and would also enable operators that so choose to | more quickly and would enable operators that so choose to proactively | |||
proactively develop routing policies that express preferences or | develop routing policies that express preferences or avoidance for a | |||
avoidance for a given node or set of nodes associated with an | given node or set of nodes associated with an anycasted service. | |||
anycasted service. This is particularly useful when it is observed | This is particularly useful when it is observed that local policy or | |||
that local policy or known issues exist with the performance or | known issues exist with the performance or authenticity of responses | |||
authenticity of responses returned from a specific anycast node, or | returned from a specific anycast node, or that enacted policies meant | |||
that enacted policies meant to affect service within a particular | to affect service within a particular region are affecting users | |||
region are affecting users outside of that region as a result of a | outside of that region as a result of a given anycast catchment | |||
given anycast catchment expanding beyond its intended scope. | expanding beyond its intended scope. | |||
Furthermore, inconsistent origin AS announcements associated with | Furthermore, inconsistent origin AS announcements associated with | |||
anycasted services for critical infrastructure SHOULD NOT be deemed | anycasted services for critical infrastructure SHOULD NOT be deemed | |||
undesirable by routing system reporting functions, but should instead | undesirable by routing system reporting functions, but should instead | |||
be embraced in order to better identify the connectedness and | be embraced in order to better identify the connectedness and | |||
footprint of a given anycasted service. | footprint of a given anycasted service. | |||
While namespace conservation and reasonable use of AS number | While namespace conservation and reasonable use of AS number | |||
resources should always be a goal, the introduction of 32-bit ASNs | resources should always be a goal, the introduction of 32-bit ASNs | |||
significantly lessens concerns in this space. Globally anycasted | significantly lessens concerns in this space. Globally anycasted | |||
resources, in particular those associated with critical | resources, in particular, those associated with critical | |||
infrastructure-enabling services such as root and TLD name servers, | infrastructure-enabling services such as root and TLD name servers, | |||
SHOULD warrant special consideration with regard to AS number | SHOULD warrant special consideration with regard to AS number | |||
allocation practices during policy development by the constituents of | allocation practices during policy development by the constituents of | |||
those responsible organizations (e.g., the Regional Internet | those responsible organizations (e.g., the Regional Internet | |||
Registries). Additionally, defining precisely what constitutes | Registries). Additionally, defining precisely what constitutes | |||
"critical infrastructure services" or "special consideration" (e.g., | "critical infrastructure services" or "special consideration" (e.g., | |||
some small range of 32-bit AS numbers might be provided) is left to | some small range of 32-bit AS numbers might be provided) is left to | |||
the constituents of those organizations. Additionally, critical | the constituents of those organizations. Additionally, critical | |||
infrastructure employment of 32-bit ASNs for new nodes might well | infrastructure employment of 32-bit ASNs for new nodes might well | |||
help to foster more rapid adoption of native 32-bit ASN support by | help to foster more rapid adoption of native 32-bit ASN support by | |||
network operators. | network operators. | |||
One additional benefit of unique origin AS numbers per anycast node | One additional benefit of unique origin AS numbers per anycast node | |||
is that Resource PKI (RPKI) Secure Inter-domain Routing [SIDR] | is that Resource Public Key Infrastructure (RPKI) Secure Inter-domain | |||
machinery, and in particular, that of Route Origin Authorizations | Routing [SIDR] machinery, and, in particular, that of Route Origin | |||
(ROAs), and routing policies that may be derived based on those ROAs, | Authorizations (ROAs), and routing policies that may be derived based | |||
can be employed with per anycast node resolution, rather than relying | on those ROAs, can be employed with per-anycast-node resolution, | |||
on a single ROA and common origin AS to cover all instantiations of | rather than relying on a single ROA and common origin AS to cover all | |||
an anycasted prefix (possibly hundreds) within the global routing | instantiations of an anycasted prefix (possibly hundreds) within the | |||
system. For example, deployments that incorporate partitioned ASN | global routing system. For example, in the case of deployments that | |||
anycast models that have a single ASN bound to all nodes but cross | incorporate partitioned ASN anycast models that have a single ASN | |||
organizational or political boundaries, a situation may arise where | bound to all nodes but crossing organizational or political | |||
nobody would be deemed appropriate to hold the key for the ROA. | boundaries, a situation may arise where nobody would be deemed | |||
Additionally, a globally anycasted service within a given IP prefix | appropriate to hold the key for the ROA. Additionally, a globally | |||
that shares a common ASN might be taken totally offline because of | anycasted service within a given IP prefix that shares a common ASN | |||
the revocation of a ROA for that origin ASN. The RPKI model today | might be taken totally offline because of the revocation of an ROA | |||
already inherently accommodates issuance of multiple ROAs with unique | for that origin ASN. Today's RPKI model already inherently | |||
origins for a given prefix. | accommodates issuance of multiple ROAs with unique origins for a | |||
given prefix. | ||||
4. Additional Recommendations for Globally Anycasted Services | 4. Additional Recommendations for Globally Anycasted Services | |||
Two additional recommendations for globally anycasted critical | Two additional recommendations for globally anycasted critical | |||
infrastructure services are related to publication of information | infrastructure services are related to publication of information | |||
associated with a given node's physical location, and which adjacent | associated with a given node's physical location, and with which | |||
upstream ASNs an origin AS interconnects with. The former would | adjacent upstream ASNs an origin AS interconnects. The former would | |||
allow operators to better define and optimize preferences associated | allow operators to better define and optimize preferences associated | |||
with a given node to align with local policy and service | with a given node to align with local policy and service | |||
optimizations. The latter would allow expression through policy such | optimizations. The latter would allow expression through policy such | |||
as Routing Policy Specification Language [RFC 4012] specified in | as Routing Policy Specification Language [RFC4012] specified in | |||
Internet Routing Registries (IRRs) in a manner that illustrates a | Internet Routing Registries (IRRs) in a manner that illustrates a | |||
discrete set of upstream ASNs for each anycast node, rather than the | discrete set of upstream ASNs for each anycast node, rather than the | |||
current model where all upstream ASNs associated with a common origin | current model where all upstream ASNs associated with a common origin | |||
AS may or may not be expressed. This information would provide an | AS may or may not be expressed. This information would provide an | |||
additional level of static routing policy or monitoring and detection | additional level of static routing policy or monitoring and detection | |||
models by network operators, and perhaps explicit network layer | models by network operators and perhaps explicit network-layer source | |||
source address validation in the datapath. | address validation in the datapath. | |||
5. Security Considerations | 5. Security Considerations | |||
The recommendations made in this memo aim to provide more flexibility | The recommendations made in this memo aim to provide more flexibility | |||
for network operators hoping to better monitor and prevent issues | for network operators hoping to better monitor and prevent issues | |||
related to globally anycasted critical infrastructure resources. | related to globally anycasted critical infrastructure resources. | |||
Anycast itself provides considerable benefit in the face of certain | Anycast itself provides considerable benefit in the face of certain | |||
attacks, yet if a given instance of a service can appear at many | attacks; yet, if a given instance of a service can appear at many | |||
points in the routing system and legitimate instances are difficult | points in the routing system and legitimate instances are difficult | |||
to distinguish from malicious ones, then anycast expands the | to distinguish from malicious ones, then anycast expands the | |||
service's attack surface rather than reducing it. | service's attack surface rather than reducing it. | |||
The recommendations made in this document are expressed to assist | The recommendations made in this document are expressed to assist | |||
with visibility and policy specification capabilities in order to | with visibility and policy specification capabilities in order to | |||
improve the availability of critical Internet resources. Use cases | improve the availability of critical Internet resources. Use cases, | |||
where the recommendations outlined in this memo may have helped to | where the recommendations outlined in this memo may have helped to | |||
more easily detect or scope the impact of a particular incident are | more easily detect or scope the impact of a particular incident, are | |||
illustrated in [RENESYS-BLOG]. | illustrated in [RENESYS-BLOG]. | |||
Furthermore, while application layer protection mechanisms such as | Furthermore, while application-layer protection mechanisms such as | |||
DNSSEC provide object level integrity and authentication, they often | DNS security extensions (DNSSEC) provide object-level integrity and | |||
do so at the cost of introducing more failure conditions. For | authentication, they often do so at the cost of introducing more | |||
example, if a recursive name server is performing DNSSEC validator | failure conditions. For example, if a recursive name server is | |||
functions and receives a bogus response to a given query as a result | performing DNSSEC validator functions and receives a bogus response | |||
of a man-in-the-middle (MITM) or injected spoofed response packet | to a given query as a result of a man-in-the-middle (MITM) or | |||
such as a cache poisoning attempt, the possibility might exist that | injected spoofed response packet such as a cache-poisoning attempt, | |||
the response packet is processed by the server and results in some | the possibility might exist that the response packet is processed by | |||
temporal or persistent DoS condition on the recursive name server and | the server and results in some temporal or persistent DoS condition | |||
for its client set. The unique origin AS mechanism outlined in this | on the recursive name server and for its client set. The unique | |||
document provides the capability for network operators to expressly | origin AS mechanism outlined in this document provides the capability | |||
avoid anycast node catchments known to regularly elicit bogus | for network operators to expressly avoid anycast node catchments | |||
responses, while allowing the anycasted service address to remain | known to regularly elicit bogus responses, while allowing the | |||
available otherwise. | anycasted service address to remain available otherwise. | |||
6. Deployment Considerations | 6. Deployment Considerations | |||
Maintenance of unique ASNs for each node within an anycasted service | Maintenance of unique ASNs for each node within an anycasted service | |||
may be challenging for some critical infrastructure service operators | may be challenging for some critical infrastructure service operators | |||
initially, but for globally anycasted resources there needs to be | initially, but for globally anycasted resources, there needs to be | |||
some type of per-node discriminator in the control plane to enable | some type of per-node discriminator in the control plane to enable | |||
detection, remediation, and optimally, preventative controls for | detection, remediation, and optimally, preventative controls for | |||
dealing with routing system anomalies that are intensified by the | dealing with routing system anomalies that are intensified by the | |||
application of IP anycasting. Additionally, this technique sets the | application of IP anycasting. Additionally, this technique sets the | |||
stage to employ RPKI-enabled machinery and more secure and explicit | stage to employ RPKI-enabled machinery and more secure and explicit | |||
routing policies, which all network operators should be considering. | routing policies, which all network operators should be considering. | |||
The granularity of data publication related to anycast node location | The granularity of data publication related to anycast node location | |||
should be left to the devises of each services operator, and the | should be left to the devises of each services operator, and the | |||
value of this mechanism in each operators unique environment, but | value of this mechanism in each operator's unique environment, but | |||
some reasonable level of detail to enable operators and service | some reasonable level of detail to enable operators and service | |||
consumers to make informed decisions that align with their security | consumers to make informed decisions that align with their security | |||
and operational objectives as outlined herein should be provided by | and operational objectives as outlined herein should be provided by | |||
each critical services operator. | each critical services operator. | |||
Adjacent AS information for a given origin AS can be obtained through | Adjacent AS information for a given origin AS can already be obtained | |||
careful routing system analysis already when prefixes are advertised | through careful routing system analysis when prefixes are advertised | |||
via a given set of AS adjacencies, and therefore should present no | via a given set of AS adjacencies, and therefore, should present no | |||
new threat. However, network interconnection and peering policies | new threat. However, network interconnection and peering policies | |||
may well present some challenges in this area. For example, if a | may well present some challenges in this area. For example, if a | |||
technique such as unique origin AS per node is employed then a single | technique such as unique origin AS per node is employed, then a | |||
organizaton may no longer have a single AS for interconnection at | single organization may no longer have a single AS for | |||
each location, and interconnection policies should expressly consider | interconnection at each location, and interconnection policies should | |||
this. That said, interconnection with networks that provide critical | expressly consider this. That said, interconnection with networks | |||
infrastructure services should certainly be given due consideration | that provide critical infrastructure services should certainly be | |||
as such by network operators when evaluating interconnection | given due consideration as such by network operators when evaluating | |||
strategies. | interconnection strategies. | |||
Some root and TLD operators today identify erroneous anycast prefix | Today, some root and TLD operators identify erroneous anycast prefix | |||
announcements by detecting prefix announcements with an origin AS | announcements by detecting prefix announcements with an origin AS | |||
other than the common origin AS shared via all nodes. This detection | other than the common origin AS shared via all nodes. This detection | |||
model would need to be expanded to account for unique origin ASNs per | model would need to be expanded to account for unique origin ASNs per | |||
node if a given service operators chooses to employ such a model, and | node if a given service operator chooses to employ such a model. | |||
given that AS paths are trivial to manipulate in the current system, | Given that AS paths are trivial to manipulate in the current system, | |||
the above technique would only assist in the event of unintentional | the above technique would only assist in the event of unintentional | |||
configuration errors that reoriginate the route (e.g., it doesn't | configuration errors that reoriginate the route (e.g., it does not | |||
even detect leaks that preserve the initial path elements). In that | detect leaks that preserve the initial path elements). In that case, | |||
case, work underway on routing security origin and path validation in | work underway on routing security origin and path validation in the | |||
the SIDR working group and beyond should be consulted. | SIDR working group and beyond should be consulted. | |||
While local policy based on any BGP attributes, to include AS path | While local policy based on any BGP attributes, to include AS path | |||
information, can influence policy within a local administrative | information, can influence policy within a local administrative | |||
domain and possibly downstream, there exists a possibly that upstream | domain and possibly downstream, there exists a possibility that | |||
nodes continue to use a route deemed undesirable by the local admin | upstream nodes continue to use a route deemed undesirable by the | |||
once data packets reach that network. Network operators must | local administrator once data packets reach that network. Network | |||
understand the implications of this property in their operating | operators must understand the implications of this property in their | |||
environment, as it is inherent in all Interent routing. | operating environment, as it is inherent in all Internet routing. | |||
Finally, anycast node presence at exchange points that employ route | Finally, anycast node presence at exchange points that employ route | |||
servers may make enumeration of adjacent ASNs for a given node | servers may make enumeration of adjacent ASNs for a given node | |||
challenging. While this is understood, service operators should make | challenging. While this is understood, service operators should make | |||
every effort to enumerate the set of adjacent ASNs associated with a | every effort to enumerate the set of adjacent ASNs associated with a | |||
given anycast node's origin AS. Without express understanding of | given anycast node's origin AS. Without express understanding of | |||
legitimate AS interconnection and authorized origin AS information, | legitimate AS interconnection and authorized origin AS information, | |||
more secure routing is difficult to achieve. | more secure routing is difficult to achieve. | |||
7. Acknowledgements | 7. Acknowledgements | |||
Thanks to David Conrad, Steve Kent, Mark Kosters, Andrei Robachevsky, | Thanks to David Conrad, Steve Kent, Mark Kosters, Andrei Robachevsky, | |||
Paul Vixie, Brad Verd, Andrew Herrmann, Gaurab Raj Upadhaya, Joe | Paul Vixie, Brad Verd, Andrew Herrmann, Gaurab Raj Upadhaya, Joe | |||
Abley, Benson Schliesser, Shane Amante, Hugo Salgado, and Randy Bush | Abley, Benson Schliesser, Shane Amante, Hugo Salgado, and Randy Bush | |||
for review and comments on this concept. | for review and comments on this concept. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This document requires no direct IANA actions, although it does | This document requires no direct IANA actions, although it does | |||
provide general guidance to number resource allocation and policy | provide general guidance to number resource allocation and policy | |||
development organizations, and in particular Regional Internet | development organizations, and, in particular, Regional Internet | |||
Registries, regarding allocation of AS numbers for globally anycasted | Registries, regarding allocation of AS numbers for globally anycasted | |||
services. | services. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC 4786] Abley, J., and Lindqvist, K., "Operation of Anycast | [RFC4786] Abley, J. and K. Lindqvist, "Operation of Anycast | |||
Services", RFC 4786, BCP 126, December 2006. | Services", BCP 126, RFC 4786, December 2006. | |||
9.2. Informative References | 9.2. Informative References | |||
[RFC 4012] Blunk, et al., "Routing Policy Specification Language | [DNSSEC-DEPLOY] | |||
next generation (RPSLng)", RFC 4012, March 2005. | "Root DNSSEC", <http://www.root-dnssec.org/> | |||
[RFC 4033] Arends, et al., "DNS Security Introduction and | [RENESYS-BLOG] | |||
Requirements", RFC 4033, March 2005. | Zmijewski, E., "Accidentally Importing Censorship", | |||
Renesys Blog, March 30, 2010. | ||||
<http://www.renesys.com/blog/2010/03/ | ||||
fouling-the-global-nest.shtml> | ||||
[DNSSEC-DEPLOY] "Root DNSSEC", <http://www.root-dnssec.org/> | [RFC4012] Blunk, L., Damas, J., Parent, F., and A. Robachevsky, | |||
"Routing Policy Specification Language next generation | ||||
(RPSLng)", RFC 4012, March 2005. | ||||
[HNAME] ISC, "Which F-root node am I using?" | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
<http://www.isc.org/community/f-root/which_node> | Rose, "DNS Security Introduction and Requirements", RFC | |||
4033, March 2005. | ||||
[RENESYS-BLOG] Zmijewski, E., "Accidentally Importing Censorship", | [RFC4892] Woolf, S. and D. Conrad, "Requirements for a Mechanism | |||
Renesys Blog, March 30, 2010. | Identifying a Name Server Instance", RFC 4892, June 2007. | |||
<http://www.renesys.com/blog/2010/03/fouling-the-global-nest.shtml> | ||||
[SIDR] Lepinski, M., Kent, S., "An Infrastructure to Support Secure | [RFC5001] Austein, R., "DNS Name Server Identifier (NSID) Option", | |||
Internet Routing", October 2009, Internet-Draft, "Work in | RFC 5001, August 2007. | |||
Progress". | ||||
10. Authors' Addresses | [SIDR] Lepinski, M. and S. Kent, "An Infrastructure to Support | |||
Secure Internet Routing", Work in Progress, May 2011. | ||||
Authors' Addresses | ||||
Danny McPherson | Danny McPherson | |||
Verisign, Inc. | Verisign, Inc. | |||
21345 Ridgetop Circle | 21345 Ridgetop Circle | |||
Dulles, VA USA 20166 | Dulles, VA USA 20166 | |||
Phone: +1 703.948.3200 | Phone: +1 703.948.3200 | |||
Email: dmcpherson@verisign.com | EMail: dmcpherson@verisign.com | |||
Ryan Donnelly | Ryan Donnelly | |||
Verisign, Inc. | Verisign, Inc. | |||
21345 Ridgetop Circle | 21345 Ridgetop Circle | |||
Dulles, VA USA 20166 | Dulles, VA USA 20166 | |||
Phone: +1 703.948.3200 | Phone: +1 703.948.3200 | |||
Email: rdonnelly@verisign.com | EMail: rdonnelly@verisign.com | |||
Frank Scalzo | Frank Scalzo | |||
Verisign, Inc. | Verisign, Inc. | |||
21345 Ridgetop Circle | 21345 Ridgetop Circle | |||
Dulles, VA USA 20166 | Dulles, VA USA 20166 | |||
Phone: +1 703.948.3200 | Phone: +1 703.948.3200 | |||
Email: fscalzo@verisign.com | EMail: fscalzo@verisign.com | |||
Copyright Statement | ||||
Copyright (C) (2011) The 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. | ||||
End of changes. 56 change blocks. | ||||
224 lines changed or deleted | 229 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |