--- 1/draft-ietf-grow-route-leak-detection-mitigation-02.txt 2020-07-27 12:13:10.068744641 -0700 +++ 2/draft-ietf-grow-route-leak-detection-mitigation-03.txt 2020-07-27 12:13:10.092745247 -0700 @@ -1,100 +1,101 @@ IDR and SIDR K. Sriram, Ed. Internet-Draft USA NIST Intended status: Standards Track A. Azimov, Ed. -Expires: July 28, 2020 Yandex - January 25, 2020 +Expires: January 28, 2021 Yandex + July 27, 2020 Methods for Detection and Mitigation of BGP Route Leaks - draft-ietf-grow-route-leak-detection-mitigation-02 + draft-ietf-grow-route-leak-detection-mitigation-03 Abstract Problem definition for route leaks and enumeration of types of route - leaks are provided in [RFC7908]. This document describes a new well- - known Large Community that provides a way for route leak prevention, + leaks are provided in RFC 7908. This document describes a new well- + known Large Community that provides a way for route-leak prevention, detection, and mitigation. The configuration process for this Community can be automated with the methodology for setting BGP roles that is described in ietf-idr-bgp-open-policy draft. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. 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." - This Internet-Draft will expire on July 28, 2020. + This Internet-Draft will expire on January 28, 2021. Copyright Notice Copyright (c) 2020 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 - 2. Peering Relationships . . . . . . . . . . . . . . . . . . . . 2 + 2. Peering Relationships . . . . . . . . . . . . . . . . . . . . 3 3. Community vs Attribute . . . . . . . . . . . . . . . . . . . 3 4. Down Only Community . . . . . . . . . . . . . . . . . . . . . 4 - 4.1. Route Leak Mitigation . . . . . . . . . . . . . . . . . . 5 + 4.1. Route-Leak Mitigation . . . . . . . . . . . . . . . . . . 5 4.2. Only Marking . . . . . . . . . . . . . . . . . . . . . . 6 - 5. Implementation Considerations . . . . . . . . . . . . . . . . 6 + 5. Implementation Considerations . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. Informative References . . . . . . . . . . . . . . . . . . . 7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction - [RFC7908] provides a definition of the route leak problem and - enumerates several types of route leaks. For this document, the + RFC 7908 [RFC7908] provides a definition of the route-leak problem + and enumerates several types of route leaks. For this document, the definition that is applied is that a route leak occurs when a route received from a transit provider or a lateral peer is forwarded (against commonly used policy) to another transit provider or a lateral peer. The commonly used policy is that a route received from a transit provider or a lateral peer MAY be forwarded only to customers. This document describes a solution for prevention, detection and mitigation route leaks which is based on conveying route-leak - detection information in a well-known BGP Large Community. The - configuration process for the Large Community MUST be defined + detection information in a transitive well-known BGP Large Community. + The configuration process for the Large Community MUST be defined according to peering relations between ISPs. This process can be automated with the methodology for setting BGP roles that is described in [I-D.ietf-idr-bgp-open-policy]. The techniques described in this document can be incrementally - deployed. If a group of big ISPs and/or Internet Exchanges (IXes) - deploy the proposed techniques, then they would be helping each other - by blocking route leaks that can happen between them. + deployed. If a pair of ISPs and/or Internet Exchanges (IXes) deploy + the proposed techniques, then they would detect and mitigate any + route leaks that occur in an AS path between them even when other + ASes in the path are not upgraded. 2. Peering Relationships As described in [I-D.ietf-idr-bgp-open-policy] there are several common peering relations between eBGP neighbors: o Provider - sender is a transit provider of the neighbor; o Customer - sender is a customer of the neighbor; @@ -117,107 +118,106 @@ 'down only' policy. This signal would facilitate a way to stop the propagation of leaked prefixes. To improve reliability and cover for non-participating preceding neighbor, the signal should be set on both receiver and sender sides. 3. Community vs Attribute This section presents a brief discussion of the advantages and disadvantages of communities and BGP path attributes for the purpose - of route leak detection. + of route-leak detection. A transitive path attribute is a native way to implement the route- leak detection signal. Based on the way BGP protocol works, the use of a transitive attribute makes it more certain that the route-leak detection signal would pass unaltered through non-participating (i.e., not upgraded) BGP routers. The main disadvantage of this approach is that the deployment of a new BGP attribute requires a software upgrade in router OS which may delay wide adoption for years. - On the other hand, BGP communities do not require a router OS update. + On the other hand, BGP Communities do not require a router OS update. The potential disadvantage of using a Community for the route-leak detection signal is that it is more likely to be dropped somewhere along the way in the AS path. Currently, the use of BGP Communities is somewhat overloaded. BGP Communities are already used for numerous applications: different types of route marking, route policy - control, black-holing, etc. It is observed that some ASes seem to + control, blackholing, etc. It is observed that some ASes seem to purposefully or accidentally remove transitive communities on receipt, sometimes well-known ones. Perhaps this issue may be mitigated with strong policy guidance related to the handling of Communities. Due to frequently occurring regional and global disruptions in Internet connectivity, it is critical to move forward with a solution - that is viable in the near term. That solution would be route leak + that is viable in the near term. That solution would be route-leak detection using BGP Community. Large Communities have much higher capacity, and therefore they are likely to be less overloaded. Hence, Large Community is proposed to be used for route-leak detection. This document suggests reserving class for the purpose of transitive well-known Large Communities that MUST NOT be stripped on ingress or egress. - While it is not part of this document, the route-leak detection - signal described here can also be carried in a BGP path attribute, - and the same prevention and mitigation techniques as described here - would apply. The authors are pursuing a separate internet draft in - the IDR WG on that approach. + While it is not a part of this document, the route-leak detection + signal described here can also be carried in a transitive BGP Path + Attribute, and similar prevention and mitigation techniques as + described here would apply (see [I-D.ietf-idr-bgp-open-policy]). 4. Down Only Community - This section specifies the semantics of route-leak-detection + This section specifies the semantics of route-leak detection Community and its usage. This Community is given the specific name Down Only (DO) Community. The DO Community is carried in a BGP Large Community with a format as shown in Figure 1. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TBD1 (class for transitive well-known Large Communities) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TBD2 (subclass for DO) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ASN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Format of the DO Community using a Large Community [RFC8092]. - The authors studied different options for route leak mitigation. The + The authors studied different options for route-leak mitigation. The main options considered are (1) drop detected route leaks and (2) deprioritize detected route leaks. It can be demonstrated that the loose mode that uses deprioritization is not safe. Traffic - Engineering (TE) technique which limit prefix visibility are quite + Engineering (TE) techniques which limit prefix visibility are quite common. It may happen that a more specific TE prefix is sent only to downstream ASes or to IX(es)/selected peers, and a control Community is used to restrict its propagation. If such a more specific prefix is leaked, deprioritization will not stop such a route leak from propagating. In addition, propagation of leaked prefixes based on deprioritization may result in priority loops leading to BGP wedgies [RFC4264] or even persistent route oscillations. - So, the only truly safe way to implement route leak mitigation is to + So, the only truly safe way to implement route-leak mitigation is to drop detected route leaks. The ingress and egress policies corresponding to 'drop detected route leaks' is described in Section 4.1. This policy SHOULD be used as a default behavior. Nevertheless, early adopters might want to deploy only the signaling - and perhaps use it only for diagnostics before applying any route + and perhaps use it only for diagnostics before applying any route- leak mitigation policy. They are also encouraged to use slightly limited marking, which is described in Section 4.2. -4.1. Route Leak Mitigation +4.1. Route-Leak Mitigation This section describes the eBGP ingress and egress policies that MUST - be used to perform route leak prevention, detection and mitigation + be used to perform route-leak prevention, detection and mitigation using the DO Community. The ingress policy MUST use the following procedure: 1. If a route with DO Community set (i.e., DO is attached) is received from a Customer or RS-client, then it is a route leak and MUST be rejected. The procedure halts. 2. If a route with DO Community set is received from Peer (non- transit) and DO value is not equal to the sending neighbor's ASN, @@ -267,49 +267,49 @@ 1. If a route is sent to a Customer or RS-client, then the DO Community MUST be added with value equal to the ASN of the sender. 2. If DO Community is not set and the route is sent to a Peer, then the DO Community MUST be added with value equal to the ASN of the sender. These above procedures specify setting DO signal in a way that can be - used to evaluate the potential impact of route leak mitigation policy + used to evaluate the potential impact of route-leak mitigation policy before deploying strict dropping of detected route leaks. 5. Implementation Considerations - It was observed that the majority of BGP implementations does not + It was observed that the majority of BGP implementations do not support negative match for communities like a:b:!c. Considering that it is suggested to replace the second rule from ingress policy with the following: If a route with DO Community set is received from a Peer and DO value is equal to the sending neighbor's ASN, then it is a valid route, otherwise it is a route leak. The procedure halts. This rule is based on a weaker assumption that a peer that is doing marking is also doing filtering (dropping detected leaks). That is - why networks that do not follow the route leak mitigation policy in + why networks that do not follow the route-leak mitigation policy in Section 4.1 MUST carefully follow marking rules described in Section 4.2. 6. IANA Considerations The draft suggests to reserve a Global Administrator ID for transitive well-known Large Community registry. IANA is requested to register a subclass for DO Community in this registry. 7. Security Considerations - In specific circumstances in a state of partial adoption, route leak + In specific circumstances in a state of partial adoption, route-leak mitigation mechanism can result in Denial of Service (DoS) for the victim prefix. Such a scenario may happen only for a prefix that has a single path from the originator to a Tier-1 ISP and only when the prefix is not covered with a less specific prefix with multiple paths to the Tier-1 ISP. If, in such unreliable topology, route leak is injected somewhere inside this single path, then it may be rejected by upper layer providers in the path, thus limiting prefix visibility. While such anomaly is unlikely to happen, such an issue should be easy to debug, since it directly affects the sequence of originator's providers. @@ -318,22 +318,22 @@ Community propagates beyond its intended perimeter and causes harm [streibelt]. However, that concern does not apply to the DO Community because it is a transitive Community that must propagate as far as the update goes. 8. Informative References [I-D.ietf-idr-bgp-open-policy] Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K. Sriram, "Route Leak Prevention using Roles in Update and - Open messages", draft-ietf-idr-bgp-open-policy-07 (work in - progress), January 2020. + Open messages", draft-ietf-idr-bgp-open-policy-13 (work in + progress), July 2020. [RFC4264] Griffin, T. and G. Huston, "BGP Wedgies", RFC 4264, DOI 10.17487/RFC4264, November 2005, . [RFC7908] Sriram, K., Montgomery, D., McPherson, D., Osterweil, E., and B. Dickson, "Problem Definition and Classification of BGP Route Leaks", RFC 7908, DOI 10.17487/RFC7908, June 2016, .