Internet-Draft | ASPA validation for BGP Export | July 2024 |
Zhang | Expires 25 January 2025 | [Page] |
This document describes that a BGP speaker may perform AS_PATH verification on the routes it sends to BGP neighbors at external BGP (eBGP) egress based on Autonomous System Provider Authorization (ASPA) objects in the Resource Public Key Infrastructure (RPKI). Before BGP speakers advertise routes to external peers at eBGP egress, performing ASPA-based AS_PATH verification can prevent route leaks to external peers.¶
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 25 January 2025.¶
Copyright (c) 2024 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Autonomous System Provider Authorization (ASPA) objects in the RPKI can be used to verify BGP AS_PATH for detection and mitigation of route leaks and certain prefix hijacks involving forged origins or forged path-segments with some improbable AS paths. The ASPA object profile is defined in [I-D.ietf-sidrops-aspa-profile].¶
In the procedures of ASPA-based BGP AS_PATH verification defined in [I-D.ietf-sidrops-aspa-verification], ingress external BGP (eBGP) router of an AS receives routes from its BGP peers, and perform ASPA-based BGP AS_PATH verification and mitigation at eBGP ingress, as recomendations specified in Section 8.1 in [I-D.ietf-sidrops-aspa-verification]. BGP AS_PATH verification at eBGP ingress can detect and prevent the route leaks in the routes received from BGP neighbors, but route leaks could occur at the local AS where a BGP speaker exports routes to its external peer at eBGP egress. It lacks the ability to prevent route leaks from occuring at the local AS.¶
This document describes ASPA-based BGP AS_PATH verification at eBGP egress. It does not change the semantics or procedures of ASPA-based BGP AS_PATH verification defined in [I-D.ietf-sidrops-aspa-verification]. It explains an important use case and specifics of correct implementation of ASPA-based path verification in eBGP egress policies, as [RFC8893] did with RPKI origin validation for BGP export. ASPA-based BGP AS_PATH verification at eBGP egress is a little bit different from the process at the eBGP ingress. By AS_PATH verification before sending routes to BGP neighbors at eBGP egress, a BGP speaker can detect and prevent imporper route propagation of route leaks.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
It is assumed that the reader understands BGP[RFC4271], RPKI[RFC6480], ASPA object profile[I-D.ietf-sidrops-aspa-profile], ASPA-based BGP AS_PATH verification[I-D.ietf-sidrops-aspa-verification], and RPKI-ROV for BGP export[RFC8893].¶
When a BGP speaker advertises a route to an external peer through eBGP egress, the BGP speaker prepends its own AS number to the AS_PATH of the route, and performs ASPA-based AS_PATH verification before sending the route to the external peer.¶
Suppose the BGP speaker is at AS X, and its external peer is at AS Y, and the AS_PATH P of the route to be advertised to external peer by the BGP speaker is represented by {AS X, AS(N), ..., AS(2), AS(1)}, where AS(1) is the origin AS, and AS X is the local AS number added by the BGP speaker of AS X at eBGP egress.¶
The method of ASPA-based AS_PATH verification at the eBGP egress of the BGP speaker is described as follows:¶
1. Regard the external neighbor AS Y as the virtual receiving/validating AS point.¶
2. The BGP roles of AS X and AS Y, including Customer, Provider, Route Server (RS), Route Server Client (RS-client) and Peer, are defined in [RFC9234], and they can be configured locally and used for the path verification.¶
3. If AS X is the Customer or Peer to AS Y, or, AS Y is a (transparent or non-transparent) Route Server (RS) and AS X is a RS-client, use the upstream path verification algorithm (described in [I-D.ietf-sidrops-aspa-verification]) to verify the AS_PATH P.¶
4. If AS X is the Provider to AS Y, use the downstream path verification algorithm (described in [I-D.ietf-sidrops-aspa-verification]) to verify the AS_PATH P.¶
In some scenarios, there is no requirement to perform egress ASPA-based path verification.¶
1. Mutual-transit. If the relation between two ASes is mutual-transit, they MAY export all kinds of routes to each other ([I-D.ietf-sidrops-aspa-verification]). There is no route leak violating valley-free route policy.¶
2. A Route Server exports to a RS-client. The functionality of a Route Server is to exchange routes among member ASes at an Internet Exchange Provider (IXP) according to pre-configured rules. The responsibility of route leak happened at an IXP is at member ASes, not at Route Servers. Therefore, there is no need to do path verification at RS egress, regardless of whether the RS is a transparent RS or a non-transparent RS. Additionally, even if verification is performed at the egress, as shown in Figure 2, both the egress and ingress verification are upstream. Therefore, if the verification result at the ingress is not "Invalid", the verification result at the egress should also not be "Invalid". Therefore, ASPA verification is not performed at the egress of the Route Server to the RS-client.¶
The peering relationships between the local AS and its external neighbor ASes, including Customer-Provider/Provider-Customer, Peer-Peer, Route Server (RS) and RS-client, mutual-transit, are used in path verification procedures to determine whether upstream or downstream procedures should be applied. There are the following possible ways to know the relations between the local AS and its external neighbor AS: (1) The first way is to use the BGP Role Capabilities exchanged in the BGP OPEN message as specified in [RFC9234]. (2) The second way is to use ASPA objects registered by the local AS and its external neighbor AS. (3) Another possible way is to use local configuration. When the relation of two neighboring ASes is mutual-transit, they are Customers of each other in BGP roles. It can be confirmed by BGP roles advertised in the BGP OPEN message, or configuration in local file. If a mutual-transit relation is identified as Cutomer-Provider, a false positive of route leak may be generated in path verification.¶
The security considerations that apply to ASPA-based AS_PATH verification (see [I-D.ietf-sidrops-aspa-verification]) also apply to the procedure described in this document.¶
This document has no IANA actions¶