Revised Validation Procedure for BGP Flow Specifications
draft-ietf-idr-bgp-flowspec-oid-13
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 9117.
|
|
---|---|---|---|
Authors | Jim Uttaro , Juan Alcaide , Clarence Filsfils , David Smith , Prodosh Mohapatra | ||
Last updated | 2021-05-05 (Latest revision 2021-04-12) | ||
Replaces | draft-djsmith-bgp-flowspec-oid | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Reviews |
SECDIR Last Call review
by Magnus Nyström
Has issues
RTGDIR Early review
(of
-11)
by Geoff Huston
Has issues
|
||
Additional resources | Mailing list discussion | ||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Susan Hares | ||
Shepherd write-up | Show Last changed 2021-02-04 | ||
IESG | IESG state | Became RFC 9117 (Proposed Standard) | |
Consensus boilerplate | Yes | ||
Telechat date | (None) | ||
Responsible AD | Alvaro Retana | ||
Send notices to | Susan Hares <shares@ndzh.com>, aretana.ietf@gmail.com | ||
IANA | IANA review state | IANA OK - No Actions Needed |
draft-ietf-idr-bgp-flowspec-oid-13
Uttaro, et al. Expires October 14, 2021 [Page 3] Internet-Draft Revised Flowspec Validation Procedure April 2021 R1(AS1) --- RR(AS1) --- ASBR1(AS1) --- ASBR2(AS2) | route-controller(AS1) Figure 1 This document describes a modification to the [RFC8955] validation procedure allowing Flow Specification NLRIs to be originated from a centralized BGP route controller within the local autonomous system that is not in the data forwarding path. While the proposed modification cannot be used for inter-domain coordination of traffic filtering, it greatly simplifies distribution of intra-domain traffic filtering policies within an autonomous system which has a large number of border routers having complex BGP policies. By relaxing the validation procedure for iBGP, the proposed modification allows Flow Specifications to be distributed in a standard and scalable manner throughout an autonomous system. 3. Motivation Step (b) of the validation procedure in [RFC8955], section 6 is defined with the underlying assumption that the Flow Specification NLRI traverses the same path, in the inter-domain and intra-domain route distribution graph, as that of the longest-match unicast route for the destination prefix embedded in the Flow Specification. In the case of inter-domain traffic filtering, the Flow Specification originator at the egress border routers of an AS (e.g. RTR-D and RTR-E of AS1 in Figure 2) matches the eBGP neighbor that advertised the longest match destination prefix (see RTR-F and RTR-G respectively in Figure 2). Similarly, at the upstream routers of an AS (see RTR-A and RTR-B of AS1 in Figure 2), the Flow Specification originator matches the egress iBGP border routers that had advertised the unicast route for the best-match destination prefix (see RTR-D and RTR-E respectively in Figure 2). This is true even when upstream routers select paths from different egress border routers as best route based upon IGP distance. For example, in Figure 2: RTR-A chooses RTR-D as the best route RTR-B chooses RTR-E as the best route Uttaro, et al. Expires October 14, 2021 [Page 4] Internet-Draft Revised Flowspec Validation Procedure April 2021 / - - - - - - - - - - - - - - | AS1 | +-------+ +-------+ | | | | | | | RTR-A | | RTR-B | | | | | | | +-------+ +-------+ | \ / | iBGP \ / iBGP | \ / | +-------+ | | | | | RTR-C | | | RC | | +-------+ | / \ | / \ | iBGP / \ iBGP | +-------+ +-------+ | | RTR-D | | RTR-E | | | | | | | | | | | | +-------+ +-------+ | | | | - - -|- - - - - - - - -|- - -/ | eBGP eBGP | - - -|- - - - - - - - -|- - -/ | | | | +-------+ +-------+ | | | | | | | RTR-F | | RTR-G | | | | | | | +-------+ +-------+ | AS2 | / - - - - - - - - - - - - - - Figure 2 It is highly desirable that mechanisms exist to protect each AS independently from network security attacks using the BGP Flow Specification NLRI for intra-AS purposes only. Network operators often deploy a dedicated Security Operations Center (SOC) within their AS to monitor and detect such security attacks. To mitigate attacks within an AS, operators require the ability to originate intra-AS Flow Specification NLRIs from a central BGP route controller that is not within the data forwarding plane. In this way, operators can direct border routers within their AS with specific attack Uttaro, et al. Expires October 14, 2021 [Page 5] Internet-Draft Revised Flowspec Validation Procedure April 2021 mitigation actions (drop the traffic, forward to a clean-pipe center, etc.). In addition, an operator MAY extend the requirements above for a group of ASes via policy. This is described in section (b.2.3) of the validation procedure. A central BGP route controller that originates a Flow Specification NLRI should be able to avoid the complexity of having to determine the egress border router whose path was chosen as the best for each of its neighbors. When a central BGP route controller originates a Flow Specification NLRI, the rest of the speakers within the AS will see the BGP controller as the originator of the Flow Specification in terms of the validation procedure rules. Thus, it is necessary to modify step (b) of the [RFC8955] validation procedure such that an iBGP peer that is not within the data forwarding plane may originate Flow Specification NLRIs. 4. Revised Validation Procedure 4.1. Revision of Route Feasibility Step (b) of the validation procedure specified in [RFC8955], section 6 is redefined as follows: b) One of the following conditions MUST hold true: 1. The originator of the Flow Specification matches the originator of the best-match unicast route for the destination prefix embedded in the Flow Specification (this is the unicast route with the longest possible prefix length covering the destination prefix embedded in the Flow Specification). 2. The AS_PATH attribute of the Flow Specification is empty or contains only AS_CONFED_SEQUENCE and/or AS_CONFED_SET segments [RFC5065]. 1. This condition SHOULD be enabled by default (it may be disabled by explicit configuration as described on the next list item (b.2.1)).. an empty AS_PATH. 2. This condition MAY be disabled by explicit configuration on a BGP speaker. A possible case would be if we know for a fact that only the right egress border routers (i.e. those that are also egress border routers for the best routes) are originating a Flow Specification NLRI. Uttaro, et al. Expires October 14, 2021 [Page 6] Internet-Draft Revised Flowspec Validation Procedure April 2021 3. As an extension to this rule, a given non-empty AS_PATHs (or AS_PATHS containing only AS_CONFED_SEQUENCE and/or AS_CONFED_SET segments), MAY be validated by policy. A possible case would be if the AS_SEQUENCE and AS_SET contained only ASes that are known to belong to our own administrative domain. Explanation: In this context, a local domain includes the local AS or the local confederation [RFC5065]. Receiving either an empty AS_PATH or one with only AS_CONFED_SEQUENCE and/or AS_CONFED_SET segments indicates that the Flow Specification was originated inside the local domain. With the above modification to the [RFC8955] validation procedure, a BGP peer within the local domain that is not within the data forwarding path can originate a Flow Specification. Disabling the new condition above (b.2.2) may be a good practice when the operator knows with certainty that a Flow Specification will not be originated inside the local domain. Also, policy may be useful to validate a specific set of non-empty AS_PATHs (b.2.3). For example, it could validate a Flow Specification whose AS_PATH contains only an AS_SEQUENCE with ASes that are all known to belong to the same administrative domain. 4.2. Revision of AS_PATH Validation [RFC8955] states: BGP implementations MUST also enforce that the AS_PATH attribute of a route received via the External Border Gateway Protocol (eBGP) contains the neighboring AS in the left-most position of the AS_PATH attribute. This rule prevents the exchange of BGP Flow Specification NLRIs at Internet exchanges with BGP route servers [RFC7947]. Therefore, this document also redefines the [RFC8955] AS_PATH validation procedure referenced above as follows: BGP Flow Specification implementations MUST enforce that the AS in the left-most position of the AS_PATH attribute of a Flow Specification route received via the External Border Gateway Protocol (eBGP) matches the AS in the left-most position of the AS_PATH attribute of the best-match unicast route for the destination prefix embedded in the Flow Specification NLRI. Uttaro, et al. Expires October 14, 2021 [Page 7] Internet-Draft Revised Flowspec Validation Procedure April 2021 Explanation: For clarity, the AS in the left-most position of the AS_PATH means the AS that was last added to the AS_SEQUENCE. This proposed modification enables the exchange of BGP Flow Specification NLRIs at Internet exchanges with BGP route servers while at the same time, for security reasons, prevents an eBGP peer from advertising an inter-domain Flow Specification for a destination prefix that it does not provide reachability information for. Comparing only the last ASes added is sufficient for eBGP learned Flow Specification NLRIs. Requiring a full AS_PATH match would limit origination of inter-domain Flow Specifications to the origin AS of the best-match unicast route for the destination prefix embedded in the Flow Specification only. As such, a full AS_PATH validity check may prevent transit ASes from originating inter-domain Flow Specifications, which is not desirable. Note, however, that not checking the full AS_PATH allows any rogue or misconfigured AS the ability to originate undesired Flow Specifications. This is a security BGP threat, but out of the scope of this document. Redefinition of this AS_PATH validation rule for a Flow Specification does not mean that the original rule in [RFC8955] cannot be enforced as well. Its enforcement remains optional per [RFC4271] section 6.3. That is, a BGP speaker can enforce the first AS in the AS_PATH to be the same as the neighbor AS for any address-family route (including a Flow Specification). Using the new rule to validate a Flow Specification route received from an External Border Gateway Protocol (eBGP) peer belonging to the same local domain (in the case of a confederation) is out of the scope of this document. Note that although it's possible, its utility is dubious. Although it is conceivable that an router in the same local domain (both iBGP and eBGP within the same local domain) could send a rogue update, only eBGP (outside the local domain) risk is considered within this document (in the same spirit of the mentioned beforehand AS_PATH validation in [RFC4271]). 5. Topology Considerations [RFC8955] indicates that the originator may refer to the originator path attribute (ORIGINATOR_ID) or (if the attribute is not present) the transport address of the peer from which the BGP speaker received Uttaro, et al. Expires October 14, 2021 [Page 8] Internet-Draft Revised Flowspec Validation Procedure April 2021 the update. If the latter applies, a network should be designed so it has a congruent topology amongst ipv4 unicast routes and Flow Specification routes. By congruent topology, it is understood that for the two equivalent routes (i.e. the Flow Specification route and its best-match unicast route) are learned from the same peer accross the AS. That would likely not be true, for instance, if some peers only negotiated one type of address-family or if each address-family had a different set of policies. With the additional second condition (b.2) in the validation procedure, non-congruent topologies are supported within the local domain if the Flow Specification is originated within the local domain. Explanation: Consider the validation procedure preceding this document. The second condition (b.2) does not exist. The two following scenarios have a non-congruent topology: 1. Consider a topology with two BGP speakers with two peering sessions between them, one for unicast and one for Flow Specification. This is a non-congruent topology. Let's assume that the ORIGINATOR_ID attribute was not received (e.g. a route reflector receiving routes from its clients). In this case, the Flow Specification validation procedure will fail because of the first condition (b.1). 2. Consider a topology with a BGP speaker within a confederation of ASes, inside local AS X. The ORIGINATOR_ID attribute is not advertised within the local domain. Let's assume the Flow Specification route is received from peer A and the best-match unicast route is received from peer B. Both peers belong to local AS Y. Both AS X and AS Y belong to the same local domain. The Flow Specification validation procedure will also fail because of the first condition (b.1). In the scenarios above, if Flow Specifications are originated in the same local domain, the AS_PATH will be empty or contain just AS_CONFED_SEQUENCE and/or AS_CONFED_SET segments. Condition (b.2) evaluates to true. Therefore, using the second condition (b.2), as defined by this document, guarantees that the overall validation procedure will pass. Thus, non-congruent topologies are supported if the Flow Specification is originated in the same local domain. Flow Specification originated in a different local domain needs a congruent topology. The reason is that the second condition (b.2) Uttaro, et al. Expires October 14, 2021 [Page 9] Internet-Draft Revised Flowspec Validation Procedure April 2021 evaluates to false and only the first condition (b.1) is evaluated. 6. IANA Considerations This memo includes no request to IANA. 7. Security Considerations This document updates the route feasibility validation procedures for Flow Specifications learned from iBGP peers and through route servers. This change is in line with the procedures in [rfc8955] and thus maintain security characteristics equivalent to the existing security properties of BGP unicast routing. The security considerations discussed in [RFC8955] apply to this specification as well. The original AS_PATH validation rule ([RFC4271] section 6.3) becomes hereby optional (section 4.2). If that original rule is actually not enforced it may introduce some security risks. A peer (or a client of a route server peer) in AS X could advertise a rogue Flow Specification route whose first AS in AS_PATH was Y (assume Y is the first AS in the AS_PATH of the best-match unicast route). This risk is impossible to prevent if the Flow Specification route is received from a route server peer. If that peer is known for a fact not to be a route server, that optional rule SHOULD be enforced for Flow Specification routes. BGP updates learned from iBGP peers are considered trusted, so the Traffic Flow Specifications contained in BGP updates are also considered trusted. Therefore it is not required to validate that the originator of an intra-domain Traffic Flow Specification matches the originator of the best-match unicast route for the flow destination prefix. Note that this trustworthy consideration is not absolute and the new possibility than an iBGP speaker could send a rouge Flow Specification is introduced. The changes in Section 4.1 don't affect the validation procedures for eBGP-learned routes. 8. Acknowledgements The authors would like to thank Han Nguyen for his direction on this work as well as Waqas Alam, Keyur Patel, Robert Raszuk, Eric Rosen and Shyam Sethuram for their review comments. Uttaro, et al. Expires October 14, 2021 [Page 10] Internet-Draft Revised Flowspec Validation Procedure April 2021 9. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <https://www.rfc-editor.org/info/rfc4271>. [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous System Confederations for BGP", RFC 5065, DOI 10.17487/RFC5065, August 2007, <https://www.rfc-editor.org/info/rfc5065>. [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012, <https://www.rfc-editor.org/info/rfc6793>. [RFC7947] Jasinska, E., Hilliard, N., Raszuk, R., and N. Bakker, "Internet Exchange BGP Route Server", RFC 7947, DOI 10.17487/RFC7947, September 2016, <https://www.rfc-editor.org/info/rfc7947>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. [RFC8955] Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. Bacher, "Dissemination of Flow Specification Rules", RFC 8955, DOI 10.17487/RFC8955, December 2020, <https://www.rfc-editor.org/info/rfc8955>. Authors' Addresses James Uttaro AT&T 200 S. Laurel Ave Middletown, NJ 07748 USA Email: ju1738@att.com Uttaro, et al. Expires October 14, 2021 [Page 11] Internet-Draft Revised Flowspec Validation Procedure April 2021 Juan Alcaide Cisco 7100 Kit Creek Road Research Triangle Park, NC 27709 USA Email: jalcaide@cisco.com Clarence Filsfils Cisco Email: cf@cisco.com David Smith Cisco 111 Wood Ave South Iselin, NJ 08830 USA Email: djsmith@cisco.com Pradosh Mohapatra Sproute Networks Email: mpradosh@yahoo.com Uttaro, et al. Expires October 14, 2021 [Page 12]