idnits 2.17.1 draft-ietf-opsec-lla-only-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 (May 14, 2014) is 3634 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-07) exists of draft-ietf-opsec-bgp-security-03 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 OPsec Working Group M. Behringer 3 Internet-Draft E. Vyncke 4 Intended status: Informational Cisco 5 Expires: November 15, 2014 May 14, 2014 7 Using Only Link-Local Addressing Inside an IPv6 Network 8 draft-ietf-opsec-lla-only-08 10 Abstract 12 In an IPv6 network it is possible to use only link-local addresses on 13 infrastructure links between routers. This document discusses the 14 advantages and disadvantages of this approach to help the decision 15 process for a given network. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on November 15, 2014. 34 Copyright Notice 36 Copyright (c) 2014 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Using Link-Local Addressing on Infrastructure Links . . . . . 2 53 2.1. The Approach . . . . . . . . . . . . . . . . . . . . . . 3 54 2.2. Advantages . . . . . . . . . . . . . . . . . . . . . . . 4 55 2.3. Caveats . . . . . . . . . . . . . . . . . . . . . . . . . 5 56 2.4. Internet Exchange Points . . . . . . . . . . . . . . . . 6 57 2.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 7 58 3. Security Considerations . . . . . . . . . . . . . . . . . . . 7 59 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 60 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 61 6. Informative References . . . . . . . . . . . . . . . . . . . 8 62 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 64 1. Introduction 66 An infrastructure link between a set of routers typically does not 67 require global or unique local addresses [RFC4193]. Using only link- 68 local addressing on such links has a number of advantages. For 69 example, that routing tables do not need to carry link addressing, 70 and can therefore be significantly smaller. This helps to decrease 71 failover times in certain routing convergence events. An interface 72 of a router is also not reachable beyond the link boundaries, 73 therefore reducing the attack horizon. 75 This document discusses the advantages and caveats of this approach. 77 Note that some traditionally used techniques to operate a network 78 such as pinging interfaces, or seeing interface information in a 79 traceroute do not work with this approach. Details are discussed 80 below. 82 2. Using Link-Local Addressing on Infrastructure Links 84 This document discusses the approach of using only link-local 85 addresses (LLA) on all router interfaces on infrastructure links. 86 Routers don't typically need to receive packets from hosts or nodes 87 outside the network. For a network operator, there may be reasons to 88 use greater than link-local scope addresses on infrastructure 89 interfaces for certain operational tasks, such as pings to an 90 interface or traceroutes across the network. This document discusses 91 such cases and proposes alternative procedures. 93 2.1. The Approach 95 In this approach neither globally routed IPv6 addresses nor unique 96 local addresses are configured on infrastructure links. In the 97 absence of specific global or unique local address definitions, the 98 default behavior of routers is to use link-local addresses notably 99 for routing protocols. 101 The sending of ICMPv6 [RFC4443] error messages (packet-too-big, time- 102 exceeded...) is required for routers. Therefore, another interface 103 must be configured with an IPv6 address with a greater scope than 104 link-local. This address will usually be a loopback interface with a 105 global scope address belonging to the operator and part of an 106 announced prefix (with a suitable prefix length) to avoid being 107 dropped by other routers implementing [RFC3704]. This is 108 implementation dependent. For the remainder of this document we will 109 refer to this interface as a "loopback interface". 111 [RFC6724] recommends that greater than link-local scope IPv6 112 addresses are used as the source IPv6 address for all generated 113 ICMPv6 messages sent to a non-link-local address, with the exception 114 of ICMPv6 redirect messages, as defined in [RFC4861] section 4.5. 116 The effect on specific traffic types is as follows: 118 o Most control plane protocols, such as BGP [RFC4271], ISIS [IS-IS], 119 OSPFv3 [RFC5340], RIPng [RFC2080], PIM [RFC4609] work by default 120 or can be configured to work with link-local addresses. 121 Exceptions are explained in the caveats section (Section 2.3). 123 o Management plane traffic, such as SSH [RFC4251], Telnet [RFC0495], 124 SNMP [RFC1157], and ICMPv6 echo request [RFC4443], can use the 125 address of the router loopback interface as the destination 126 address. Router management can also be done over out-of-band 127 channels. 129 o ICMP error messages are usually sourced from a loopback interface 130 with a greater than link-local address scope. [RFC4861] section 131 4.5 explains one exception: ICMP redirect messages can also be 132 sourced from a link-local address. 134 o Data plane traffic is forwarded independently of the link address 135 type. 137 o Neighbor discovery (neighbor solicitation and neighbor 138 advertisement) is done by using link-local unicast and multicast 139 addresses. Therefore neighbor discovery is not affected. 141 We therefore conclude that it is possible to construct a working 142 network in this way. 144 2.2. Advantages 146 The following list of advantages is in no particular order. 148 Smaller routing tables: Since the routing protocol only needs to 149 carry one global address (the loopback interface) per router, it is 150 smaller than the traditional approach where every infrastructure link 151 address is carried in the routing protocol. This reduces memory 152 consumption, and increases the convergence speed in some routing 153 failover cases. Because the Forwarding Information Base to be 154 downloaded to line cards is smaller and there are fewer prefixes in 155 the Routing Information Base, the routing algorithm is accelerated. 156 Note: smaller routing tables can also be achieved by putting 157 interfaces in passive mode for the Interior Gateway Protocol (IGP). 159 Simpler address management: Only loopback interface addresses need to 160 be considered in an addressing plan. This also allows for easier 161 renumbering. 163 Lower configuration complexity: link-local addresses require no 164 specific configuration, thereby lowering the complexity and size of 165 router configurations. This also reduces the likelihood of 166 configuration mistakes. 168 Simpler DNS: Less routable address space in use also means less 169 reverse and forward mapping DNS resource records to maintain. Of 170 course, if the operator selects not to enter any global interface 171 addresses in the DNS anyway, then this is less of an advantage. 173 Reduced attack surface: Every routable address on a router 174 constitutes a potential attack point: a remote attacker can send 175 traffic to that address. Examples are a TCP SYN flood (see 176 [RFC4987]) and SSH brute force password attacks. If a network only 177 uses the addresses of the router loopback interface(s), only those 178 addresses need to be protected from outside the network. This may 179 ease protection measures, such as infrastructure access control lists 180 (iACL). 182 Without using link-local addresses, it is still possible to achieve 183 the simple iACL if the network addressing scheme is set up such that 184 all link and loopback interfaces have greater than link-local 185 addresses and are aggregatable, and if the infrastructure access list 186 covers that entire aggregated space. See also [RFC6752] for further 187 discussion on this topic. 189 [RFC6860] describes another approach to hide addressing on 190 infrastructure links for OSPFv2 and OSPFv3, by modifying the existing 191 protocols. This document does not modify any protocol, however it 192 works only for IPv6. 194 2.3. Caveats 196 The caveats listed in this section are in no particular order. 198 Interface ping: if an interface doesn't have a routable address, it 199 can only be pinged from a node on the same link. Therefore, it is 200 not possible to ping a specific link interface remotely. A possible 201 workaround is to ping the loopback address of a router instead. In 202 most cases today, it is not possible to see which link the packet was 203 received on; however, [RFC5837] suggests including the interface 204 identifier of the interface a packet was received on in the ICMPv6 205 response; it must be noted that there are few implementations of this 206 ICMPv6 extension. With this approach it would be possible to ping a 207 router on the addresses of loopback interfaces, yet see which 208 interface the packet was received on. To check liveliness of a 209 specific interface, it may be necessary to use other methods, such as 210 connecting to the router via SSH and checking locally or using SNMP. 212 Traceroute: similar to the ping case, a reply to a traceroute packet 213 would come from the address of a loopback interface, and current 214 implementations do not display the specific interface the packets 215 came in on. Also here, [RFC5837] provides a solution. As in the 216 ping case above, it is not possible to traceroute to a particular 217 interface if it only has a link-local address. 219 Hardware dependency: LLAs are usually EUI-64 based, hence, they 220 change when the MAC address is changed. This could pose problem in a 221 case where the routing neighbor must be configured explicitly (e.g. 222 BGP) and a line card needs to be physically replaced hence changing 223 the EUI-64 LLA and breaking the routing neighborship. LLAs can be 224 statically configured such as fe80::1 and fe80::2 which can be used 225 to configure any required static routing neighborship. However, this 226 static LLA configuration may be more complex to operate than 227 statically configured greater than link-local scope addresses, 228 because LLAs are inherently ambiguous for a multi-link node such as a 229 router; to deal with the ambiguity, the link zone index must also be 230 considered explicitly, e.g., using the extended textual notation 231 described in [RFC4007] as in this example: 'BGP neighbor fe80::1%eth0 232 is down'. 234 Network Management System (NMS) toolkits: if there is any NMS tool 235 that makes use of interface IP address of a router to carry out any 236 of its NMS functions, then it would no longer work if the interface 237 does not have a routable address. A possible workaround for such 238 tools is to use the routable address of the router loopback interface 239 instead. Most vendor implementations allow the specification of 240 loopback interface addresses for SYSLOG, IPfix, and SNMP. The 241 protocol LLDP (IEEE 802.1AB-2009) runs directly over Ethernet and 242 does not require any IPv6 address, so dynamic network discovery is 243 not hindered when using LLDP. But, network discovery based on NDP 244 cache content will only display the link-local addresses and not the 245 addresses of the loopback interfaces; therefore, network discovery 246 should rather be based on the Route Information Base to detect 247 adjacent nodes. 249 MPLS and RSVP-TE [RFC3209] allow establishing a MPLS LSP on a path 250 that is explicitly identified by a strict sequence of IP prefixes or 251 addresses (each pertaining to an interface or a router on the path). 252 This is commonly used for Fast Re-Route (FRR). However, if an 253 interface uses only a link-local address, then such LSPs cannot be 254 established. At the time of writing this document, there is no 255 workaround for this case; therefore, where RSVP-TE is being used, the 256 approach described in this document does not work. 258 2.4. Internet Exchange Points 260 Internet Exchange Points (IXPs) have a special importance in the 261 global Internet, because they connect a high number of networks in a 262 single location, and because a significant part of Internet traffic 263 passes through at least one IXP. An IXP requires therefore a very 264 high level of security. The address space used on an IXP is 265 generally known, as it is registered in the global Internet Route 266 Registry, or it is easily discoverable through traceroute. The IXP 267 prefix is especially critical, because practically all addresses on 268 this prefix are critical systems in the Internet. 270 Apart from general device security guidelines, there are generally 271 two additional ways to raise security (see also 272 [I-D.ietf-opsec-bgp-security]): 274 1. Not to announce the prefix in question, and 276 2. To drop all traffic from remote locations destined to the IXP 277 prefixes. 279 Not announcing the prefix of the IXP would frequently result in 280 traceroute and similar packets (required for PMTUd) to be dropped due 281 to uRPF checks. Given that PMTUd is critical, this is generally not 282 acceptable. Dropping all external traffic to the IXP prefix is hard 283 to implement, because if only one service provider connected to an 284 IXP does not filter correctly, then all IXP routers are reachable 285 from at least that service provider network. 287 As the prefix used in the IXP is usually longer than a /48, it is 288 frequently dropped by route filters on the Internet having the same 289 net effect as not announcing the prefix. 291 Using link-local addresses on the IXP may help in this scenario. In 292 this case, the generated ICMPv6 packets would be generated from 293 loopback interfaces or from any other interface with a globally 294 routable address without any configuration. However in this case, 295 each service provider would use his own address space, making a 296 generic attack against all devices on the IXP harder. All of an 297 IXP's loopback interface addresses can be discovered by a potential 298 attacker with a simple traceroute; a generic attack is therefore 299 still possible, but it would require more work. 301 In some cases service providers carry the IXP addresses in their IGP 302 for certain forms of traffic engineering across multiple exit points. 303 Link-local addresses cannot be used for this purpose; in this case, 304 the service provider would have to employ other methods of traffic 305 engineering. 307 If an Internet Exchange Point is using a global prefix registered for 308 this purpose, a traceroute will indicate whether the trace crosses an 309 IXP rather than a private interconnect. If link local addressing is 310 used instead, a traceroute will not provide this distinction. 312 2.5. Summary 314 Using exclusively link-local addressing on infrastructure links has a 315 number of advantages and disadvantages, which are both described in 316 detail in this document. A network operator can use this document to 317 evaluate whether using link-local addressing on infrastructure links 318 is a good idea in the context of his/her network or not. This 319 document makes no particular recommendation either in favour or 320 against. 322 3. Security Considerations 324 Using LLAs only on infrastructure links reduces the attack surface of 325 a router: loopback interfaces with routed addresses are still 326 reachable and must be secured, but infrastructure links can only be 327 attacked from the local link. This simplifies security of control 328 and management planes. The approach does not impact the security of 329 the data plane. The link-local-only approach does not address 330 control plane [RFC6192] attacks generated by data plane packets (such 331 as hop-limit expiration or packets containing a hop-by-hop extension 332 header). 334 4. IANA Considerations 336 There are no IANA considerations or implications that arise from this 337 document. 339 5. Acknowledgements 341 The authors would like to thank Salman Asadullah, Brian Carpenter, 342 Bill Cerveny, Benoit Claise, Rama Darbha, Simon Eng, Wes George, 343 Fernando Gont, Jen Linkova, Harald Michl, Janos Mohacsi, Ivan 344 Pepelnjak, Alvaro Retana, Jinmei Tatuya and Peter Yee for their 345 useful comments about this work. 347 6. Informative References 349 [I-D.ietf-opsec-bgp-security] 350 Durand, J., Pepelnjak, I., and G. Doering, "BGP operations 351 and security", draft-ietf-opsec-bgp-security-03 (work in 352 progress), April 2014. 354 [IS-IS] ISO/IEC 10589, , "Intermediate System to Intermediate 355 System Intra-Domain Routing Exchange Protocol for use in 356 Conjunction with the Protocol for Providing the 357 Connectionless-mode Network Service (ISO 8473)", June 358 1992. 360 [RFC0495] McKenzie, A., "Telnet Protocol specifications", RFC 495, 361 May 1973. 363 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, 364 "Simple Network Management Protocol (SNMP)", STD 15, RFC 365 1157, May 1990. 367 [RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, 368 January 1997. 370 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 371 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 372 Tunnels", RFC 3209, December 2001. 374 [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed 375 Networks", BCP 84, RFC 3704, March 2004. 377 [RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and 378 B. Zill, "IPv6 Scoped Address Architecture", RFC 4007, 379 March 2005. 381 [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast 382 Addresses", RFC 4193, October 2005. 384 [RFC4251] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) 385 Protocol Architecture", RFC 4251, January 2006. 387 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 388 Protocol 4 (BGP-4)", RFC 4271, January 2006. 390 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control 391 Message Protocol (ICMPv6) for the Internet Protocol 392 Version 6 (IPv6) Specification", RFC 4443, March 2006. 394 [RFC4609] Savola, P., Lehtonen, R., and D. Meyer, "Protocol 395 Independent Multicast - Sparse Mode (PIM-SM) Multicast 396 Routing Security Issues and Enhancements", RFC 4609, 397 October 2006. 399 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 400 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 401 September 2007. 403 [RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common 404 Mitigations", RFC 4987, August 2007. 406 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 407 for IPv6", RFC 5340, July 2008. 409 [RFC5837] Atlas, A., Bonica, R., Pignataro, C., Shen, N., and JR. 410 Rivers, "Extending ICMP for Interface and Next-Hop 411 Identification", RFC 5837, April 2010. 413 [RFC6192] Dugal, D., Pignataro, C., and R. Dunn, "Protecting the 414 Router Control Plane", RFC 6192, March 2011. 416 [RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown, 417 "Default Address Selection for Internet Protocol Version 6 418 (IPv6)", RFC 6724, September 2012. 420 [RFC6752] Kirkham, A., "Issues with Private IP Addressing in the 421 Internet", RFC 6752, September 2012. 423 [RFC6860] Yang, Y., Retana, A., and A. Roy, "Hiding Transit-Only 424 Networks in OSPF", RFC 6860, January 2013. 426 Authors' Addresses 428 Michael Behringer 429 Cisco 430 Building D, 45 Allee des Ormes 431 Mougins 06250 432 France 434 Email: mbehring@cisco.com 436 Eric Vyncke 437 Cisco 438 De Kleetlaan, 6A 439 Diegem 1831 440 Belgium 442 Email: evyncke@cisco.com