idnits 2.17.1 draft-ietf-idr-bgp-flowspec-oid-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC5575bis, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 8, 2019) is 1725 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC5575bis' is mentioned on line 429, but not defined ** Obsolete undefined reference: RFC 5575 (Obsoleted by RFC 8955) == Unused Reference: 'I-D.ietf-idr-rfc5575bis' is defined on line 442, but no explicit reference was found in the text == Unused Reference: 'RFC4456' is defined on line 458, but no explicit reference was found in the text == Outdated reference: A later version (-27) exists of draft-ietf-idr-rfc5575bis-14 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Uttaro 3 Internet-Draft AT&T 4 Updates: 5575bis (if approved) J. Alcaide 5 Intended status: Standards Track C. Filsfils 6 Expires: January 9, 2020 D. Smith 7 Cisco 8 P. Mohapatra 9 Sproute Networks 10 July 8, 2019 12 Revised Validation Procedure for BGP Flow Specifications 13 draft-ietf-idr-bgp-flowspec-oid-09 15 Abstract 17 This document describes a modification to the validation procedure 18 defined in RFC 5575bis for the dissemination of BGP Flow 19 Specifications. RFC 5575bis requires that the originator of the Flow 20 Specification matches the originator of the best-match unicast route 21 for the destination prefix embedded in the Flow Specification. This 22 allows only BGP speakers within the data forwarding path (such as 23 autonomous system border routers) to originate BGP Flow 24 Specifications. Though it is possible to disseminate such Flow 25 Specifications directly from border routers, it may be operationally 26 cumbersome in an autonomous system with a large number of border 27 routers having complex BGP policies. The modification proposed 28 herein enables Flow Specifications to be originated from a 29 centralized BGP route controller. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on January 9, 2020. 48 Copyright Notice 50 Copyright (c) 2019 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 66 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3 68 4. Revised Validation Procedure . . . . . . . . . . . . . . . . 5 69 4.1. Revision of Route Feasibility . . . . . . . . . . . . . . 5 70 4.2. Revision of AS_PATH Validation . . . . . . . . . . . . . 6 71 5. Other RFC5575bis Considerations . . . . . . . . . . . . . . . 7 72 6. Topology Considerations . . . . . . . . . . . . . . . . . . . 8 73 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 74 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 75 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 76 10. Normative References . . . . . . . . . . . . . . . . . . . . 10 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 79 1. Requirements Language 81 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 82 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 83 document are to be interpreted as described in RFC 2119 [RFC2119]. 85 2. Introduction 87 [RFC5575bis] defined a new BGP [RFC4271] capability that can be used 88 to distribute traffic Flow Specifications amongst BGP speakers in 89 support of traffic filtering. The primary intention of [RFC5575bis] 90 is to enable downstream autonomous systems to signal traffic 91 filtering policies to upstream autonomous systems. In this way, 92 traffic is filtered closer to the source and the upstream autonomous 93 system(s) avoid carrying the traffic to the downstream autonomous 94 system only to be discarded. [RFC5575bis] also enables more granular 95 traffic filtering based upon upper layer protocol information (e.g., 96 protocol port numbers) as opposed to coarse IP destination prefix- 97 based filtering. Flow specification NLRIs received from a BGP peer 98 are subject to validity checks before being considered feasible and 99 subsequently installed within the respective Adj-RIB-In. 101 The validation procedure defined within [RFC5575bis] requires that 102 the originator of the Flow Specification NLRI matches the originator 103 of the best-match unicast route for the destination prefix embedded 104 in the Flow Specification. This allows only BGP speakers within the 105 data forwarding path (such as autonomous system border routers) to 106 originate BGP Flow Specification NLRIs. Though it is possible to 107 disseminate such Flow Specification NLRIs directly from border 108 routers, it may be operationally cumbersome in an autonomous system 109 with a large number of border routers having complex BGP policies. 111 This document describes a modification to the [RFC5575bis] validation 112 procedure allowing Flow Specification NLRIs to be originated from a 113 centralized BGP route controller within the local autonomous system 114 that is not in the data forwarding path. While the proposed 115 modification cannot be used for inter-domain coordination of traffic 116 filtering, it greatly simplifies distribution of intra-domain traffic 117 filtering policies within an autonomous system which has a large 118 number of border routers having complex BGP policies. By relaxing 119 the validation procedure for iBGP, the proposed modification allows 120 Flow Specifications to be distributed in a standard and scalable 121 manner throughout an autonomous system. 123 3. Motivation 125 Step (a) of the validation procedure in [RFC5575bis], section 6 is 126 defined with the underlying assumption that the Flow Specification 127 NLRI traverses the same path, in the inter-domain and intra-domain 128 route distribution graph, as that of the longest-match unicast route 129 for the destination prefix embedded in the Flow Specification. 131 In the case of inter-domain traffic filtering, the Flow Specification 132 originator at the egress border routers of an AS (e.g. RTR-D and 133 RTR-E of ASN1 in figure 1) matches the eBGP neighbor that advertised 134 the longest match destination prefix (see RTR-F and RTR-G 135 respectively in figure 1). Similarly, at the ingress border routers 136 of ASN (see RTR-A and RTR-B of ASN1 in figure 1), the Flow 137 Specification originator matches the egress iBGP border routers that 138 had advertised the unicast route for the best-match destination 139 prefix (see RTR-D and RTR-E respectively in figure 1). This is true 140 even when ingress border routers select paths from different egress 141 border routers as best path based upon IGP distance. For example, in 142 figure 1: 144 RTR-A chooses RTR-D's path as best 146 RTR-B chooses RTR-E as the best path 148 / - - - - - - - - - - - - - - 149 | ASN1 | 150 +-------+ +-------+ 151 | | | | | | 152 | RTR-A | | RTR-B | 153 | | | | | | 154 +-------+ +-------+ 155 | \ / | 156 iBGP \ / iBGP 157 | \ / | 158 +-------+ 159 | | | | 160 | RTR-C | 161 | | RC | | 162 +-------+ 163 | / \ | 164 / \ 165 | iBGP / \ iBGP | 166 +-------+ +-------+ 167 | | RTR-D | | RTR-E | | 168 | | | | 169 | | | | | | 170 +-------+ +-------+ 171 | | | | 172 - - -|- - - - - - - - -|- - -/ 173 | eBGP eBGP | 174 - - -|- - - - - - - - -|- - -/ 175 | | | | 176 +-------+ +-------+ 177 | | | | | | 178 | RTR-F | | RTR-G | 179 | | | | | | 180 +-------+ +-------+ 181 | ASN2 | 182 / - - - - - - - - - - - - - - 184 Figure 1 186 It is highly desirable that the mechanisms exist to protect each ASN 187 independently from network security attacks using the BGP Flow 188 Specification NLRI for intra-domain purposes only. Network operators 189 often deploy a dedicated Security Operations Center (SOC) within 190 their ASN to monitor and detect such security attacks. To mitigate 191 attacks within a domain (AS or group of ASes), operators require the 192 ability to originate intra-domain Flow Specification NLRIs from a 193 central BGP route controller that is not within the data forwarding 194 plane. In this way, operators can direct border routers within their 195 ASN with specific attack mitigation actions (drop the traffic, 196 forward to a clean-pipe center, etc.). 198 To originate a Flow Specification NLRI, a central BGP route 199 controller must set itself as the originator in the Flow 200 Specification NLRI. This is necessary given the route controller is 201 originating the Flow Specification rather than reflecting it, and to 202 avoid the complexity of having to determine the egress border router 203 whose path was chosen as the best in each of the ingress border 204 routers. Thus, it is necessary to modify step (a) of the 205 [RFC5575bis] validation procedure such that an iBGP peer that is not 206 within the data forwarding plane may originate Flow Specification 207 NLRIs. 209 4. Revised Validation Procedure 211 4.1. Revision of Route Feasibility 213 Step (a) of the validation procedure specified in [RFC5575bis], 214 section 6 is redefined as follows: 216 a. One of the following conditions MUST hold true. 218 1. The originator of the Flow Specification matches the 219 originator of the best-match unicast route for the 220 destination prefix embedded in the Flow Specification. 222 2. The AS_PATH attribute of the Flow Specification does not 223 contain AS_SET and/or AS_SEQUENCE segments. 225 1. This condition SHOULD be enabled by default. This 226 default behavior should validate an empty AS_PATH. 228 2. This condition MAY be disabled by configuration on a BGP 229 speaker. 231 3. As an exception to this rule, a given AS_PATH with AS_SET 232 and/or AS_SEQUENCE segments MAY be validated by policy. 234 Explanation: 236 In this context, an empty AS_PATH means that it does not have 237 AS_SET and/or AS_SEQUENCE segments, and local domain means the 238 local AS [RFC4271] or the local confederation of ASes (in the case 239 that the local AS belongs to a confederation of ASes [RFC5065]). 241 Thus, receiving a Flow Specification with an empty AS_PATH 242 indicates that the Flow Specification was originated inside the 243 local domain. 245 With the above modification to the [RFC5575bis] validation 246 procedure, a BGP peer within the local domain that is not within 247 the data forwarding path can originate a Flow Specification. 249 Disabling the new condition above (a.2.2) may be a good practice 250 when the operator knows with certainty that there is not a Flow 251 Specification originated inside the local domain. 253 Also, policy may be useful to validate a specific set of non-empty 254 AS_PATHs (a.2.3). For example, it could validate a Flow 255 Specification whose AS_PATH contains only an AS_SEQUENCE with ASes 256 that are all known to belong to the same administrative domain. 258 4.2. Revision of AS_PATH Validation 260 [RFC5575bis] states: 262 o BGP implementations MUST also enforce that the AS_PATH attribute 263 of a route received via the External Border Gateway Protocol 264 (eBGP) contains the neighboring AS in the left-most position of 265 the AS_PATH attribute. 267 This rule prevents the exchange of BGP Flow Specification NLRIs at 268 Internet exchanges with BGP route servers. Therefore, this document 269 also redefines the [RFC5575bis] AS_PATH validation procedure 270 referenced above as follows: 272 o BGP Flow Specification implementations MUST enforce that the AS in 273 the left-most position of the AS_PATH attribute of a Flow 274 Specification route received via the External Border Gateway 275 Protocol (eBGP) matches the AS in the left-most position of the 276 AS_PATH attribute of the best-match unicast route for the 277 destination prefix embedded in the Flow Specification NLRI. 279 Explanation: 281 For clarity, the AS in the left-most position of the AS_PATH means 282 the AS that was last added to the AS_SEQUENCE. 284 This proposed modification enables the exchange of BGP Flow 285 Specification NLRIs at Internet exchanges with BGP route servers 286 while at the same time, for security reasons, prevents an eBGP 287 peer from advertising an inter-domain Flow Specification for a 288 destination prefix that it does not provide reachability 289 information for. 291 Comparing only the last ASes added is sufficient for eBGP learned 292 Flow Specification NLRIs. Requiring a full AS_PATH match would 293 limit origination of inter-domain Flow Specifications to the 294 origin AS of the best-match unicast route for the destination 295 prefix embedded in the Flow Specification only. As such, a full 296 AS_PATH validity check may prevent transit ASes from originating 297 inter-domain Flow Specifications, which is not desirable. 299 Redefinition of this AS_PATH validation rule for a Flow 300 Specification does not mean that the original rule in [RFC5575bis] 301 cannot be enforced as well. Its enforcement remains optional per 302 [RFC4271]. That is, we can enforce the first AS in the AS_PATH to 303 be the same as the neighbor AS for any address-family route 304 (including a Flow Specification). 306 Using the new rule to validate a Flow Specification received from 307 an Internal Border Gateway Protocol (iBGP) peer is out of the 308 scope of this document. Note that in most scenarios such 309 validation would be redundant. 311 Using the new rule to validate a Flow Specification route received 312 from an External Border Gateway Protocol (eBGP) peer belonging to 313 the same local domain (in the case that the local AS belongs to a 314 confederation of ASes) is out of the scope of this document. Note 315 that although it's possible, its utility is dubious. 317 5. Other RFC5575bis Considerations 319 This section clarifies some of the terminology and rules referenced 320 in [RFC5575bis]. Namely: 322 o [RFC5575bis] references "the best-match unicast route for the 323 destination prefix embedded in the Flow Specification". For 324 clarity, this route is defined hereby as the best path of the 325 unicast network with the longer prefix-length that covers the 326 destination prefix embedded in the Flow Specification. 328 Explanation: 330 We consider only the best-match network and we do not consider 331 unicast non-best paths (even if it is received from the same peer 332 as the Flow Specification). 334 o If a BGP Flow Specification does not embed a destination prefix 335 component, then the default behavior SHOULD be not to perform the 336 validation procedures. 338 Explanation: 340 The reason for this is because the best-match unicast route is not 341 defined in this case. 343 o In the context of this document and [RFC5575bis], AS_PATH 344 attribute is defined as the reconstructed AS path information (by 345 combining AS_PATH and AS4_PATH attributes, if the BGP speaker is a 346 NEW speaker and receives the route from an OLD speaker), according 347 to section 4.2.3 of [RFC6793]. 349 o Support for two-octet AS only implementations is out of the scope 350 of this document (i.e. it's assumed that the BGP speaker supports 351 [RFC6793]). 353 6. Topology Considerations 355 [RFC5575bis] indicates that the originator may refer to the 356 originator path attribute (ORIGINATOR_ID) or (if the attribute is not 357 present) the transport address of the peer from which we received the 358 update. If the latter applies, a network should be designed so it 359 has a congruent topology. 361 With the additional second condition (a.2) in the validation 362 procedure, non-congruent topologies are supported within the local 363 domain if the Flow Specification is originated within the local 364 domain. 366 Explanation: 368 Consider the following scenarios without the second condition 369 (a.2) being added to the validation procedure: 371 1. Consider a topology with two BGP speakers with two peering 372 sessions between them, one for unicast and one for Flow 373 Specification. This is a non-congruent topology. Let's 374 assume that the ORIGINATOR_ID attribute was not received (e.g. 375 a route reflector receiving routes from its clients). In this 376 case, the Flow Specification validation procedure will fail 377 because of the first condition (a.1). 379 2. Consider a topology with a BGP speaker within a confederation 380 of ASes, inside local AS X. ORIGINATOR_ID attribute is not 381 advertised within the local domain. Let's assume the Flow 382 Specification route is received from peer A and the best-match 383 unicast route is received from peer B. Both peers belong in 384 local AS Y. Both AS X and AS Y belong to the same local 385 domain. The Flow Specification validation procedure will also 386 fail because of the first condition (a.1). 388 In the examples above, if Flow Specifications are originated in 389 the same local domain, AS_PATH will not contain AS_SET and/or 390 AS_SEQUENCE segments. When the second condition (a.2) in the 391 validation procedure is used, the validation procedure will pass. 392 Thus, non-congruent topologies are supported if the Flow 393 Specification is originated in the same local domain. 395 Even when the second condition (a.2) is used in the validation 396 procedure, a Flow Specification originated in a different local 397 domain needs a congruent topology. AS_SEQUENCE is not empty and 398 the first condition (a.1) in the validation procedure needs to be 399 evaluated. Because transport addresses for Flow Specification and 400 unicast routes are different, the validation procedure will fail. 401 This is true both across domains and within domains. Consider 402 both cases: 404 * Consider the first example. If the Flow Specification route is 405 originated in another AS, the validation procedure will fail 406 because the topology is non-congruent within the domain. 408 * Consider the second example and modify it so AS X and AS Y 409 belong to different local domains (no confederation of ASes 410 exists). The validation procedure will fail because the 411 topology is non-congruent across domains. 413 7. IANA Considerations 415 This memo includes no request to IANA. 417 8. Security Considerations 419 No new security issues are introduced by relaxing the validation 420 procedure for iBGP learned Flow Specifications. With this proposal, 421 the security characteristics of BGP Flow Specifications remain 422 equivalent to the existing security properties of BGP unicast 423 routing. Traffic Flow Specifications learned from iBGP peers are 424 trusted, hence, it is not required to validate that the originator of 425 an intra-domain traffic Flow Specification matches the originator of 426 the best-match unicast route for the flow destination prefix. 427 Conversely, this proposal continues to enforce the validation 428 procedure for eBGP learned traffic Flow Specifications. In this way, 429 the security properties of [RFC5575bis] are maintained such that an 430 eBGP peer cannot cause a denial-of-service attack by advertising an 431 inter-domain Flow Specification for a destination prefix that it does 432 not provide reachability information for. 434 9. Acknowledgements 436 The authors would like to thank Han Nguyen for his direction on this 437 work as well as Waqas Alam, Keyur Patel, Robert Raszuk, Eric Rosen 438 and Shyam Sethuram for their review comments. 440 10. Normative References 442 [I-D.ietf-idr-rfc5575bis] 443 Hares, S., Loibl, C., Raszuk, R., McPherson, D., and M. 444 Bacher, "Dissemination of Flow Specification Rules", 445 draft-ietf-idr-rfc5575bis-14 (work in progress), April 446 2019. 448 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 449 Requirement Levels", BCP 14, RFC 2119, 450 DOI 10.17487/RFC2119, March 1997, 451 . 453 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 454 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 455 DOI 10.17487/RFC4271, January 2006, 456 . 458 [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route 459 Reflection: An Alternative to Full Mesh Internal BGP 460 (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, 461 . 463 [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous 464 System Confederations for BGP", RFC 5065, 465 DOI 10.17487/RFC5065, August 2007, 466 . 468 [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet 469 Autonomous System (AS) Number Space", RFC 6793, 470 DOI 10.17487/RFC6793, December 2012, 471 . 473 Authors' Addresses 474 James Uttaro 475 AT&T 476 200 S. Laurel Ave 477 Middletown, NJ 07748 478 USA 480 Email: ju1738@att.com 482 Juan Alcaide 483 Cisco 484 7100 Kit Creek Road 485 Research Triangle Park, NC 27709 486 USA 488 Email: jalcaide@cisco.com 490 Clarence Filsfils 491 Cisco 493 Email: cf@cisco.com 495 David Smith 496 Cisco 497 111 Wood Ave South 498 Iselin, NJ 08830 499 USA 501 Email: djsmith@cisco.com 503 Pradosh Mohapatra 504 Sproute Networks 506 Email: mpradosh@yahoo.com