idnits 2.17.1 draft-ietf-intarea-router-alert-considerations-08.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 2, 2011) is 4649 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) ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group F. Le Faucheur, Ed. 3 Internet-Draft Cisco 4 Intended status: BCP August 2, 2011 5 Expires: February 3, 2012 7 IP Router Alert Considerations and Usage 8 draft-ietf-intarea-router-alert-considerations-08 10 Abstract 12 The IP Router Alert Option is an IP option that alerts transit 13 routers to more closely examine the contents of an IP packet. 14 Resource reSerVation Protocol (RSVP), Pragmatic General Multicast 15 (PGM), Internet Group Management Protocol (IGMP), Multicast Listener 16 Discovery (MLD), Multicast Router Discovery (MRD) and General 17 Internet Signalling Transport (GIST) are some of the protocols that 18 make use of the IP Router Alert Option. This document discusses 19 security aspects and usage guidelines around the use of the current 20 IP Router Alert Option. Specifically, it provides recommendation 21 against using the Router Alert in the end-to-end open Internet as 22 well as identify controlled environments where protocols depending on 23 Router Alert can be used safely. It also provides recommendation 24 about protection approaches for Service Providers. Finally it 25 provides brief guidelines for Router Alert implementation on routers. 27 Status of this Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on February 3, 2012. 44 Copyright Notice 46 Copyright (c) 2011 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 63 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 3. Security Concerns of Router Alert . . . . . . . . . . . . . . 6 65 4. Guidelines for use of Router Alert . . . . . . . . . . . . . . 9 66 4.1. Use of Router Alert End-to-End In the Internet (Router 67 Alert in Peer Model) . . . . . . . . . . . . . . . . . . . 9 68 4.2. Use of Router Alert In Controlled Environments . . . . . . 10 69 4.2.1. Use of Router Alert Within an Administrative Domain . 10 70 4.2.2. Use of Router Alert In Overlay Model . . . . . . . . . 12 71 4.3. Router Alert Protection Approaches for Service 72 Providers . . . . . . . . . . . . . . . . . . . . . . . . 15 73 5. Guidelines for Router Alert Implementation . . . . . . . . . . 17 74 6. Security Considerations . . . . . . . . . . . . . . . . . . . 18 75 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 76 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 20 77 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 79 10.1. Normative References . . . . . . . . . . . . . . . . . . . 22 80 10.2. Informative References . . . . . . . . . . . . . . . . . . 22 81 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 24 83 1. Terminology 85 For readability, this document uses the following loosely defined 86 terms: 88 o Fast path : Hardware or Application Specific Integrated Circuit 89 (ASIC) processing path for packets. This is the nominal 90 processing path within a router for IP datagrams. 92 o Slow path : Software processing path for packets. This is a sub- 93 nominal processing path for packets that require special 94 processing or differ from assumptions made in fast path 95 heuristics. 97 o Next level protocol: the protocol transported in the IP datagram. 98 In IPv4 [RFC0791], the next level protocol is identified by the 99 IANA protocol number conveyed in the 8-bit "Protocol" field in the 100 IPv4 header. In IPv6 [RFC2460], the next level protocol is 101 identified by the IANA protocol number conveyed in the 8-bit "Next 102 Header" field in the IPv6 header. 104 1.1. Conventions Used in This Document 106 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 107 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 108 document are to be interpreted as described in [RFC2119]. 110 2. Introduction 112 [RFC2113] and [RFC2711] respectively define the IPv4 and IPv6 Router 113 Alert Option (RAO). In this document, we collectively refer to those 114 as the IP Router Alert. The IP Router Alert Option is an IP option 115 that alerts transit routers to more closely examine the contents of 116 an IP packet. 118 Resource reSerVation Protocol (RSVP) ([RFC2205], [RFC3175], 119 [RFC3209]), Pragmatic General Multicast (PGM) ([RFC3208]), Internet 120 Group Management Protocol (IGMP) ([RFC3376]), Multicast Listener 121 Discovery (MLD) ([RFC2710], [RFC3810]), Multicast Router Discovery 122 (MRD) ([RFC4286]) and NSIS General Internet Signalling Transport 123 (GIST) ([RFC5971]) are some of the protocols that make use of the IP 124 Router Alert. 126 Section 3 describes the security concerns associated with the use of 127 the Router Alert Option. 129 Section 4 provides guidelines for the use of Router Alert. More 130 specifically, Section 4.1 recommends that Router Alert not be used 131 for end to end applications over the Internet, while Section 4.2 132 presents controlled environments where applications/protocols relying 133 on IP Router Alert can be deployed effectively and safely. 134 Section 4.3 provides recommendations on protection approaches to be 135 used by Service Providers in order to protect their network from 136 Router Alert based attacks. 138 Finally, Section 5 provides generic recommendations for router 139 implementation of Router Alert aiming at increasing protection 140 against attacks. 142 The present document discusses considerations and practices based on 143 the current specification of IP Router Alert ([RFC2113], [RFC2711]). 144 Possible future enhancements to the specification of IP Router Alert 145 (in view of reducing the security risks associated with the use of IP 146 Router Alert) are outside the scope of this document. One such 147 proposal is discussed in [I-D.narayanan-rtg-router-alert-extension] 148 but at the time of this writing, the IETF has not adopted any 149 extensions for this purpose. 151 The IPv6 base specification [RFC2460] defines the hop-by-hop option 152 extension header. The hop-by-hop option header is used to carry 153 optional information that must be examined by every node along a 154 packet's delivery path. The IPv6 Router Alert Option is one 155 particular hop by hop option. Similar security concerns to those 156 discussed in the present document for the IPv6 Router Alert apply 157 more generically to the concept of IPv6 hop-by-hop option extension 158 header. However, addressing the broader concept of IPv6 hop-by-hop 159 option thoroughly would require additional material so as to cover 160 additional considerations associated with it (such as the attacks 161 effectiveness depending on how many options are included and on the 162 range from to which the option-type value belongs, etc.), so this is 163 kept outside the scope of the present document. A detailed 164 discussion about security risks and proposed remedies associated with 165 IPv6 hop-by-hop option can be found in [I-D.krishnan-ipv6-hopbyhop]. 167 The IPv4 base specification [RFC0791] defines a general notion of 168 IPv4 options that can be included in the IPv4 header (without 169 distinguishing between hop-by-hop versus end-to-end option). The 170 IPv4 Router Alert Option is one particular IPv4 option. Similar 171 security concerns to those discussed in the present document for the 172 IPv4 Router Alert apply more generically to the concept of IPv4 173 option. However, addressing the security concerns of the broader 174 concept of IPv4 option thoroughly is kept outside the scope of the 175 present document because it would require additional material so as 176 to cover additional considerations associated with it (such as lack 177 of option ordering, etc.), and because other IPv4 options are often 178 blocked in firewalls and not very widely used, so the practical risks 179 they present are largely non-existent. 181 3. Security Concerns of Router Alert 183 The IP Router Alert Option is defined ([RFC2113], [RFC2711]) as a 184 mechanism that alerts transit routers to more closely examine the 185 contents of an IP packet. [RFC4081] and [RFC2711] mention the 186 security risks associated with the use of the IP Router Alert: 187 flooding a router with bogus (or simply undesired) IP datagrams which 188 contain the IP Router Alert could impact operation of the router in 189 undesirable ways. For example, if the router punts the datagrams 190 containing the IP Router Alert Option to the slow path, such an 191 attack could consume a significant share of the router's slow path 192 and could also lead to packet drops in the slow path (affecting 193 operation of all other applications and protocols operating in the 194 slow path) thereby resulting in a denial of service (DoS) 195 ([RFC4732]). 197 Furthermore, [RFC2113] specifies no (and [RFC2711] specifies very 198 limited) mechanism for identifying different users of IP Router 199 Alert. As a result, many fast switching implementations of IP Router 200 Alert punt most/all packets marked with IP Router Alert into the slow 201 path (unless configured to systematically ignore or drop all Router 202 Alert packets). However, some existing deployed IP routers can and 203 do process IP packets containing the Router Alert Option inside the 204 Fast Path. 206 Some IP Router Alert implementations are able to take into account 207 the next level protocol as a discriminator for the punting decision 208 for different protocols using IP Router Alert. However, this still 209 only allows very coarse triage among various protocols using IP 210 Router Alert for two reasons. First, the next level protocol is the 211 same when IP Router Alert is used for different applications of the 212 same protocol (e.g., RSVP vs. RSVP-TE), or when IP Router Alert is 213 used for different contexts of the same application (e.g., different 214 levels of RSVP aggregation [RFC3175]). Thus, it is not always 215 possible to achieve the necessary triage in the fast path across IP 216 Router Alert packets from different applications or from different 217 contexts of an application. Secondly, some protocols requiring 218 punting might be carried over a transport protocol (e.g., TCP or UDP) 219 possibly because they require the services of that transport 220 protocol, possibly because the protocol does not justify allocation 221 of a scarce next level protocol value or possibly because not relying 222 on a very widely deployed transport protocol is likely to result in 223 deployment issues due to common middlebox behaviors (e.g. Firewalls 224 or NATs discarding packets of "unknown" protocols). Thus, 225 considering the next level protocol alone in the fast path is not 226 sufficient to allow triage in the fast path of IP Router Alert 227 packets from different protocols sharing the same transport protocol. 228 Therefore, it is generally not possible to ensure that only the IP 229 Router Alert packets for next level protocols of interest are punted 230 to the slow path while other IP Router Alert packets are efficiently 231 forwarded (i.e., in fast path). 233 Some IP Router Alert implementations are able to take into account 234 the value field inside the router alert option. However, only one 235 value (zero) was defined in [RFC2113] and no IANA registry for IPv4 236 Router Alert values was available until recently ([RFC5350]). So 237 this did not allow most IPv4 Router Alert implementation to support 238 useful classification based on the value field in the fast path. 239 Also, while [RFC2113] states that unknown values should be ignored 240 (i.e. The packets should be forwarded as normal IP traffic), it has 241 been reported that some existing implementations simply ignore the 242 value field completely (i.e. Process any packet with an IPv4 Router 243 Alert regardless of its option value). An IANA registry for further 244 allocation of IPv4 Router Alert values has been introduced recently 245 ([RFC5350]) but this would only allow coarse-grain classification, if 246 supported by implementations. For IPv6, [RFC2711] states that "the 247 value field can be used by an implementation to speed processing of 248 the datagram within the transit router" and defines an IANA registry 249 for these values. But again, this only allows coarse-grain 250 classification. Besides, some existing IPv6 Router Alert 251 implementations are reported to depart from that behavior. 253 [RFC2711] mentions that limiting, by rate or some other means, the 254 use of IP Router Alert Option is a way of protecting against a 255 potential attack. However, if rate limiting is used as a protection 256 mechanism, but if the granularity of the rate limiting is not fine 257 enough to distinguish among IP Router Alert packet of interest from 258 unwanted IP Router Alert packet, a IP Router Alert attack could still 259 severely degrade operation of protocols of interest that depend on 260 the use of IP Router Alert. 262 In a nutshell, the IP router alert option does not provide a 263 convenient universal mechanism to accurately and reliably distinguish 264 between IP Router Alert packets of interest and unwanted IP Router 265 Alert packets. This, in turn, creates a security concern when IP 266 Router Alert Option is used, because, short of appropriate router 267 implementation specific mechanisms, the router slow path is at risk 268 of being flooded by unwanted traffic. 270 Note that service providers commonly allow external parties to 271 communicate with a control plane application in their routers, such 272 as with BGP peering. Depending on the actual environment and BGP 273 security practices, the resulting DoS attack vector is similar, or 274 somewhat less serious, with BGP peering than with Router Alert Option 275 for a number of reasons that include: 277 o With BGP, edge routers only exchange control plane information 278 with pre-identified peers and can easily filter out any control 279 plane traffic coming from other peers or non-authenticated peers, 280 while the Router-Alert option can be received in a datagram with 281 any source address and any destination source. However, we note 282 that effectiveness of such BGP filtering is dependent on proper 283 security practices; poor BGP security practices (such as 284 infrequent or inexistent update of BGP peers authentication keys) 285 create vulnerabilities through which the BGP authentication 286 mechanisms can be compromised. 288 o with BGP Peering, the control plane hole is only open on the edge 289 routers, and core routers are completely isolated from any direct 290 control plane exchange with entities outside the administrative 291 domain. Thus, with BGP, a DoS attack would only affect the edge 292 routers, while with Router Alert Option, the attack could 293 propagate to core routers. However, in some BGP environments, the 294 distinction between edge and core routers is not strict, and many/ 295 most/all routers act as both edge and core routers; in such BGP 296 environments, a large part of the network is exposed to direct 297 control plane exchanges with entities outside the administrative 298 domain (as it would be with Router Alert). 300 o with BGP, the BGP policy control would typically prevent re- 301 injection of undesirable information out of the attacked device, 302 while with the Router-Alert option, the non-filtered attacking 303 messages would typically be forwarded downstream. However, we 304 note that there has been real life occurrences of situations where 305 incorrect information was propagated through the BGP system, 306 causing quite widespread problems. 308 4. Guidelines for use of Router Alert 310 4.1. Use of Router Alert End-to-End In the Internet (Router Alert in 311 Peer Model) 313 Because of the security concerns associated with Router Alert 314 discussed in Section 3, network operators SHOULD actively protect 315 themselves against externally generated IP Router Alert packets. 316 Because there is no convenient universal mechanisms to triage between 317 desired and undesired router alert packets, network operators 318 currently often protect themselves in ways that isolate them from 319 externally generated IP Router Alert packets. This might be achieved 320 by tunneling IP Router Alert packets [RFC6178] so that the IP Router 321 Alert Option is hidden through that network, or it might be achieved 322 via mechanisms resulting in occasional (e.g., rate limiting) or 323 systematic drop of IP Router Alert packets. 325 Thus, applications and protocols SHOULD NOT be deployed with a 326 dependency on processing of the Router Alert Option (as currently 327 specified) across independent administrative domains in the Internet. 328 Figure 1 illustrates such a hypothetical use of Router Alert end-to- 329 end in the Internet. We refer to such a model of Router Alert Option 330 use as a "Peer Model" Router Alert Option use, since core routers in 331 different administrative domains would partake in processing of 332 Router Alert Option datagrams associated with the same signalling 333 flow. 335 -------- -------- -------- -------- 336 / A \ / B \ / C \ / D \ 337 | (*) | | (*) | | (*) | | (*) | 338 | | |<============>| |<=============>| |<=============>| | | 339 | - | | - | | - | | - | 340 \ / \ / \ / \ / 341 -------- -------- -------- -------- 343 (*) closer examination of Router Alert Option datagrams 345 <==> flow of Router Alert Option datagrams 347 Figure 1: Use of Router Alert End-to-End in the Open Internet (Router 348 Alert in Peer Model) 350 While this recommendation is framed here specifically in the context 351 of router alert, the fundamental security risk that network operators 352 want to preclude is to allow devices/protocols that are outside of 353 their administrative domain (and therefore not controlled) to tap 354 into the control plane of their core routers. Whether this control 355 plane access is provided through router alert option or would be 356 provided by any other mechanism (e.g. Deep packet inspection) 357 probably results in similar security concerns. In other words, the 358 fundamental security concern is associated with the notion of end to 359 end signaling in a Peer Model across domains in the Internet. As a 360 result, it is expected that network operators would typically not 361 want to have their core routers partake in end-to-end signalling with 362 external uncontrolled devices through the open Internet, and 363 therefore prevent deployment of end to end signalling in a Peer model 364 through their network (regardless of whether that signalling uses 365 Router Alert or not). 367 4.2. Use of Router Alert In Controlled Environments 369 4.2.1. Use of Router Alert Within an Administrative Domain 371 In some controlled environments, such as within a given 372 Administrative Domain, the network administrator can determine that 373 IP Router Alert packets will only be received from trusted well- 374 behaved devices or can establish that specific protection mechanisms 375 (e.g., RAO filtering and rate-limiting) against the plausible RAO- 376 based DoS attacks are sufficient. In that case, an application 377 relying on exchange and handling of RAO packets (e.g., RSVP) can be 378 safely deployed within the controlled network. A private enterprise 379 network firewalled from the Internet and using RSVP reservations for 380 voice and video flows might be an example of such controlled 381 environment. Such an environment is illustrated in Figure 2. 383 ------------------------- -------- -------- 384 / A \ / B \ / C \ 385 | (*) (*) | -- | | | | 386 | | |<============>| | |--|FW|--| |--------| | 387 | - - | -- | | | | 388 \ / \ / \ / 389 ------------------------- -------- -------- 391 (*) closer examination of Router Alert Option datagrams 393 <==> flow of Router Alert Option datagrams 395 FW Firewall 397 Figure 2: Use of Router Alert Within an Administrative Domain 399 In some controlled environments, several Administrative Domains have 400 a special relationship whereby they cooperate very tightly and 401 effectively operate as a single trust domain. In that case, one 402 domain is willing to trust another with respect to the traffic 403 injected across the boundary. In other words, a downstream domain is 404 willing to trust that the traffic injected at the boundary has been 405 properly validated/filtered by the upstream domain. Where it has 406 been established that such trust can be applied to router alert 407 option packets, an application relying on exchange and handling of 408 RAO packets (e.g., RSVP) can be safely deployed within such a 409 controlled environment. The entity within a company responsible for 410 operating multimedia endpoints and the entity within the same company 411 responsible for operating the network might be an example of such 412 controlled environment. For example, they might collaborate so that 413 RSVP reservations can be used for video flows from endpoints to 414 endpoints through the network. 416 In some environments, the network administrator can reliably ensure 417 that router alert packets from any untrusted device (e.g., from 418 external routers) are prevented from entering a trusted area (e.g., 419 the internal routers). For example, this might be achieved by 420 ensuring that routers straddling the trust boundary (e.g., edge 421 routers) always encapsulate those packets (without setting IP Router 422 Alert -or equivalent- in the encapsulating header) through the 423 trusted area (as discussed in [RFC6178]). In such environments, the 424 risks of DoS attacks through the IP Router Alert vector is removed in 425 the trusted area (or greatly reduced) even if IP Router Alert is used 426 inside the trusted area (say for RSVP-TE). Thus an application 427 relying on IP Router Alert can be safely deployed within the trusted 428 area. A Service Provider running RSVP-TE within his network might be 429 an example of such protected environment. Such an environment is 430 illustrated in Figure 3. 432 -------- -------------------------- -------- 433 / A \ / B \ / C \ 434 | | | (*) (*) | | | 435 | |-------TT | |<=============>| | TT------- | | 436 | | | - - | | | 437 \ / \ / \ / 438 -------- -------------------------- -------- 440 (*) closer examination of Router Alert Option datagrams 442 <==> flow of Router Alert Option datagrams 444 TT Tunneling of Router Alert Option datagrams 446 Figure 3: Use of Router Alert Within an Administrative Domain 448 4.2.2. Use of Router Alert In Overlay Model 450 In some controlled environment: 452 o the sites of a network A are interconnected through a service 453 provider network B 455 o the service provider network B protects itself from IP Router 456 Alert messages without dropping those when they transit over the 457 transit network (for example using mechanisms discussed in 458 [RFC6178]) 460 In such controlled environment, an application relying on exchange 461 and handling of RAO packets (e.g., RSVP) in the network A sites (but 462 not inside network B) MAY be safely deployed. We refer to such a 463 deployment as a use of Router Alert in a Water-Tight Overlay. 464 "Overlay" because Router Alert Option datagrams are used in network A 465 on top of, and completely transparently to, network B. "Water-Tight" 466 because router alert option datagrams from A cannot leak inside 467 network B. A private enterprise intranet realised as a Virtual 468 Private Network (VPN) over a Service Provider network, and using RSVP 469 to perform reservations within the enterprise sites for voice and 470 video flows might be an example of such controlled environment. Such 471 an environment is illustrated in Figure 4. 473 -------- -------- 474 / A \ / A \ 475 | (*) | | (*) | 476 | | |<=====================================>| | | 477 | - | | - | 478 \ / \ / 479 -------- -------- 480 \ / 481 \ ------------------------- / 482 \ / B \ / 483 \| |/ 484 TT TT 485 | | 486 \ / 487 ------------------------- 489 (*) closer examination of Router Alert Option datagrams 491 <==> flow of Router Alert Option datagrams 493 TT Tunneling of Router Alert Option datagrams 495 Figure 4: Use of Router Alert In Water-tight Overlay 497 In the controlled environment described above, an application relying 498 on exchange and handling of RAO packets (e.g. RSVP-TE) in the 499 service provider network B (but not in network A) can also be safely 500 deployed simultaneously. Such an environment with independent, 501 isolated, deployment of router alert in overlay at two levels is 502 illustrated in Figure 5. 504 -------- -------- 505 / A \ / A \ 506 | (*) | | (*) | 507 | | |<=====================================>| | | 508 | - | | - | 509 \ / \ / 510 -------- -------- 511 \ / 512 \ ------------------------- / 513 \ / B \ / 514 \| (*) (*) |/ 515 TT | |<============>| | TT 516 | - - | 517 \ / 518 ------------------------- 520 (*) closer examination of Router Alert Option datagrams 522 <==> flow of Router Alert Option datagrams 524 TT Tunneling of Router Alert Option datagrams 526 Figure 5: Use of Router Alert In Water-tight Overlay at Two Levels 528 In some controlled environment: 530 o the sites of a network A are interconnected through a service 531 provider network B 533 o the service provider B processes router alert packets on the edge 534 routers and protect these edge routers against RAO based attacks 535 using mechanisms such as (possibly per port) RAO rate limiting and 536 filtering 538 o the service provider network B protects its core routers from 539 Router Alert messages without dropping those when they transit 540 over the transit network (for example using mechanisms discussed 541 in [RFC6178]) 543 In such controlled environment, an application relying on exchange 544 and handling of RAO packets (e.g., RSVP) in the network A sites and 545 in network B Edges (but not in the core of network B) can be safely 546 deployed. We refer to such a deployment as a use of Router Alert in 547 a Leak-Controlled Overlay. "Overlay" because Router Alert Option 548 datagrams are used in network A on top of, and completely 549 transparently to, network B core. "Leak-Controlled" because router 550 alert option datagrams from A leak inside network B's B edges but not 551 inside network B's core. A private enterprise intranet, whose sites 552 are interconnected through a Service Prover network, using RSVP for 553 voice and video within network A sites as well as on Network B's edge 554 to extend the reservation onto the attachment links between A and B 555 (as specified in [RFC6016]) might be an example of such controlled 556 environment. Such an environment is illustrated in Figure 4. 558 -------- -------- 559 / A \ / A \ 560 | | | | 561 | | ------------------------ | | 562 | (*) | /(*) (*) \ | (*) | 563 | | |<======>| |<============>| |<=========>| | | 564 | - | | - - | | - | 565 \ / | \ - - / | \ / 566 -------- | TT-| | | |-TT | -------- 567 | - - | 568 \ / 569 ------------------------ 571 (*) closer examination of Router Alert Option datagrams 573 <==> flow of Router Alert Option datagrams 575 TT Tunneling of Router Alert Option datagrams 577 Figure 6: Use of Router Alert In Leak-Controlled Overlay 579 4.3. Router Alert Protection Approaches for Service Providers 581 Section 3 discusses the security risks associated with the use of the 582 IP Router Alert and how it opens up a DoS vector in the router 583 control plane. Thus, a Service Provider MUST implement strong 584 protection of his network against attacks based on IP Router Alert. 586 As discussed in Section 4.2.2 some applications can benefit from the 587 use of IP Router Alert packets in an Overlay model (i.e. Where 588 Router Alert packets are exchanged transparently on top of a Service 589 Provider). Thus, a Service Provider MUST protect his network from 590 attacks based on IP Router Alert. In doing so, the Service Provider 591 SHOULD use mechanisms that avoid (or at least minimize) dropping of 592 end to end IP Router Alert packets (other than those involved in an 593 attack). 595 For example, if the Service Provider does not run any protocol 596 depending on IP Router Alert within his network, he might elect to 597 simply turn-off punting/processing of IP Router Alert packet on his 598 routers; this will ensure that end-to-end IP Router Alert packet 599 transit transparently and safely through his network. 601 As another example, using protection mechanisms such selective 602 filtering and rate-limiting (that Section 5 suggests be supported by 603 IP Router Alert implementations) a Service Provider can protect the 604 operation of a protocol depending on IP Router Alert within his 605 network (e.g., RSVP-TE) while at the same time transporting IP Router 606 Alert packets carrying another protocol that might be used end to 607 end. Note that the Service Provider might additionally use protocol 608 specific mechanisms that reduce the dependency on Router Alert for 609 operation of this protocol inside the Service Provider environment; 610 use of RSVP refresh reduction mechanisms ([RFC2961]) would be an 611 example of such mechanisms in the case where the Service Provider is 612 running RSVP-TE within his network since this allows refresh of 613 existing Path and Resv states without use of the IP Router Alert 614 Option. 616 As yet another example, using mechanisms such as those discussed in 617 [RFC6178] a Service Provider can safely protect the operation of a 618 protocol depending on IP Router Alert within his network (e.g., 619 RSVP-TE) while at the same time safely transporting IP Router Alert 620 packets carrying another protocol that might be used end to end 621 (e.g., IPv4/IPv6 RSVP). We observe that while tunneling of Router 622 Alert Option datagrams over an MPLS backbone as discussed in 623 [RFC6178] is well understood, tunneling Router Alert Option datagrams 624 over an non-MPLS IP backbone presents a number of issues (and in 625 particular for determining where to forward the encapsulated 626 datagram) and is not common practice at the time of writing this 627 document. 629 As a last resort, if the SP does not have any means to safely 630 transport end to end IP Router Alert Option packets over his network, 631 the SP can drop those packets. It must be noted that this has the 632 undesirable consequence of preventing the use of the Router Alert 633 Option in the Overlay Model on top of this network, and therefore 634 prevents users of that network from deploying a number of valid 635 applications/protocols in their environment. 637 5. Guidelines for Router Alert Implementation 639 A router implementation of IP Router Alert Option SHOULD include 640 protection mechanisms against Router Alert based DoS attacks 641 appropriate for their targeted deployment environments. For example, 642 this can include ability on an edge router to "tunnel" IP Router 643 Alert Option of received packets when forwarding those over the core 644 as discussed in [RFC6178]. As another example, although not always 645 available from current implementations, new implementations MAY 646 include protection mechanisms such as selective (possibly dynamic) 647 filtering and rate-limiting of IP Router Alert Option packets. 649 In particular, router implementations of IP Router Alert Option 650 SHOULD offer the configuration option simply to ignore the presence 651 of "IP Router Alert" in IPv4 and IPv6 packets. As discussed in 652 Section 4.3, that permits IP Router Alert packets to transit a 653 network segment without presenting an adverse operational security 654 risk to that particular network segment, provided the operator of 655 that network segment does not ever use the IP Router Alert messages 656 for any purpose. 658 If an IP packet contains the IP Router Alert Option, but the next 659 level protocol is not explicitly identified as a protocol of interest 660 by the router examining the packet, the behavior is not explicitly 661 defined by [RFC2113]. However, the behavior is implied and, for 662 example, the definition of RSVP in [RFC2205] assumes that the packet 663 will be forwarded using normal forwarding based on the destination IP 664 address. Thus, a router implementation SHOULD forward within the 665 "fast path" (subject to all normal policies and forwarding rules) a 666 packet carrying the IP Router Alert Option containing a next level 667 protocol that is not a protocol of interest to that router. The "not 668 punting" behavior protects the router from DoS attacks using IP 669 Router Alert packets of a protocol unknown to the router. The 670 "forwarding" behavior contributes to transparent end to end transport 671 of IP Router Alert packets (e.g., to facilitate their use by end to 672 end application). 674 Similarly, an implementation MAY support selective forwarding within 675 "the fast path" (subject to all normal policies and forwarding rules) 676 or punting of a packet with the IP Router Alert Option, based on the 677 Value field of the Router Alert Option. This would allow router 678 protection against DoS attacks using IP Router Alert packets with 679 value that is not relevant for that router (e.g. Nesting levels of 680 Aggregated RSVP Reservation [RFC5350]). 682 6. Security Considerations 684 This document discusses security risks associated with current usage 685 of the IP Router Alert Option and associated practices. This 686 document expands the security considerations of [RFC2113] and 687 [RFC2711], which defined the RAO, to discuss security risks 688 associated with current usage of the IP Router Alert Option and 689 associated practices. See [RFC4081] for additional security 690 considerations. 692 7. IANA Considerations 694 None. 696 8. Contributors 698 The contributors to this document (in addition to the editors) are: 700 o Reshad Rahman: 702 * Cisco Systems 704 * rrahman@cisco.com 706 o David Ward: 708 * Juniper Networks 710 * dward@juniper.net 712 o Ashok Narayanan: 714 * Cisco Systems 716 * ashokn@cisco.com 718 o Adrian Farrel: 720 * OldDog Consulting 722 * adrian@olddog.co.uk 724 o Tony Li: 726 * tony.li@tony.li 728 9. Acknowledgments 730 We would like to thank Dave Oran, Magnus Westerlund, John Scudder, 731 Ron Bonica, Ross Callon, Alfred Hines, Carlos Pignataro, Roland 732 Bless, Jari Arkko and Ran Atkinson for their comments. This document 733 also benefited from discussions with Jukka Manner and Suresh 734 Krishnan. The discussion about use of the value field in the IPv4 735 Router Alert borrowed from a similar discussion in [RFC5971]. 737 10. References 739 10.1. Normative References 741 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, 742 September 1981. 744 [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, 745 February 1997. 747 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 748 (IPv6) Specification", RFC 2460, December 1998. 750 [RFC2711] Partridge, C. and A. Jackson, "IPv6 Router Alert Option", 751 RFC 2711, October 1999. 753 [RFC5350] Manner, J. and A. McDonald, "IANA Considerations for the 754 IPv4 and IPv6 Router Alert Options", RFC 5350, 755 September 2008. 757 10.2. Informative References 759 [I-D.krishnan-ipv6-hopbyhop] 760 Krishnan, S., "The case against Hop-by-Hop options", 761 draft-krishnan-ipv6-hopbyhop-05 (work in progress), 762 October 2010. 764 [I-D.narayanan-rtg-router-alert-extension] 765 Narayanan, A., Faucheur, F., Ward, D., and R. Rahman, "IP 766 Router Alert Option Extension", 767 draft-narayanan-rtg-router-alert-extension-00 (work in 768 progress), March 2009. 770 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 771 Requirement Levels", BCP 14, RFC 2119, March 1997. 773 [RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. 774 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 775 Functional Specification", RFC 2205, September 1997. 777 [RFC2710] Deering, S., Fenner, W., and B. Haberman, "Multicast 778 Listener Discovery (MLD) for IPv6", RFC 2710, 779 October 1999. 781 [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F., 782 and S. Molendini, "RSVP Refresh Overhead Reduction 783 Extensions", RFC 2961, April 2001. 785 [RFC3175] Baker, F., Iturralde, C., Le Faucheur, F., and B. Davie, 786 "Aggregation of RSVP for IPv4 and IPv6 Reservations", 787 RFC 3175, September 2001. 789 [RFC3208] Speakman, T., Crowcroft, J., Gemmell, J., Farinacci, D., 790 Lin, S., Leshchiner, D., Luby, M., Montgomery, T., Rizzo, 791 L., Tweedly, A., Bhaskar, N., Edmonstone, R., 792 Sumanasekera, R., and L. Vicisano, "PGM Reliable Transport 793 Protocol Specification", RFC 3208, December 2001. 795 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 796 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 797 Tunnels", RFC 3209, December 2001. 799 [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. 800 Thyagarajan, "Internet Group Management Protocol, Version 801 3", RFC 3376, October 2002. 803 [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery 804 Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. 806 [RFC4081] Tschofenig, H. and D. Kroeselberg, "Security Threats for 807 Next Steps in Signaling (NSIS)", RFC 4081, June 2005. 809 [RFC4286] Haberman, B. and J. Martin, "Multicast Router Discovery", 810 RFC 4286, December 2005. 812 [RFC4732] Handley, M., Rescorla, E., and IAB, "Internet Denial-of- 813 Service Considerations", RFC 4732, December 2006. 815 [RFC5971] Schulzrinne, H. and R. Hancock, "GIST: General Internet 816 Signalling Transport", RFC 5971, October 2010. 818 [RFC6016] Davie, B., Le Faucheur, F., and A. Narayanan, "Support for 819 the Resource Reservation Protocol (RSVP) in Layer 3 VPNs", 820 RFC 6016, October 2010. 822 [RFC6178] Smith, D., Mullooly, J., Jaeger, W., and T. Scholl, "Label 823 Edge Router Forwarding of IPv4 Option Packets", RFC 6178, 824 March 2011. 826 Author's Address 828 Francois Le Faucheur (editor) 829 Cisco Systems 830 Greenside, 400 Avenue de Roumanille 831 Sophia Antipolis 06410 832 France 834 Phone: +33 4 97 23 26 19 835 Email: flefauch@cisco.com