Network Working Group J. Uttaro Internet-Draft AT&T Updates: 5575bis (if approved) J. Alcaide Intended status: Standards Track C. Filsfils Expires:November 10, 2019January 9, 2020 D. Smith Cisco P. Mohapatra Sproute NetworksMay 9,July 8, 2019 Revised Validation Procedure for BGP Flow Specificationsdraft-ietf-idr-bgp-flowspec-oid-08draft-ietf-idr-bgp-flowspec-oid-09 Abstract This document describes a modification to the validation procedure defined in RFC 5575bis for the dissemination of BGPflow specifications.Flow Specifications. RFC 5575bis requires that the originator of theflow specificationFlow Specification matches the originator of the best-match unicast route for the destination prefix embedded in theflow specification.Flow Specification. This allows only BGP speakers within the data forwarding path (such as autonomous system border routers) to originate BGPflow specifications.Flow Specifications. Though it is possible to disseminate suchflow specificationsFlow Specifications directly from border routers, it may be operationally cumbersome in an autonomous system with a large number of border routers having complex BGP policies. The modification proposed herein enablesflow specificationsFlow Specifications to be originated from a centralized BGP route controller. 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 onNovember 10, 2019.January 9, 2020. Copyright Notice Copyright (c) 2019 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. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 2.Motivation .Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 3.IntroductionMotivation . . . . . . . . . . . . . . . . . . . . . . . .4. 3 4. Revised Validation Procedure . . . . . . . . . . . . . . . . 5 4.1. Revision of Route Feasibility . . . . . . . . . . . . . . 5 4.2. Revision of AS_PATH Validation . . . . . . . . . . . . . 6 5. Other RFC5575bis Considerations . . . . . . . . . . . . . . . 7 6. Topology Considerations . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . .7 6.9 8. Security Considerations . . . . . . . . . . . . . . . . . . .7 7.9 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .7 8.10 10. Normative References . . . . . . . . . . . . . . . . . . . .710 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .810 1. Requirements Language 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 [RFC2119]. 2.Motivation Step (a) of the validation procedure in [RFC5575bis], section 6 isIntroduction [RFC5575bis] definedwith the underlying assumption that the flow specification NLRI traverses the same path, in the inter-domain and intra-domain route distribution graph, asa new BGP [RFC4271] capability thatof the longest-match unicast route for the destination prefix embeddedcan be used to distribute traffic Flow Specifications amongst BGP speakers inthe flow specification. In the casesupport ofinter-domaintrafficfiltering, for example, the flow specification originator at the egress border routersfiltering. The primary intention ofASN1 (RTR-D and RTR-E in figure 1) matches the EBGP neighbor that advertised[RFC5575bis] is to enable downstream autonomous systems to signal traffic filtering policies to upstream autonomous systems. In this way, traffic is filtered closer to thelongest match destination prefix (RTR-Fsource andRTR-G respectively). Similarly, attheingress border routers of ASN1 (RTR-A and RTR-B in figure 1),upstream autonomous system(s) avoid carrying theflow specification originator matchestraffic to theegress IBGP border routersdownstream autonomous system only to be discarded. [RFC5575bis] also enables more granular traffic filtering based upon upper layer protocol information (e.g., protocol port numbers) as opposed to coarse IP destination prefix- based filtering. Flow specification NLRIs received from a BGP peer are subject to validity checks before being considered feasible and subsequently installed within the respective Adj-RIB-In. The validation procedure defined within [RFC5575bis] requires thathad advertisedthe originator of the Flow Specification NLRI matches the originator of the best-match unicast route for thebest- matchdestination prefix(RTR-D and RTR-E respectively).embedded in the Flow Specification. This allows only BGP speakers within the data forwarding path (such as autonomous system border routers) to originate BGP Flow Specification NLRIs. Though it istrue even when ingresspossible to disseminate such Flow Specification NLRIs directly from border routers, it may be operationally cumbersome in an autonomous system with a large number of border routersselect pathshaving complex BGP policies. This document describes a modification to the [RFC5575bis] validation procedure allowing Flow Specification NLRIs to be originated fromdifferent egressa 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 routersas best path based upon IGP distance (as an example, RTR-A chooses RTR-D's path as best; RTR-B chooses RTR-E ashaving complex BGP policies. By relaxing thebest path). / - - - - - - - - - - - - - - | ASN1 | +-------+ +-------+ |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 (a) of the validation procedure in [RFC5575bis], 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 ASN1 in figure 1) matches the eBGP neighbor that advertised the longest match destination prefix (see RTR-F and RTR-G respectively in figure 1). Similarly, at the ingress border routers of ASN (see RTR-A and RTR-B of ASN1 in figure 1), 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 1). This is true even when ingress border routers select paths from different egress border routers as best path based upon IGP distance. For example, in figure 1: RTR-A chooses RTR-D's path as best RTR-B chooses RTR-E as the best path / - - - - - - - - - - - - - - | ASN1 | +-------+ +-------+ | | | | | | | RTR-A | | RTR-B | | | | | | | +-------+ +-------+ | \ / |IBGPiBGP \ /IBGPiBGP | \ / | +-------+ | | | | | RTR-C | | | RC | | +-------+ | / \ | / \ |IBGPiBGP / \IBGPiBGP | +-------+ +-------+ | | RTR-D | | RTR-E | | | | | | | | | | | | +-------+ +-------+ | | | | - - -|- - - - - - - - -|- - -/ |EBGP EBGPeBGP eBGP | - - -|- - - - - - - - -|- - -/ | | | | +-------+ +-------+ | | | | | | | RTR-F | | RTR-G | | | | | | | +-------+ +-------+ | ASN2 | / - - - - - - - - - - - - -- Figure 1 It is highly desirable that each ASN is able to protect itself independently from network security attacks using the BGP flow specification NLRI for intra-domain purposes only. Network operators often deploy a dedicated Security Operations Center (SOC) within their ASN to monitor and detect such security attacks. To mitigate attacks in a scalable intra-domain manner, operators require the ability to originate intra-domain 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 ASN with specific attack mitigation actions (drop the traffic, forward to a clean-pipe center, etc.). To originate a flow specification NLRI, a central BGP route controller must set itself as the originator in the flowspec NLRI. This is necessary given the route controller is originating the flow specification not reflecting it, and to avoid the complexity of having to determine the egress border router whose path was chosen as the best in each of the ingress border routers. It thus becomes necessary to modify step (a) of the [RFC5575bis] validation procedure such that an IBGP peer that is not within the data forwarding plane may originate flow specification NLRIs. 3. Introduction [RFC5575bis] defined a new BGP capability that can be used to distribute traffic flow specifications amongst BGP speakers in support of traffic filtering. The primary intention of [RFC5575bis] is to enable downstream autonomous systems to signal traffic filtering policies to upstream autonomous systems. In this way, traffic is filtered closer to the source and the upstream autonomous system(s) avoid carrying the traffic to the downstream autonomous system only to be discarded. [RFC5575bis] also enables more granular traffic filtering based upon upper layer protocol information (e.g., protocol port numbers) as opposed to coarse IP destination prefix- based filtering. Flow specification NLRIs received from a BGP peer are subject to validity checks before being considered feasible and subsequently installed within the respective Adj-RIB-In. The validation procedure defined within [RFC5575bis] requires that the originator of the flow specification NLRI matches the originator of the best-match unicast route for the destination prefix embedded in the flow specification. This allows only BGP speakers [RFC4271] within the data forwarding path (such as autonomous system border routers) to originate BGP flow specification NLRIs. Though it- Figure 1 It ispossiblehighly desirable that the mechanisms exist todisseminate such flow specification NLRIs directlyprotect each ASN independently fromborder routers, it may be operationally cumbersome in an autonomous system with a large number of border routers having complexnetwork security attacks using the BGPpolicies. This document describesFlow Specification NLRI for intra-domain purposes only. Network operators often deploy amodificationdedicated Security Operations Center (SOC) within their ASN to monitor and detect such security attacks. To mitigate attacks within a domain (AS or group of ASes), operators require the[RFC5575bis] validation procedure allowing flow specification NLRIsability tobe originatedoriginate intra-domain Flow Specification NLRIs from acentralizedcentral BGP route controllerwithin the local autonomous systemthat is notinwithin the data forwardingpath. Whileplane. In this way, operators can direct border routers within their ASN with specific attack mitigation actions (drop theproposed modification cannot be used for inter-domain coordination of traffic filtering, it greatly simplifies distributiontraffic, forward to a clean-pipe center, etc.). To originate a Flow Specification NLRI, a central BGP route controller must set itself as the originator in the Flow Specification NLRI. This is necessary given the route controller is originating the Flow Specification rather than reflecting it, and to avoid the complexity ofintra-domain traffic filtering policieshaving to determine the egress border router whose path was chosen as the best inan autonomous system with a large numbereach of the ingress borderrouters having complex BGP policies. By relaxingrouters. Thus, it is necessary to modify step (a) of the [RFC5575bis] validation procedurefor IBGP, the proposed modification allows flow specifications to be distributed in a standard and scalable manner throughoutsuch that anautonomous system.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 (a) of the validation procedure specified in [RFC5575bis], section 6 is redefined as follows: a. One of the following conditions MUST hold true.*1. The originator of theflow specificationFlow Specification matches the originator of the best-match unicast route for the destination prefix embedded in theflow specification. *Flow Specification. 2. The AS_PATH attribute of theflow specificationFlow Specification does not contain AS_SET and/or AS_SEQUENCE segments.An1. This condition SHOULD be enabled by default. This default behavior should validate an empty AS_PATH. 2. This condition MAY be disabled by configuration on a BGP speaker. 3. As an exception to this rule, a given AS_PATHwithoutwith AS_SET and/or AS_SEQUENCE segmentsindicatesMAY be validated by policy. Explanation: In this context, an empty AS_PATH means thatthe flow specification was originated insideit does not have AS_SET and/or AS_SEQUENCE segments, and local domain means the local AS [RFC4271] orinsidethe local confederation of ASes (in the case that the local AS belongs to a confederation ofASes) [RFC5065].ASes [RFC5065]). Thus, receiving a Flow Specification with an empty AS_PATH indicates that the Flow Specification was originated inside the local domain. Withthisthe above modification to the [RFC5575bis] validation procedure,it is now possible for an IBGPa BGP peer within the local domain that is not within the data forwarding pathtocan originateflow specification NLRIs. This applies whether the AS belongs or not to a confederation of ASes. Checking the (newly introduced) second condition above MAY be disabled by configuration onaBGP speaker. However, it SHOULD be enabled by default.Flow Specification. Disabling the new condition above (a.2.2) may be a good practice when theadministratoroperator knows with certainty that thereareis notflow specification NLRIa Flow Specification originated inside the localAS (or local confederation). The default behavior is thusdomain. Also, policy may be useful to validatean empty AS_PATH. In this context, an empty AS_PATH means that it does not have AS_SET and/or AS_SEQUENCE segments. Optionally, an implementation MAY also validatea specific set of non-emptyAS_PATH.AS_PATHs (a.2.3). Forinstance,example, it could validate aflowspec NLRIFlow Specification whose AS_PATH contains only an AS_SEQUENCEofwith ASes that are all known(via configuration)to belong to the same administrative domain.Further,4.2. Revision of AS_PATH Validation [RFC5575bis]states that "BGP (flow specification)states: o BGP implementations MUST also enforce that the AS_PATH attribute of a route received via the External Border Gateway Protocol(EBGP)(eBGP) contains the neighboring AS in the left-most position of the AS_PATHattribute".attribute. This ruleis not valid for all topologies. For example, itprevents the exchange of BGPflow specificationFlow Specification NLRIs at Internet exchanges with BGP route servers. Therefore, this document also redefines the [RFC5575bis] AS_PATH validation procedure referenced above as follows: o BGPflow specificationFlow Specification implementations MUST enforce that thelastASadded withinin the left-most position of the AS_PATH attribute of aEBGP learned flow specification NLRI MUST matchFlow Specification route received via the External Border Gateway Protocol (eBGP) matches thelastASadded withinin the left-most position of the AS_PATH attribute of the best-match unicast route for the destination prefix embedded in theflow specification.Flow Specification NLRI. 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 BGPflow specificationFlow Specification NLRIs at Internet exchanges with BGP route servers while at the same time, for security reasons, prevents anEBGPeBGP peer from advertising an inter-domainflow specificationFlow Specification for a destination prefix that it does not provide reachability information for.Note, comparingComparing only the last ASes added is sufficient forEBGPeBGP learnedflow specificationFlow Specification NLRIs. Requiring a full AS_PATH match would limit origination ofinter- domain flow specificationsinter-domain Flow Specifications to the origin(or first)AS of thebest- matchbest-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. Redefinition of this AS_PATH validation rule for a Flow Specification does not mean that the original rule in [RFC5575bis] cannot be enforced as well. Its enforcement remains optional per [RFC4271]. That is, we 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 received from an Internal Border Gateway Protocol (iBGP) peer is out of the scope of this document. Note that in most scenarios such validation would be redundant. 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 that the local AS belongs to a confederation of ASes) is out of the scope of this document. Note that although it's possible, its utility is dubious. 5. Other RFC5575bis Considerations This section clarifies some of the terminology and rules referenced in [RFC5575bis]. Namely: o [RFC5575bis] references "the best-match unicast route for the destination prefix embedded in the Flow Specification". For clarity, this route is defined hereby as the best path of the unicast network with the longer prefix-length that covers the destination prefix embedded in the Flow Specification. Explanation: We consider only the best-match network and we do not consider unicastroute fornon-best paths (even if it is received from thedestination prefix embedded insame peer as theflow specification only. As such,Flow Specification). o If afull AS_PATH validity check may prevent transit ASes from originating inter-domain flow specifications, which is not desirable. This document also clarifies proper handling when theBGPflow specificationFlow Specification does not embed a destination prefixcomponent. Thecomponent, then the default behavior SHOULD be not to performanythe validationprocedure. Further, supportprocedures. Explanation: The reason fortwo-octet AS number spacethis isout ofbecause thescope ofbest-match unicast route is not defined in thisdocument.case. o In the context of thiscontext,document and [RFC5575bis], AS_PATH attribute is defined as the reconstructed ASPathpath information (by combining AS_PATH and AS4_PATH attributes, if the BGP speaker is a NEW speaker and receives the route from an OLD speaker), according to section 4.2.3 of [RFC6793].[RFC5575bis] references "the best-match unicast routeo Support forthe destination prefix embedded in the flow specification". For clarity, this routetwo-octet AS only implementations isdefined hereby as the best pathout of theunicast networkscope of this document (i.e. it's assumed thatcovers destination prefix embedded in the flow specification with the longer prefix-length. In other words, we consider onlythebest-match network and we do not consider unicast non-best paths (even if it is received from the same peer thanBGP speaker supports [RFC6793]). 6. Topology Considerations [RFC5575bis] indicates that theflowspec route). Note that, per [RFC5575bis],originator may refer to theBGP ORIGINATOR_IDoriginator path attribute (ORIGINATOR_ID) or (if the attribute is not present) the transport address of the peer from which we received the update. If thelater,latter applies, a networkmustshould be designed so it has a congruent topology.Otherwise, usingWith the additional second condition (a.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 following scenarios without the second condition (a.2) being added to the validation procedure: 1. Consider a topology with two BGP speakers with two peering sessions betweenthe same pair of BGP speakers,them, one for unicast and one forflowspec, will cause the flowspec validation procedure to fail. Consider, for example, the case where a BGP route reflector receives the NLRIs fromFlow Specification. This is aroute reflector client, thus not receivingnon-congruent topology. Let's assume that the ORIGINATOR_IDattribute. If the speaker belongs to a confederation [RFC5065] and we are receivingattribute was not received (e.g. aflowspecroute reflector receiving routes fromdifferent peers thanitsbest match unicast route,clients). In this case, theflowspecFlow Specification validation procedure will failas well.because of the first condition (a.1). 2. Consideralsoamisconfiguration where flowspec address-family is not configured fortopology with aparticular peering between different member-AS (but itBGP speaker within a confederation of ASes, inside local AS X. ORIGINATOR_ID attribute isconfigured for unicast). Even if we receivenot advertised within theflowspec route via a redundant peer, we may receivelocal domain. Let's assume theunicastFlow Specification route is received from peer A and theflowspecbest-match unicast route is received fromdifferent peers,peer B. Both peers belong in local AS Y. Both AS X andthus flowspecAS Y belong to the same local domain. The Flow Specification validation procedure willfail. Thus, withalso fail because of the first condition (a.1). In the examples above, if Flow Specifications are originated in the same local domain, AS_PATH will not contain AS_SET and/or AS_SEQUENCE segments. When the(newly introduced)second conditionabove applied, incongruent(a.2) in the validation procedure is used, the validation procedure will pass. Thus, non-congruent topologies aresupported. Note thatsupported if theflowspec NLRIFlow Specification islearned from another AS (and thusoriginated in theAS_PATHsame local domain. Even when the second condition (a.2) isnot empty),used in theoriginalvalidationprocedures definedprocedure, a Flow Specification originated in[RFC5575bis] still applya different local domain needs a congruent topology. AS_SEQUENCE is not empty andincongruent topologies may causethe first condition (a.1) in the validationrulesprocedure needs to be evaluated. Because transport addresses for Flow Specification and unicast routes are different, the validation procedure will fail.5.This is true both across domains and within domains. Consider both cases: * Consider the first example. If the Flow Specification route is originated in another AS, the validation procedure will fail because the topology is non-congruent within the domain. * Consider the second example and modify it so AS X and AS Y belong to different local domains (no confederation of ASes exists). The validation procedure will fail because the topology is non-congruent across domains. 7. IANA Considerations This memo includes no request to IANA.6.8. Security Considerations No new security issues are introduced by relaxing the validation procedure forIBGPiBGP learnedflow specifications.Flow Specifications. With this proposal, the security characteristics of BGPflow specificationsFlow Specifications remain equivalent to the existing security properties of BGP unicast routing. Trafficflow specificationsFlow Specifications learned fromIBGPiBGP peers are trusted, hence, it is not required to validate that the originator of an intra-domain trafficflow specificationFlow Specification matches the originator of the best-match unicast route for the flow destination prefix. Conversely, this proposal continues to enforce the validation procedure forEBGPeBGP learned trafficflow specifications.Flow Specifications. In this way, the security properties of [RFC5575bis] are maintained such that anEBGPeBGP peer cannot cause a denial-of-service attack by advertising an inter-domainflow specificationFlow Specification for a destination prefix that it does not provide reachability information for.7.9. 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.8.10. Normative References [I-D.ietf-idr-rfc5575bis] Hares, S., Loibl, C., Raszuk, R., McPherson, D., and M. Bacher, "Dissemination of Flow Specification Rules", draft-ietf-idr-rfc5575bis-14 (work in progress), April 2019. [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>. [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, <https://www.rfc-editor.org/info/rfc4456>. [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>. Authors' Addresses James Uttaro AT&T 200 S. Laurel Ave Middletown, NJ 07748 USA Email: ju1738@att.com 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