idnits 2.17.1 draft-ietf-opsec-lla-only-07.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 (February 13, 2014) is 3715 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-02 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: August 17, 2014 February 13, 2014 7 Using Only Link-Local Addressing Inside an IPv6 Network 8 draft-ietf-opsec-lla-only-07 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 August 17, 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 Address on Infrastructure Links . . . . . . 2 53 2.1. The Approach . . . . . . . . . . . . . . . . . . . . . . 2 54 2.2. Advantages . . . . . . . . . . . . . . . . . . . . . . . 3 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 . . . . . . . . . . . . . . . . . . . . . 7 60 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 61 6. Informative References . . . . . . . . . . . . . . . . . . . 8 62 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 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 2. Using Link-Local Address on Infrastructure Links 79 This document discusses the approach of using only link-local 80 addresses (LLA) on all router interfaces on infrastructure links. 81 Routers don't typically need to receive packets from hosts or nodes 82 outside the network. For a network operator, there may be reasons to 83 use greater than link-local scope addresses on infrastructure 84 interfaces for certain operational tasks, such as pings to an 85 interface or traceroutes across the network. This document discusses 86 such cases and proposes alternative procedures. 88 2.1. The Approach 90 In this approach neither globally routed IPv6 addresses nor unique 91 local addresses are configured on infrastructure links. In the 92 absence of specific global or unique local address definitions, the 93 default behavior of routers is to use link-local addresses notably 94 for routing protocols. 96 The sending of ICMPv6 [RFC4443] error messages (packet-too-big, time- 97 exceeded...) is required for routers. Therefore, another interface 98 must be configured with an IPv6 address with a greater scope than 99 link-local. This address will usually be a loopback interface with a 100 global scope address belonging to the operator and part of an 101 announced prefix (with a suitable prefix length) to avoid being 102 dropped by other routers implementing [RFC3704]. This is 103 implementation dependent. For the remainder of this document we will 104 refer to this interface as a "loopback interface". 106 [RFC6724] recommends that greater than link-local scope IPv6 107 addresses are used as the source IPv6 address for all generated 108 ICMPv6 messages sent to a non link-local address, with the exception 109 of ICMPv6 redirect messages, as defined in [RFC4861] section 4.5. 111 The effect on specific traffic types is as follows: 113 o Most control plane protocols, such as BGP [RFC4271], ISIS [IS-IS], 114 OSPFv3 [RFC5340], RIPng [RFC2080], PIM [RFC4609] work by default 115 or can be configured to work with link-local addresses. 116 Exceptions are explained in the caveats section (Section 2.3). 118 o Management plane traffic, such as SSH [RFC4251], Telnet [RFC0495], 119 SNMP [RFC1157], and ICMPv6 echo request [RFC4443], can use the 120 address of the router loopback interface as the destination 121 address. Router management can also be done over out-of-band 122 channels. 124 o ICMP error messages are usually sourced from a loopback interface 125 with a greater than link-local address scope. [RFC4861] section 126 4.5 explains one exception: ICMP redirect messages can also be 127 sourced from a link-local address. 129 o Data plane traffic is forwarded independently of the link address 130 type. 132 o Neighbor discovery (neighbor solicitation and neighbor 133 advertisement) is done by using link-local unicast and multicast 134 addresses. Therefore neighbor discovery is not affected. 136 We therefore conclude that it is possible to construct a working 137 network in this way. 139 2.2. Advantages 141 The following list of advantages is in no particular order. 143 Smaller routing tables: Since the routing protocol only needs to 144 carry one global address (the loopback interface) per router, it is 145 smaller than the traditional approach where every infrastructure link 146 address is carried in the routing protocol. This reduces memory 147 consumption, and increases the convergence speed in some routing 148 failover cases. Because the Forwarding Information Base to be 149 downloaded to line cards is smaller and there are fewer prefixes in 150 the Routing Information Base, the routing algorithm is accellerated. 151 Note: smaller routing tables can also be achieved by putting 152 interfaces in passive mode for the Interior Gateway Protocol (IGP). 154 Simpler address management: Only loopback interface addresses need to 155 be considered in an addressing plan. This also allows for easier 156 renumbering. 158 Lower configuration complexity: link-local addresses require no 159 specific configuration, thereby lowering the complexity and size of 160 router configurations. This also reduces the likelihood of 161 configuration mistakes. 163 Simpler DNS: Less routable address space in use also means less 164 reverse and forward mapping DNS resource records to maintain. 166 Reduced attack surface: Every routable address on a router 167 constitutes a potential attack point: a remote attacker can send 168 traffic to that address. Examples are a TCP SYN flood (see 169 [RFC4987]), or SSH brute force password attacks. If a network only 170 uses the addresses of the router loopback interface(s), only those 171 addresses need to be protected from outside the network. This may 172 ease protection measures, such as infrastructure access control 173 lists. 175 Without using link-local addresses, it is still possible to achieve 176 the same result if the network addressing scheme is set up such that 177 all link and loopback interfaces have greater than link-local 178 addresses and are aggregatable, and if the infrastructure access list 179 covers that entire aggregated space. See also [RFC6752] for further 180 discussion on this topic. 182 [RFC6860] describes another approach to hide addressing on 183 infrastructure links for OSPFv2 and OSPFv3, by modifying the existing 184 protocols. This document does not modify any protocol, however it 185 works only for IPv6. 187 2.3. Caveats 189 The caveats listed in this section are in no particular order. 191 Interface ping: if an interface doesn't have a routable address, it 192 can only be pinged from a node on the same link. Therefore, it is 193 not possible to ping a specific link interface remotely. A possible 194 workaround is to ping the loopback address of a router instead. In 195 most cases today, it is not possible to see which link the packet was 196 received on; however, [RFC5837] suggests including the interface 197 identifier of the interface a packet was received on in the ICMPv6 198 response; it must be noted that there are few implementations of this 199 ICMPv6 extension. With this approach it would be possible to ping a 200 router on the addresses of loopback interfaces, yet see which 201 interface the packet was received on. To check liveliness of a 202 specific interface, it may be necessary to use other methods, such as 203 connecting to the router via SSH and checking locally or using SNMP. 205 Traceroute: similar to the ping case, a reply to a traceroute packet 206 would come from the address of a loopback interface, and current 207 implementations do not display the specific interface the packets 208 came in on. Also here, [RFC5837] provides a solution. As in the 209 ping case above, it is not possible to traceroute to a particular 210 interface if it only has a link-local address. 212 Hardware dependency: LLAs are usually EUI-64 based, hence, they 213 change when the MAC address is changed. This could pose problem in a 214 case where the routing neighbor must be configured explicitly (e.g. 215 BGP) and a line card needs to be physically replaced hence changing 216 the EUI-64 LLA and breaking the routing neighborship. LLAs can be 217 statically configured such as fe80::1 and fe80::2 which can be used 218 to configure any required static routing neighborship. However, this 219 static LLA configuration may be more complex to operate than 220 statically configured greater than link-local addresses, because the 221 link scope must also be considered, as in this example: 'BGP neighbor 222 fe80::1%eth0 is down'. 224 Network Management System (NMS) toolkits: if there is any NMS tool 225 that makes use of interface IP address of a router to carry out any 226 of its NMS functions, then it would no longer work if the interface 227 does not have a routable address. A possible workaround for such 228 tools is to use the routable address of the router loopback interface 229 instead. Most vendor implementations allow the specification of 230 loopback interface addresses for SYSLOG, IPfix, and SNMP. The 231 protocol LLDP (IEEE 802.1AB-2009) runs directly over Ethernet and 232 does not require any IPv6 address, so dynamic network discovery is 233 not hindered when using LLDP. But, network discovery based on NDP 234 cache content will only display the link-local addresses and not the 235 addresses of the loopback interfaces; therefore, network discovery 236 should rather be based on the Route Information Base to detect 237 adjacent nodes. 239 MPLS and RSVP-TE [RFC3209] allows establishing MPLS LSP on a path 240 that is explicitly identified by a strict sequence of IP prefixes or 241 addresses (each pertaining to an interface or a router on the path). 242 This is commonly used for Fast Re-Route (FRR). However, if an 243 interface uses only a link-local address, then such LSPs cannot be 244 established. At the time of writing this document, there is no 245 workaround for this case; therefore, where RSVP-TE is being used, the 246 approach described in this document does not work. 248 2.4. Internet Exchange Points 250 Internet Exchange Points (IXPs) have a special importance in the 251 global Internet, because they connect a high number of networks in a 252 single location, and because a significant part of Internet traffic 253 passes through at least one IXP. An IXP requires therefore a very 254 high level of security. The address space used on an IXP is 255 generally known, as it is registered in the global Internet Route 256 Registry, or it is easily discoverable through traceroute. The IXP 257 prefix is especially critical, because practically all addresses on 258 this prefix are critical systems in the Internet. 260 Apart from general device security guidelines, there are generally 261 two additional ways to raise security (see also 262 [I-D.ietf-opsec-bgp-security]): 264 1. Not to announce the prefix in question, and 266 2. To drop all traffic from remote locations destined to the IXP 267 prefixes. 269 Not announcing the prefix of the IXP would frequently result in 270 traceroute and similar packets (required for PMTUd) to be dropped due 271 to uRPF checks. Given that PMTUd is critical, this is generally not 272 acceptable. Dropping all external traffic to the IXP prefix is hard 273 to implement, because if only one service provider connected to an 274 IXP does not filter correctly, then all IXP routers are reachable 275 from at least that service provider network. 277 As the prefix used in the IXP is usually longer than a /48, it is 278 frequently dropped by route filters on the Internet having the same 279 net effect as not announcing the prefix. 281 Using link-local addresses on the IXP may help in this scenario. In 282 this case, the generated ICMPv6 packets would be generated from 283 loopback interfaces or from any other interface with a globally 284 routable address without any configuration. However in this case, 285 each service provider would use his own address space, making a 286 generic attack against all devices on the IXP harder. All of an 287 IXP's loopback interface addresses can be discovered by a potential 288 attacker with a simple traceroute; a generic attack is therefore 289 still possible, but it would require more work. 291 In some cases service providers carry the IXP addresses in their IGP 292 for certain forms of traffic engineering across multiple exit points. 293 Link-local addresses cannot be used for this purpose; in this case, 294 the service provider would have to employ other methods of traffic 295 engineering. 297 If an Internet Exchange Point is using a global prefix registered for 298 this purpose, a traceroute will indicate whether the trace crosses an 299 IXP rather than a private interconnect. If link local addressing is 300 used instead, a traceroute will not provide this distinction. 302 2.5. Summary 304 Using exclusively link-local addressing on infrastructure links has a 305 number of advantages and disadvantages, which are both described in 306 detail in this document. A network operator can use this document to 307 evaluate whether using link-local addressing on infrastructure links 308 is a good idea in the context of his/her network or not. This 309 document makes no particular recommendation either in favour or 310 against. 312 3. Security Considerations 314 Using LLAs only on infrastructure links reduces the attack surface of 315 a router: loopback interfaces with routed addresses are still 316 reachable and must be secured, but infrastructure links can only be 317 attacked from the local link. This simplifies security of control 318 and management planes. The approach does not impact the security of 319 the data plane. The link-local-only approach does not address 320 control plane [RFC6192] attacks generated by data plane packets (such 321 as hop-limit expiration or packets containing a hop-by-hop extension 322 header). 324 4. IANA Considerations 326 There are no IANA considerations or implications that arise from this 327 document. 329 5. Acknowledgements 331 The authors would like to thank Salman Asadullah, Brian Carpenter, 332 Bill Cerveny, Benoit Claise, Rama Darbha, Simon Eng, Wes George, 333 Fernando Gont, Jen Linkova, Harald Michl, Janos Mohacsi, Ivan 334 Pepelnjak, and Alvaro Retana for their useful comments about this 335 work. 337 6. Informative References 339 [I-D.ietf-opsec-bgp-security] 340 Durand, J., Pepelnjak, I., and G. Doering, "BGP operations 341 and security", draft-ietf-opsec-bgp-security-02 (work in 342 progress), January 2014. 344 [IS-IS] ISO/IEC 10589, , "Intermediate System to Intermediate 345 System Intra-Domain Routing Exchange Protocol for use in 346 Conjunction with the Protocol for Providing the 347 Connectionless-mode Network Service (ISO 8473)", June 348 1992. 350 [RFC0495] McKenzie, A., "Telnet Protocol specifications", RFC 495, 351 May 1973. 353 [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, 354 "Simple Network Management Protocol (SNMP)", STD 15, RFC 355 1157, May 1990. 357 [RFC2080] Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, 358 January 1997. 360 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 361 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 362 Tunnels", RFC 3209, December 2001. 364 [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed 365 Networks", BCP 84, RFC 3704, March 2004. 367 [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast 368 Addresses", RFC 4193, October 2005. 370 [RFC4251] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) 371 Protocol Architecture", RFC 4251, January 2006. 373 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 374 Protocol 4 (BGP-4)", RFC 4271, January 2006. 376 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control 377 Message Protocol (ICMPv6) for the Internet Protocol 378 Version 6 (IPv6) Specification", RFC 4443, March 2006. 380 [RFC4609] Savola, P., Lehtonen, R., and D. Meyer, "Protocol 381 Independent Multicast - Sparse Mode (PIM-SM) Multicast 382 Routing Security Issues and Enhancements", RFC 4609, 383 October 2006. 385 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 386 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 387 September 2007. 389 [RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common 390 Mitigations", RFC 4987, August 2007. 392 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 393 for IPv6", RFC 5340, July 2008. 395 [RFC5837] Atlas, A., Bonica, R., Pignataro, C., Shen, N., and JR. 396 Rivers, "Extending ICMP for Interface and Next-Hop 397 Identification", RFC 5837, April 2010. 399 [RFC6192] Dugal, D., Pignataro, C., and R. Dunn, "Protecting the 400 Router Control Plane", RFC 6192, March 2011. 402 [RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown, 403 "Default Address Selection for Internet Protocol Version 6 404 (IPv6)", RFC 6724, September 2012. 406 [RFC6752] Kirkham, A., "Issues with Private IP Addressing in the 407 Internet", RFC 6752, September 2012. 409 [RFC6860] Yang, Y., Retana, A., and A. Roy, "Hiding Transit-Only 410 Networks in OSPF", RFC 6860, January 2013. 412 Authors' Addresses 414 Michael Behringer 415 Cisco 416 Building D, 45 Allee des Ormes 417 Mougins 06250 418 France 420 Email: mbehring@cisco.com 421 Eric Vyncke 422 Cisco 423 De Kleetlaan, 6A 424 Diegem 1831 425 Belgium 427 Email: evyncke@cisco.com