idnits 2.17.1 draft-sriram-opsec-urpf-improvements-00.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 abstract seems to contain references ([BCP38], [BCP84]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 31, 2016) is 2728 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'BCP84' is mentioned on line 18, but not defined == Missing Reference: 'BCP38' is mentioned on line 15, but not defined == Missing Reference: 'AS2 AS1' is mentioned on line 297, but not defined == Missing Reference: 'AS3 AS1' is mentioned on line 297, but not defined == Missing Reference: 'AS1' is mentioned on line 305, but not defined == Missing Reference: 'AS5 AS1' is mentioned on line 292, but not defined Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Opsec Working Group K. Sriram 3 Internet-Draft NIST 4 Intended status: Best Current Practice D. Montgomery 5 Expires: May 4, 2017 US NIST 6 October 31, 2016 8 Enhanced Feasible-Path Unicast Reverse Path Filtering 9 draft-sriram-opsec-urpf-improvements-00 11 Abstract 13 This document identifies a need for improvement of the unicast 14 Reverse Path Filtering techniques (uRPF) [BCP84] for source address 15 validation (SAV) [BCP38]. The strict uRPF is inflexible about 16 directionality, the loose uRPF is oblivious to directionality, and 17 the current feasible-path uRPF attempts to strike a balance between 18 the two [BCP84]. However, as shown in this draft, the existing 19 feasible-path uRPF still has short comings. This document proposes 20 an enhanced feasible-path uRPF technique, which aims to be more 21 flexible (in a meaningful way) about directionality than the 22 feasible-path uRPF. It is expected to alleviate ISPs' concerns about 23 the possibility of disrupting service for their customers, and 24 encourage greater deployment of uRPF. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on May 4, 2017. 43 Copyright Notice 45 Copyright (c) 2016 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 62 2. Review of Existing Source Address Validation Techniques . . . 3 63 2.1. SAV using Access Control List . . . . . . . . . . . . . . 3 64 2.2. SAV using Strict Unicast Reverse Path Filtering . . . . . 4 65 2.3. SAV using Feasible-Path Unicast Reverse Path Filtering . 4 66 2.4. SAV using Loose Unicast Reverse Path Filtering . . . . . 6 67 3. Proposed New Technique: SAV using Enhanced Feasible-Path uRPF 6 68 3.1. Customer Cone Consideration . . . . . . . . . . . . . . . 7 69 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 70 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 71 6. Informative References . . . . . . . . . . . . . . . . . . . 8 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 74 1. Introduction 76 This internet draft identifies a need for improvement of the unicast 77 Reverse Path Filtering techniques (uRPF) [RFC2827] for source address 78 validation (SAV) [RFC3704]. The strict uRPF is inflexible about 79 directionality, the loose uRPF is oblivious to directionality, and 80 the current feasible-path uRPF attempts to strike a balance between 81 the two [RFC3704]. However, as shown in this draft, the existing 82 feasible-path uRPF still has short comings. Even with the feasible- 83 path uRPF, ISPs are often apprehensive that they may be denying 84 customers' data packets with legitimate source addresses. This 85 document proposes an enhanced feasible-path uRPF technique, which 86 aims to be more flexible (in a meaningful way) about directionality 87 than the feasible-path uRPF. It is based on the principle that if 88 BGP updates for multiple prefixes with the same origin AS were 89 received on different interfaces, then data packets with source 90 addresses in any of those prefixes may be received on any of those 91 interfaces. This flexibility is expected to add greater intelligence 92 and accuracy to uRPF operation, and alleviate ISPs' concerns about 93 the possibility of disrupting service for their customers. It should 94 encourage greater deployment of uRPF to realize its DDoS prevention 95 benefits network wide. 97 1.1. Requirements Language 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in RFC 2119 [RFC2119]. 103 2. Review of Existing Source Address Validation Techniques 105 There are various existing techniques for deterrence against DDoS 106 attacks with spoofed addresses [RFC2827] [RFC3704]. There are also 107 some techniques used for prevention of reflection-amplification 108 attacks [RRL] [TA14-017A], which are used in achieving greater impact 109 in DDoS attacks. Employing a combination of these techniques in 110 enterprise and ISP border routers, DNS servers, broadband and 111 wireless access networks, and data centers provides the necessary 112 protections against DDoS attacks. 114 Source address validation (SAV) is performed in network edge devices 115 such as border routers, Cable Modem Termination Systems (CMTS), 116 Digital Subscriber Line Access Multiplexers (DSLAM), and Packet Data 117 Network (PDN) gateways in mobile networks. Ingress Access Control 118 List (ACL) and unicast Reverse Path Filtering (uRPF) are techniques 119 employed for implementing SAV [RFC2827] [RFC3704] [ISOC]. 121 2.1. SAV using Access Control List 123 Ingress/egress Access Control Lists (ACLs) are maintained which list 124 acceptable (or alternatively, unacceptable) prefixes for the source 125 addresses in the incoming/outgoing Internet Protocol (IP) packets. 126 Any packet with a source address that does not match the filter is 127 dropped. The ACLs for the ingress/egress filters need to be 128 maintained to keep them up to date. Hence, this method may be 129 operationally difficult or infeasible in dynamic environments such as 130 when a customer network is multihomed, has address space allocations 131 from multiple ISPs, or dynamically varies its BGP announcements (i.e. 132 routing) for traffic engineering purposes. 134 Typically, the egress ACLs in access aggregation devices (e.g. CMTS, 135 DSLAM) permit source addresses only from the address spaces 136 (prefixes) that are associated with the interface on which the 137 customer network is connected. Ingress ACLs are typically deployed 138 on border routers, and drop ingress packets when the source address 139 is spoofed (i.e. belongs to obviously disallowed prefix blocks, RFC 140 1918 prefixes, or provider's own prefixes). 142 2.2. SAV using Strict Unicast Reverse Path Filtering 144 In the strict unicast Reverse Path Filtering (uRPF) method, an 145 ingress packet on an interface at the border router is accepted only 146 if the Forwarding Information Base (FIB) contains a prefix that 147 encompasses the source address and packet forwarding for that prefix 148 points to said interface. In other words, the best path for routing 149 to that source address (if it were used as a destination address) 150 should point to said interface. It is well known that this method 151 has limitations when a network or autonomous system is multi-homed 152 and there is asymmetric routing of packets. Asymmetric routing 153 occurs (see Figure 1) when a customer AS announces one prefix (P1) to 154 one transit provider (ISP-a) and a different prefix (P2) to another 155 transit provider (ISP-b), but routes data packets with source 156 addresses in the second prefix (P2) to the first transit provider 157 (ISP-a) or vice versa. 159 +------------+ ---- P1[AS2 AS1] ---> +------------+ 160 | AS2(ISP-a) | <----P2[AS3 AS1] ---- | AS3(ISP-b)| 161 +------------+ +------------+ 162 /\ /\ 163 \ / 164 \ / 165 \ / 166 P1[AS1]\ /P2[AS1] 167 \ / 168 +-----------------------+ 169 | AS1(customer) | 170 +-----------------------+ 171 P1, P2 (prefixes originated) 173 Consider data packet received at AS2 via AS2 or AS3 174 that originated from AS1 with source address in P1: 175 * Strict uRPF fails 176 * Feasible-path uRPF fails 177 * Loose uRPF works (but not desirable) 178 * Enhanced Feasible-path uRPF works best 180 Figure 1: Scenario 1 for illustration of efficacy of uRPF schemes. 182 2.3. SAV using Feasible-Path Unicast Reverse Path Filtering 184 The feasible-path uRPF helps partially overcome the problem 185 identified with the strict uRPF in the multi-homing case. The 186 feasible-path uRPF is similar to the strict uRPF, but the difference 187 is that instead of inserting one best route in the FIB (or an 188 equivalent RPF table), alternative routes are also added there. This 189 method relies on announcements for the same prefixes (albeit some may 190 be prepended to effect lower preference) propagating to all the 191 routers performing feasible-path uRPF check. So in the multi-homing 192 scenario, if the customer AS announces routes for both prefixes (P1, 193 P2) to both transit providers (with suitable prepends if needed for 194 traffic engineering), then the feasible-path uRPF method works (see 195 Figure 2)). It should be mentioned that the feasible-path uRPF works 196 in this scenario only if customer route is preferred at AS2 and AS3 197 over shorter path. 199 +------------+ routes for P1, P2 +-----------+ 200 | AS2(ISP-a) |<-------------------->| AS3(ISP-b)| 201 +------------+ (p2p) +-----------+ 202 /\ /\ 203 \ / 204 P1[AS1]\ /P2[AS1] 205 \ / 206 P2[AS1 AS1 AS1]\ /P1[AS1 AS1 AS1] 207 \ / 208 +-----------------------+ 209 | AS1(customer) | 210 +-----------------------+ 211 P1, P2 (prefixes originated) 213 Consider data packet received at AS2 via AS3 214 that originated from AS1 with source address in P1: 215 * Feasible-path uRPF works exi(if customer route preferred 216 at AS3 over shorter path) 217 * Feasible-path uRPF fails (if shorter path preferred 218 at AS3 over customer route) 219 * Loose uRPF works (but not desirable) 220 * Enhanced Feasible-path uRPF works best 222 Figure 2: Scenario 2 for illustration of efficacy of uRPF schemes. 224 However, the feasible-path uRPF method has limitations as well. One 225 form of limitation naturally occurs when the recommendation of 226 propagating the same prefixes to all routers is not heeded. Another 227 form of limitation can be described as follows. In Scenario 2 228 (described above, illustrated in Figure 2), it is possible that the 229 second transit provider (ISP-b) does not propagate the prepended 230 route for the first prefix (P1) to the first transit provider (ISP1). 231 This is because the second transit provider's (ISP-b's) decision 232 policy permits giving priority to a shorter route to the first prefix 233 (P1) via the first provider (ISP-a) over a longer route learned 234 directly from the customer AS (AS1). In such a scenario, the second 235 transit provider (ISP-b) would not send any route announcement for 236 the first prefix (P1) to first transit provider (ISP-a). Then a data 237 packet with source address in the first prefix (P1) that traverses 238 via the second transit provider (ISP-b) will get dropped at the first 239 transit provider (ISP-a). 241 2.4. SAV using Loose Unicast Reverse Path Filtering 243 In the loose unicast Reverse Path Filtering (uRPF) method, an ingress 244 packet at the border router is accepted only if the FIB has one or 245 more prefixes that encompass the source address. That is, a packet 246 is dropped if no route exists in the FIB for the source address. 247 Loose uRPF sacrifices directionality. In most cases, this method is 248 not useful for prevention of address spoofing. It only drops packets 249 if the spoofed address is non-routable (e.g. RFC 1918, unallocated, 250 allocated but currently not routed). 252 3. Proposed New Technique: SAV using Enhanced Feasible-Path uRPF 254 Enhanced feasible-path uRPF adds greater flexibility and accuracy to 255 uRPF operation than the existing uRPF methods discussed in Section 2. 256 It can be best explained with an example. Let us say, a border 257 router of ISP-A has in its Adj-RIB-in the set of prefixes {Q1, Q2, 258 Q3} each of which has AS-x as its origin and AS-x belongs in ISP-A's 259 customer cone. Further, the border router received a route for 260 prefix Q1 over a customer facing interface, while it learned routes 261 for prefixes Q2 and Q3 from a lateral peer and an upstream transit 262 provider, respectively. All these prefixes passed route filtering 263 and/or origin validation (i.e. the origin AS-x is deemed legitimate). 264 In this example scenario, the enhanced feasible-path uRPF method 265 allows source addresses to belong in {Q1, Q2, Q3} on any of the three 266 specific interfaces in question (customer, peer, provider) on which 267 the three routes were learned. 269 Thus, enhanced feasible-path uRPF defines feasible paths in a more 270 generalized but precise way (as compared to feasible-path uRPF). In 271 the above example, routes for prefixes Q2 and Q3 were not received on 272 a customer facing interface at the border router, yet data packets 273 with source addresses in Q2 or Q3 are accepted by the router if they 274 come in on the same customer interface on which the route for prefix 275 Q1 was received (based on these prefix routes having the same origin 276 AS). 278 Scenario 3 (Figure 3) further illustrates the enhanced feasible-path 279 uRPF method with a more concrete example. In this example, we focus 280 on operation of the feasible-path uRPF at ISP4 (AS4). ISP4 learns a 281 route for prefix P1 via a customer-to-provider (C2P) interface from 282 customer ISP2 (AS2). This route for P1 has origin AS1. ISP4 also 283 learns a route for P2 via another C2P interface from customer ISP3 284 (AS3). Additionally, AS4 learns an alternate route for P2 via a 285 peer-to-peer (p2p) interface from ISP5 (AS5). Both routes for P2 286 have the same origin AS (i.e. AS1) as does the route for P1. 287 Applying the principle of enhanced feasible-path uRPF, given the 288 commonality of the origin AS across the above mentioned routes for P1 289 and P2, AS4 permits the SA in data packets to belong in P1 or P2 on 290 any of the three interfaces (from AS2, AS3, and AS5). 292 +----------+ P2[AS5 AS1] +------------+ 293 | AS4(ISP4)|<---------------| AS5(ISP5) | 294 +----------+ (p2p) +------------+ 295 /\ /\ /\ 296 / \ / 297 P1[AS2 AS1]/ \P2[AS3 AS1] / 298 (C2P)/ \(C2P) / 299 / \ / 300 +----------+ +----------+ / 301 | AS2(ISP2)| | AS3(ISP3)| / 302 +----------+ +----------+ / 303 /\ /\ / 304 \ / / 305 P1[AS1]\ /P2[AS1] /P2[AS1] 306 (C2P)\ /(C2P) /(C2P) 307 \ / / 308 +----------------+ / 309 | AS1(customer) |/ 310 +----------------+ 311 P1, P2 (prefixes originated) 313 Consider that data packets may be received at AS4 314 with source address in P1 or P2 from any of the 315 neighbors (AS2, AS3, AS5): 316 * Feasible-path uRPF fails 317 * Loose uRPF works (but not desirable) 318 * Enhanced Feasible-path uRPF works best 320 Figure 3: Scenario 3 for illustration of efficacy of uRPF schemes. 322 The proposed enhanced feasible-path uRPF method works best (when 323 compared to existing uRPF method) in several realistic scenarios 324 (Scenarios 1, 2, and 3 in Figures 1, 2, and 3, respectively). This 325 should help alleviate ISP concerns about possible service disruption 326 for their customers and encourage greater adoption of uRPF. 328 3.1. Customer Cone Consideration 330 An additional degree of flexibility that can be incorporated in the 331 enhanced feasible-path uRPF can be described as follows. Let I = 332 {I1, I2, ..., In} represent the set of all interfaces directly 333 connecting to the top layer of ASes in a customer cone. Let P = {P1, 334 P2, ..., Pm} represent the set of all prefixes for which routes have 335 been received over the interfaces in I. Then, over all interfaces in 336 I, permit data packets with SA in any of the prefixes in P. 338 It should be emphasized that, in spite of the flexibilities 339 incorporated into uRPF, a multi-homed customer should be always 340 advised to advertise their routes to each of its upstream ISPs. When 341 a customer AS is known to be single-homed stub, then strict uRPF 342 should be used and would serve well. 344 4. Security Considerations 346 This document offers a technique to improve the security features of 347 uRPF. The proposed technique does not warrant any additional 348 security considerations. 350 5. IANA Considerations 352 This document does not request new capabilities or attributes. It 353 does not create any new IANA registries. 355 6. Informative References 357 [ISOC] Vixie (Ed.), P., "Addressing the challenge of IP 358 spoofing", ISOC report , September 2015, . 361 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 362 Requirement Levels", BCP 14, RFC 2119, 363 DOI 10.17487/RFC2119, March 1997, 364 . 366 [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: 367 Defeating Denial of Service Attacks which employ IP Source 368 Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, 369 May 2000, . 371 [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed 372 Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March 373 2004, . 375 [RRL] "Response Rate Limiting in the Domain Name System", 376 Redbarn blog , . 378 [TA14-017A] 379 "UDP-Based Amplification Attacks", US-CERT alert 380 TA14-017A , January 2014, . 383 Authors' Addresses 385 Kotikalapudi Sriram 386 NIST 387 100 Bureau Drive 388 Gaithersburg MD 20899 389 USA 391 Email: ksriram@nist.gov 393 Doug Montgomery 394 US NIST 395 100 Bureau Drive 396 Gaithersburg MD 20899 397 USA 399 Email: dougm@nist.gov