Network Working Group | J. Uttaro |
Internet-Draft | AT&T |
Updates: 5575bis (if approved) | J. Alcaide |
Intended status: Standards Track | C. Filsfils |
Expires: January 9, 2021 | D. Smith |
Cisco | |
P. Mohapatra | |
Sproute Networks | |
July 8, 2020 |
Revised Validation Procedure for BGP Flow Specifications
draft-ietf-idr-bgp-flowspec-oid-12
This document describes a modification to the validation procedure defined for the dissemination of BGP Flow Specifications. The dissemination of BGP Flow Specifications requires that 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 allows only BGP speakers within the data forwarding path (such as autonomous system border routers) to originate BGP Flow Specifications. Though it is possible to disseminate such Flow 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 enables Flow Specifications to be originated from a centralized BGP route controller.
This document updates RFC5575bis.
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 January 9, 2021.
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.
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.
[I-D.ietf-idr-rfc5575bis] defined a new BGP [RFC4271] capability that can be used to distribute traffic Flow Specifications amongst BGP speakers in support of traffic filtering. The primary intention of [I-D.ietf-idr-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. [I-D.ietf-idr-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 [I-D.ietf-idr-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 within the data forwarding path (such as autonomous system border routers) to originate BGP Flow Specification NLRIs. Though it is possible 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 routers having complex BGP policies.
This document describes a modification to the [I-D.ietf-idr-rfc5575bis] 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.
Step (b) of the validation procedure in [I-D.ietf-idr-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:
/ - - - - - - - - - - - - - - | ASN1 | +-------+ +-------+ | | | | | | | RTR-A | | RTR-B | | | | | | | +-------+ +-------+ | \ / | iBGP \ / iBGP | \ / | +-------+ | | | | | RTR-C | | | RC | | +-------+ | / \ | / \ | iBGP / \ iBGP | +-------+ +-------+ | | RTR-D | | RTR-E | | | | | | | | | | | | +-------+ +-------+ | | | | - - -|- - - - - - - - -|- - -/ | eBGP eBGP | - - -|- - - - - - - - -|- - -/ | | | | +-------+ +-------+ | | | | | | | RTR-F | | RTR-G | | | | | | | +-------+ +-------+ | ASN2 | / - - - - - - - - - - - - - -
Figure 1
It is highly desirable that the mechanisms exist to protect each ASN 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 within a domain (AS or group of ASes), 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 Flow Specification NLRI. This is necessary given the route controller is originating the Flow Specification rather than 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. Thus, it is necessary to modify step (b) of the [I-D.ietf-idr-rfc5575bis] validation procedure such that an iBGP peer that is not within the data forwarding plane may originate Flow Specification NLRIs.
Step (b) of the validation procedure specified in [I-D.ietf-idr-rfc5575bis], section 6 is redefined as follows:
Explanation:
[I-D.ietf-idr-rfc5575bis] states:
This rule prevents the exchange of BGP Flow Specification NLRIs at Internet exchanges with BGP route servers. Therefore, this document also redefines the [I-D.ietf-idr-rfc5575bis] AS_PATH validation procedure referenced above as follows:
Explanation:
This section clarifies some of the terminology and rules referenced in [I-D.ietf-idr-rfc5575bis]. Namely:
[I-D.ietf-idr-rfc5575bis] 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 we received the update. If the latter applies, a network should be designed so it has a congruent topology.
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:
This memo includes no request to IANA.
No new security issues are introduced by relaxing the validation procedure for IBGP learned Flow Specifications. With this proposal, the security characteristics of BGP Flow Specifications remain equivalent to the existing security properties of BGP unicast routing.
BGP updates learned from iBGP peers are trusted so the Traffic Flow Specifications contained in BGP updates are 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. This proposal continues to enforce the validation Procedure for eBGP learned Traffic Flow Specifications, as per [I-D.ietf-idr-rfc5575bis] rules. In this way, the security properties of [I-D.ietf-idr-rfc5575bis] are maintained such that an EBGP peer cannot cause a denial-of-service attack by advertising an inter-domain Flow Specification for a destination prefix that it does not provide reachability information for.
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.
[I-D.ietf-idr-rfc5575bis] | Loibl, C., Hares, S., Raszuk, R., McPherson, D. and M. Bacher, "Dissemination of Flow Specification Rules", Internet-Draft draft-ietf-idr-rfc5575bis-25, May 2020. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC4271] | Rekhter, Y., Li, T. and S. Hares, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006. |
[RFC5065] | Traina, P., McPherson, D. and J. Scudder, "Autonomous System Confederations for BGP", RFC 5065, DOI 10.17487/RFC5065, August 2007. |
[RFC6793] | Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012. |