summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9099.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc9099.txt')
-rw-r--r--doc/rfc/rfc9099.txt2762
1 files changed, 2762 insertions, 0 deletions
diff --git a/doc/rfc/rfc9099.txt b/doc/rfc/rfc9099.txt
new file mode 100644
index 0000000..7b82305
--- /dev/null
+++ b/doc/rfc/rfc9099.txt
@@ -0,0 +1,2762 @@
+
+
+
+
+Internet Engineering Task Force (IETF) É. Vyncke
+Request for Comments: 9099 Cisco
+Category: Informational K. Chittimaneni
+ISSN: 2070-1721
+ M. Kaeo
+ Double Shot Security
+ E. Rey
+ ERNW
+ August 2021
+
+
+ Operational Security Considerations for IPv6 Networks
+
+Abstract
+
+ Knowledge and experience on how to operate IPv4 networks securely is
+ available, whether the operator is an Internet Service Provider (ISP)
+ or an enterprise internal network. However, IPv6 presents some new
+ security challenges. RFC 4942 describes security issues in the
+ protocol, but network managers also need a more practical,
+ operations-minded document to enumerate advantages and/or
+ disadvantages of certain choices.
+
+ This document analyzes the operational security issues associated
+ with several types of networks and proposes technical and procedural
+ mitigation techniques. This document is only applicable to managed
+ networks, such as enterprise networks, service provider networks, or
+ managed residential networks.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are candidates for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9099.
+
+Copyright Notice
+
+ Copyright (c) 2021 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Applicability Statement
+ 1.2. Requirements Language
+ 2. Generic Security Considerations
+ 2.1. Addressing
+ 2.1.1. Use of ULAs
+ 2.1.2. Point-to-Point Links
+ 2.1.3. Loopback Addresses
+ 2.1.4. Stable Addresses
+ 2.1.5. Temporary Addresses for SLAAC
+ 2.1.6. DHCP Considerations
+ 2.1.7. DNS Considerations
+ 2.1.8. Using a /64 per Host
+ 2.1.9. Privacy Consideration of Addresses
+ 2.2. Extension Headers
+ 2.2.1. Order and Repetition of Extension Headers
+ 2.2.2. Hop-by-Hop Options Header
+ 2.2.3. Fragment Header
+ 2.2.4. IP Security Extension Header
+ 2.3. Link-Layer Security
+ 2.3.1. Neighbor Solicitation Rate-Limiting
+ 2.3.2. Router and Neighbor Advertisements Filtering
+ 2.3.3. Securing DHCP
+ 2.3.4. 3GPP Link-Layer Security
+ 2.3.5. Impact of Multicast Traffic
+ 2.3.6. SEND and CGA
+ 2.4. Control Plane Security
+ 2.4.1. Control Protocols
+ 2.4.2. Management Protocols
+ 2.4.3. Packet Exceptions
+ 2.5. Routing Security
+ 2.5.1. BGP Security
+ 2.5.2. Authenticating OSPFv3 Neighbors
+ 2.5.3. Securing Routing Updates
+ 2.5.4. Route Filtering
+ 2.6. Logging/Monitoring
+ 2.6.1. Data Sources
+ 2.6.2. Use of Collected Data
+ 2.6.3. Summary
+ 2.7. Transition/Coexistence Technologies
+ 2.7.1. Dual Stack
+ 2.7.2. Encapsulation Mechanisms
+ 2.7.3. Translation Mechanisms
+ 2.8. General Device Hardening
+ 3. Enterprises-Specific Security Considerations
+ 3.1. External Security Considerations
+ 3.2. Internal Security Considerations
+ 4. Service Provider Security Considerations
+ 4.1. BGP
+ 4.1.1. Remote Triggered Black Hole Filtering
+ 4.2. Transition/Coexistence Mechanism
+ 4.3. Lawful Intercept
+ 5. Residential Users Security Considerations
+ 6. Further Reading
+ 7. Security Considerations
+ 8. IANA Considerations
+ 9. References
+ 9.1. Normative References
+ 9.2. Informative References
+ Acknowledgements
+ Authors' Addresses
+
+1. Introduction
+
+ Running an IPv6 network is new for most operators not only because
+ they are not yet used to large-scale IPv6 networks but also because
+ there are subtle but critical and important differences between IPv4
+ and IPv6, especially with respect to security. For example, all
+ Layer 2 (L2) interactions are now done using the Neighbor Discovery
+ Protocol (NDP) [RFC4861] rather than the Address Resolution Protocol
+ [RFC0826]. Also, there is no Network Address Port Translation (NAPT)
+ defined in [RFC2663] for IPv6 even if [RFC6296] specifies an IPv6-to-
+ IPv6 Network Prefix Translation (NPTv6), which is a 1-to-1 mapping of
+ IPv6 addresses. Another important difference is that IPv6 is
+ extensible with the use of extension headers.
+
+ IPv6 networks are deployed using a variety of techniques, each of
+ which have their own specific security concerns.
+
+ This document complements [RFC4942] by listing security issues when
+ operating a network (including various transition technologies). It
+ also provides operational deployment experiences where warranted.
+
+1.1. Applicability Statement
+
+ This document is applicable to managed networks, i.e., when the
+ network is operated by the user organization itself. Indeed, many of
+ the recommended mitigation techniques must be configured with
+ detailed knowledge of the network (which are the default routers, the
+ switch trunk ports, etc.). This covers Service Providers (SPs),
+ enterprise networks, and some knowledgeable home-user-managed
+ residential networks. This applicability statement especially
+ applies to Sections 2.3 and 2.5.4.
+
+1.2. Requirements Language
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+2. Generic Security Considerations
+
+2.1. Addressing
+
+ IPv6 address allocations and overall architecture are important parts
+ of securing IPv6. Initial designs, even if intended to be temporary,
+ tend to last much longer than expected. Although IPv6 was initially
+ thought to make renumbering easy, in practice, it may be extremely
+ difficult to renumber without a proper IP Address Management (IPAM)
+ system. [RFC7010] introduces the mechanisms that could be utilized
+ for IPv6 site renumbering and tries to cover most of the explicit
+ issues and requirements associated with IPv6 renumbering.
+
+ A key task for a successful IPv6 deployment is to prepare an
+ addressing plan. Because an abundance of address space is available,
+ structuring an address plan around both services and geographic
+ locations allows address space to become a basis for more structured
+ security policies to permit or deny services between geographic
+ regions. [RFC6177] documents some operational considerations of
+ using different prefix sizes for address assignments at end sites.
+
+ A common question is whether companies should use Provider-
+ Independent (PI) or Provider-Aggregated (PA) space [RFC7381], but,
+ from a security perspective, there is little difference. However,
+ one aspect to keep in mind is who has administrative ownership of the
+ address space and who is technically responsible if/when there is a
+ need to enforce restrictions on routability of the space, e.g., due
+ to malicious criminal activity originating from it. Relying on PA
+ address space may also increase the perceived need for address
+ translation techniques, such as NPTv6; thereby, the complexity of the
+ operations, including the security operations, is augmented.
+
+ In [RFC7934], it is recommended that IPv6 network deployments provide
+ multiple IPv6 addresses from each prefix to general-purpose hosts,
+ and it specifically does not recommend limiting a host to only one
+ IPv6 address per prefix. It also recommends that the network give
+ the host the ability to use new addresses without requiring explicit
+ requests (for example, by using Stateless Address Autoconfiguration
+ (SLAAC)). Privacy extensions, as of [RFC8981], constitute one of the
+ main scenarios where hosts are expected to generate multiple
+ addresses from the same prefix, and having multiple IPv6 addresses
+ per interface is a major change compared to the unique IPv4 address
+ per interface for hosts (secondary IPv4 addresses are not common),
+ especially for audits (see Section 2.6.2.3).
+
+2.1.1. Use of ULAs
+
+ Unique Local Addresses (ULAs) [RFC4193] are intended for scenarios
+ where interfaces are not globally reachable, despite being routed
+ within a domain. They formally have global scope, but [RFC4193]
+ specifies that they must be filtered at domain boundaries. ULAs are
+ different from the addresses described in [RFC1918] and have
+ different use cases. One use of ULAs is described in [RFC4864];
+ another one is for internal communication stability in networks where
+ external connectivity may come and go (e.g., some ISPs provide ULAs
+ in home networks connected via a cable modem). It should further be
+ kept in mind that ULA /48s from the fd00::/8 space (L=1) MUST be
+ generated with a pseudorandom algorithm, per Section 3.2.1 of
+ [RFC4193].
+
+2.1.2. Point-to-Point Links
+
+ Section 5.1 of [RFC6164] specifies the rationale of using /127 for
+ inter-router, point-to-point links to prevent the ping-pong issue
+ between routers not correctly implementing [RFC4443], and it also
+ prevents a denial-of-service (DoS) attack on the Neighbor Cache. The
+ previous recommendation of [RFC3627] has been obsoleted and marked
+ Historic by [RFC6547].
+
+ Some environments are also using link-local addressing for point-to-
+ point links. While this practice could further reduce the attack
+ surface of infrastructure devices, the operational disadvantages also
+ need to be carefully considered; see [RFC7404].
+
+2.1.3. Loopback Addresses
+
+ Many operators reserve a /64 block for all loopback addresses in
+ their infrastructure and allocate a /128 out of this reserved /64
+ prefix for each loopback interface. This practice facilitates
+ configuration of Access Control List (ACL) rules to enforce a
+ security policy for those loopback addresses.
+
+2.1.4. Stable Addresses
+
+ When considering how to assign stable addresses for nodes (either by
+ static configuration or by pre-provisioned DHCPv6 lease
+ (Section 2.1.6)), it is necessary to take into consideration the
+ effectiveness of perimeter security in a given environment.
+
+ There is a trade-off between ease of operation (where some portions
+ of the IPv6 address could be easily recognizable for operational
+ debugging and troubleshooting) versus the risk of trivial scanning
+ used for reconnaissance. [SCANNING] shows that there are
+ scientifically based mechanisms that make scanning for IPv6-reachable
+ nodes more feasible than expected; see [RFC7707].
+
+ Stable addresses also allow easy enforcement of a security policy at
+ the perimeter based on IPv6 addresses. For example, Manufacturer
+ Usage Description (MUD) [RFC8520] is a mechanism where the perimeter
+ defense can retrieve the security policy template based on the type
+ of internal device and apply the right security policy based on the
+ device's IPv6 address.
+
+ The use of well-known IPv6 addresses (such as ff02::1 for all link-
+ local nodes) or the use of commonly repeated addresses could make it
+ easy to figure out which devices are name servers, routers, or other
+ critical devices; even a simple traceroute will expose most of the
+ routers on a path. There are many scanning techniques possible and
+ operators should not rely on the 'impossible to find because my
+ address is random' paradigm (a.k.a. "security by obscurity") even if
+ it is common practice to have the stable addresses randomly
+ distributed across /64 subnets and to always use DNS (as IPv6
+ addresses are hard for human brains to remember).
+
+ While, in some environments, obfuscating addresses could be
+ considered an added benefit, it should not preclude enforcement of
+ perimeter rules. Stable addresses following some logical allocation
+ scheme may ease the operation (as simplicity always helps security).
+
+ Typical deployments will have a mix of stable and non-stable
+ addresses; the stable addresses being either predictable (e.g., ::25
+ for a mail server) or obfuscated (i.e., appearing as a random 64-bit
+ number).
+
+2.1.5. Temporary Addresses for SLAAC
+
+ Historically, Stateless Address Autoconfiguration (SLAAC) makes up
+ the globally unique IPv6 address based on an automatically generated
+ 64-bit interface identifier (IID) based on the 64-bit Extended Unique
+ Identifier (EUI-64) Media Access Control (MAC) address combined with
+ the /64 prefix (received in the Prefix Information Option (PIO) of
+ the Router Advertisement (RA)). The EUI-64 address is generated from
+ the stable 48-bit MAC address and does not change even if the host
+ moves to another network; this is of course bad for privacy, as a
+ host can be traced from network (home) to network (office or Wi-Fi in
+ hotels). [RFC8064] recommends against the use of EUI-64 addresses,
+ and it must be noted that most host operating systems do not use
+ EUI-64 addresses anymore and rely on either [RFC8981] or [RFC8064].
+
+ Randomly generating an interface ID, as described in [RFC8981], is
+ part of SLAAC with so-called privacy extension addresses and is used
+ to address some privacy concerns. Privacy extension addresses,
+ a.k.a. temporary addresses, may help to mitigate the correlation of
+ activities of a node within the same network and may also reduce the
+ attack exposure window. But using privacy extension addresses as
+ described in [RFC8981] might prevent the operator from building host-
+ specific access control lists (ACLs). These privacy extension
+ addresses could also be used to obfuscate some malevolent activities,
+ and specific user attribution/accountability procedures should be put
+ in place, as described in Section 2.6.
+
+ [RFC8064] combined with the address generation mechanism of [RFC7217]
+ specifies another way to generate an address while still keeping the
+ same IID for each network prefix; this allows SLAAC nodes to always
+ have the same stable IPv6 address on a specific network while having
+ different IPv6 addresses on different networks.
+
+ In some specific use cases where user accountability is more
+ important than user privacy, network operators may consider disabling
+ SLAAC and relying only on DHCPv6; however, not all operating systems
+ support DHCPv6, so some hosts will not get any IPv6 connectivity.
+ Disabling SLAAC and privacy extension addresses can be done for most
+ operating systems by sending RA messages with a hint to get addresses
+ via DHCPv6 by setting the M-bit and disabling SLAAC by resetting all
+ A-bits in all PIOs. However, attackers could still find ways to
+ bypass this mechanism if it is not enforced at the switch/router
+ level.
+
+ However, in scenarios where anonymity is a strong desire (protecting
+ user privacy is more important than user attribution), privacy
+ extension addresses should be used. When mechanisms recommended by
+ [RFC8064] are available, the stable privacy address is probably a
+ good balance between privacy (among different networks) and security/
+ user attribution (within a network).
+
+2.1.6. DHCP Considerations
+
+ Some environments use DHCPv6 to provision addresses and other
+ parameters in order to ensure auditability and traceability (see
+ Section 2.6.1.5 for the limitations of DHCPv6 for auditability).
+
+ A main security concern is the ability to detect and counteract rogue
+ DHCP servers (Section 2.3.3). It must be noted that, as opposed to
+ DHCPv4, DHCPv6 can lease several IPv6 addresses per client. For
+ DHCPv4, the lease is bound to the 'client identifier', which may
+ contain a hardware address or another type of identifier, such as a
+ DNS name. For DHCPv6, the lease is bound to the client DHCP Unique
+ Identifier (DUID), which may or may not be bound to the client L2
+ address. [RFC7824] describes the privacy issues associated with the
+ use of DHCPv6 by Internet users. The anonymity profiles [RFC7844]
+ are designed for clients that wish to remain anonymous to the visited
+ network. [RFC7707] recommends that DHCPv6 servers issue addresses
+ randomly from a large pool.
+
+2.1.7. DNS Considerations
+
+ While the security concerns of DNS are not fundamentally different
+ between IPv4 and IPv6, there are specific considerations in DNS64
+ [RFC6147] environments that need to be understood. Specifically, the
+ interactions and the potential of interference with DNSSEC [RFC4033]
+ implementation need to be understood -- these are pointed out in more
+ detail in Section 2.7.3.2.
+
+2.1.8. Using a /64 per Host
+
+ An interesting approach is using a /64 per host, as proposed in
+ [RFC8273], especially in a shared environment. This allows for
+ easier user attribution (typically based on the host MAC address), as
+ its /64 prefix is stable, even if applications within the host can
+ change their IPv6 address within this /64 prefix.
+
+ This can also be useful for the generation of ACLs once individual
+ systems (e.g., admin workstations) have their own prefixes.
+
+2.1.9. Privacy Consideration of Addresses
+
+ In addition to the security aspects of IPv6 addresses, there are also
+ privacy considerations: mainly because they are of global scope and
+ visible globally. [RFC7721] goes into more detail on the privacy
+ considerations for IPv6 addresses by comparing the manually
+ configured IPv6 address, DHCPv6, and SLAAC.
+
+2.2. Extension Headers
+
+ Extension headers are an important difference between IPv4 and IPv6.
+ In IPv4-based packets, it's trivial to find the upper-layer protocol
+ type and protocol header, while, in IPv6, it is more complex since
+ the extension header chain must be parsed completely (even if not
+ processed) in order to find the upper-layer protocol header. IANA
+ has closed the existing empty "Next Header Types" registry to new
+ entries and is redirecting its users to the "IPv6 Extension Header
+ Types" registry, per [RFC7045].
+
+ Extension headers have also become a very controversial topic since
+ forwarding nodes that discard packets containing extension headers
+ are known to cause connectivity failures and deployment problems
+ [RFC7872]. Understanding the role of various extension headers is
+ important, and this section enumerates the ones that need careful
+ consideration.
+
+ A clarification on how intermediate nodes should handle packets with
+ existing or future extension headers is found in [RFC7045]. The
+ uniform TLV format to be used for defining future extension headers
+ is described in [RFC6564]. Sections 5.2 and 5.3 of [RFC8504] provide
+ more information on the processing of extension headers by IPv6
+ nodes.
+
+ Vendors of filtering solutions and operations personnel responsible
+ for implementing packet filtering rules should be aware that the
+ 'Next Header' field in an IPv6 header can both point to an IPv6
+ extension header or to an upper-layer protocol header. This has to
+ be considered when designing the user interface of filtering
+ solutions or during the creation of filtering rule sets.
+
+ [IPV6-EH-FILTERING] discusses filtering rules for those extension
+ headers at transit routers.
+
+2.2.1. Order and Repetition of Extension Headers
+
+ While [RFC8200] recommends the order and the maximum repetition of
+ extension headers, at the time of writing, there are still IPv6
+ implementations that support an order of headers that is not
+ recommended (such as Encapsulating Security Payload (ESP) before
+ routing) or an illegal repetition of headers (such as multiple
+ routing headers). The same applies for options contained in the
+ extension headers (see [IPV6-EH-PARSING]). In some cases, it has led
+ to nodes crashing when receiving or forwarding wrongly formatted
+ packets.
+
+ A firewall or edge device should be used to enforce the recommended
+ order and the maximum occurrences of extension headers by dropping
+ nonconforming packets.
+
+2.2.2. Hop-by-Hop Options Header
+
+ In the previous IPv6 specification [RFC2460], the hop-by-hop options
+ header, when present in an IPv6 packet, forced all nodes to inspect
+ and possibly process this header. This enabled denial-of-service
+ attacks as most, if not all, routers cannot process this type of
+ packet in hardware; they have to process these packets in software
+ and, hence, this task competes with other software tasks, such as
+ handling the control and management plane processing.
+
+ Section 4.3 of [RFC8200], the current Internet Standard for IPv6, has
+ taken this attack vector into account and made the processing of hop-
+ by-hop options headers by intermediate routers explicitly
+ configurable.
+
+2.2.3. Fragment Header
+
+ The fragment header is used by the source (and only the source) when
+ it has to fragment packets. [RFC7112] and Section 4.5 of [RFC8200]
+ explain why it is important that:
+
+ * Firewall and security devices should drop first fragments that do
+ not contain the entire IPv6 header chain (including the transport-
+ layer header).
+
+ * Destination nodes should discard first fragments that do not
+ contain the entire IPv6 header chain (including the transport-
+ layer header).
+
+ If those requirements are not met, stateless filtering could be
+ bypassed by a hostile party. [RFC6980] applies a stricter rule to
+ NDP by enforcing the drop of fragmented NDP packets (except for
+ "Certification Path Advertisement" messages, as noted in section
+ Section 2.3.2.1). [RFC7113] describes how the RA-Guard function
+ described in [RFC6105] should behave in the presence of fragmented RA
+ packets.
+
+2.2.4. IP Security Extension Header
+
+ The IPsec [RFC4301] extension headers (Authentication Header (AH)
+ [RFC4302] and ESP [RFC4303]) are required if IPsec is to be utilized
+ for network-level security. Previously, IPv6 mandated implementation
+ of IPsec, but [RFC6434] updated that recommendation by making support
+ of the IPsec architecture [RFC4301] a 'SHOULD' for all IPv6 nodes
+ that are also retained in the latest IPv6 Nodes Requirement standard
+ [RFC8504].
+
+2.3. Link-Layer Security
+
+ IPv6 relies heavily on NDP [RFC4861] to perform a variety of link
+ operations, such as discovering other nodes on the link, resolving
+ their link-layer addresses, and finding routers on the link. If not
+ secured, NDP is vulnerable to various attacks, such as router/
+ neighbor message spoofing, redirect attacks, Duplicate Address
+ Detection (DAD) DoS attacks, etc. Many of these security threats to
+ NDP have been documented in "IPv6 Neighbor Discovery (ND) Trust
+ Models and Threats" [RFC3756] and in "Operational Neighbor Discovery
+ Problems" [RFC6583].
+
+ Most of the issues are only applicable when the attacker is on the
+ same link, but NDP also has security issues when the attacker is off
+ link; see Section 2.3.1 below.
+
+2.3.1. Neighbor Solicitation Rate-Limiting
+
+ NDP can be vulnerable to remote DoS attacks, for example, when a
+ router is forced to perform address resolution for a large number of
+ unassigned addresses, i.e., when a prefix is scanned by an attacker
+ in a fast manner. This can keep new devices from joining the network
+ or render the last-hop router ineffective due to high CPU usage.
+ Easy mitigative steps include rate limiting Neighbor Solicitations,
+ restricting the amount of state reserved for unresolved
+ solicitations, and cleverly managing the cache/timer.
+
+ [RFC6583] discusses the potential for off-link DoS in detail and
+ suggests implementation improvements and operational mitigation
+ techniques that may be used to mitigate or alleviate the impact of
+ such attacks. Here are some feasible mitigation options that can be
+ employed by network operators today:
+
+ * Ingress filtering of unused addresses by ACL. These require
+ stable configuration of the addresses, e.g., allocating the
+ addresses out of a /120 and using a specific ACL to only allow
+ traffic to this /120 (of course, the actual hosts are configured
+ with a /64 prefix for the link).
+
+ * Tuning of NDP process (where supported), e.g., enforcing limits on
+ data structures, such as the number of Neighbor Cache entries in
+ 'incomplete' state (e.g., 256 incomplete entries per interface) or
+ the rate of NA per interface (e.g., 100 NA per second).
+
+ * Using a /127 on a point-to-point link, per [RFC6164].
+
+ * Using only link-local addresses on links where there are only
+ routers; see [RFC7404].
+
+2.3.2. Router and Neighbor Advertisements Filtering
+
+2.3.2.1. Router Advertisement Filtering
+
+ Router Advertisement spoofing is a well-known, on-link attack vector
+ and has been extensively documented. The presence of rogue RAs,
+ either unintentional or malicious, can cause partial or complete
+ failure of operation of hosts on an IPv6 link. For example, a node
+ can select an incorrect router address, which can then be used for an
+ on-path attack, or the node can assume wrong prefixes to be used for
+ SLAAC. [RFC6104] summarizes the scenarios in which rogue RAs may be
+ observed and presents a list of possible solutions to the problem.
+ [RFC6105] (RA-Guard) describes a solution framework for the rogue RA
+ problem where network segments are designed around switching devices
+ that are capable of identifying invalid RAs and blocking them before
+ the attack packets actually reach the target nodes.
+
+ However, several evasion techniques that circumvent the protection
+ provided by RA-Guard have surfaced. A key challenge to this
+ mitigation technique is introduced by IPv6 fragmentation. Attackers
+ can conceal their attack by fragmenting their packets into multiple
+ fragments such that the switching device that is responsible for
+ blocking invalid RAs cannot find all the necessary information to
+ perform packet filtering of the same packet. [RFC7113] describes
+ such evasion techniques and provides advice to RA-Guard implementers
+ such that the aforementioned evasion vectors can be eliminated.
+
+ Given that the IPv6 Fragmentation Header can be leveraged to
+ circumvent some implementations of RA-Guard, [RFC6980] updates
+ [RFC4861] such that use of the IPv6 Fragmentation Header is forbidden
+ in all Neighbor Discovery messages, except "Certification Path
+ Advertisement", thus allowing for simple and effective measures to
+ counter fragmented NDP attacks.
+
+2.3.2.2. Neighbor Advertisement Filtering
+
+ The Source Address Validation Improvements (savi) Working Group has
+ worked on other ways to mitigate the effects of such attacks.
+ [RFC7513] helps in creating bindings between a source IP address
+ assigned to DHCPv4 [RFC2131] or DHCPv6 [RFC8415] and a binding anchor
+ [RFC7039] on a SAVI device. Also, [RFC6620] describes how to glean
+ similar bindings when DHCP is not used. The bindings can be used to
+ filter packets generated on the local link with forged source IP
+ addresses.
+
+2.3.2.3. Host Isolation
+
+ Isolating hosts for the NDP traffic can be done by using a /64 per
+ host, refer to Section 2.1.8, as NDP is only relevant within a /64
+ on-link prefix; 3GPP (Section 2.3.4) uses a similar mechanism.
+
+ A more drastic technique to prevent all NDP attacks is based on
+ isolation of all hosts with specific configurations. In such a
+ scenario, hosts (i.e., all nodes that are not routers) are unable to
+ send data-link layer frames to other hosts; therefore, no host-to-
+ host attacks can happen. This specific setup can be established on
+ some switches or Wi-Fi access points. This is not always feasible
+ when hosts need to communicate with other hosts in the same subnet,
+ e.g., for access to file shares.
+
+2.3.2.4. NDP Recommendations
+
+ It is still recommended that RA-Guard and SAVI be employed as a first
+ line of defense against common attack vectors, including
+ misconfigured hosts. This recommendation also applies when DHCPv6 is
+ used, as RA messages are used to discover the default router(s) and
+ for on-link prefix determination. This line of defense is most
+ effective when incomplete fragments are dropped by routers and L2
+ switches, as described in Section 2.2.3. The generated log should
+ also be analyzed to identify and act on violations.
+
+ Network operators should be aware that RA-Guard and SAVI do not work
+ as expected or could even be harmful in specific network
+ configurations (notably when there could be multiple routers).
+
+ Enabling RA-Guard by default in managed networks (e.g., Wi-Fi
+ networks, enterprise campus networks, etc.) should be strongly
+ considered except for specific use cases, such as in the presence of
+ homenet devices emitting router advertisements.
+
+2.3.3. Securing DHCP
+
+ The Dynamic Host Configuration Protocol for IPv6 (DHCPv6), as
+ described in [RFC8415], enables DHCP servers to pass configuration
+ parameters, such as IPv6 network addresses and other configuration
+ information, to IPv6 nodes. DHCP plays an important role in most
+ large networks by providing robust stateful configuration in the
+ context of automated system provisioning.
+
+ The two most common threats to DHCP clients come from malicious
+ (a.k.a. rogue) or unintentionally misconfigured DHCP servers. In
+ these scenarios, a malicious DHCP server is established with the
+ intent of providing incorrect configuration information to the
+ clients to cause a denial-of-service attack or to mount an on-path
+ attack. While unintentional, a misconfigured DHCP server can have
+ the same impact. Additional threats against DHCP are discussed in
+ the security considerations section of [RFC8415].
+
+ DHCPv6-Shield [RFC7610] specifies a mechanism for protecting
+ connected DHCPv6 clients against rogue DHCPv6 servers. This
+ mechanism is based on DHCPv6 packet filtering at the L2 device, i.e.,
+ the administrator specifies the interfaces connected to DHCPv6
+ servers. However, extension headers could be leveraged to bypass
+ DHCPv6-Shield unless [RFC7112] is enforced.
+
+ It is recommended to use DHCPv6-Shield and to analyze the
+ corresponding log messages.
+
+2.3.4. 3GPP Link-Layer Security
+
+ The 3GPP link is a point-to-point-like link that has no link-layer
+ address. This implies there can only be one end host (the mobile
+ handset) and the first-hop router (i.e., a Gateway GPRS Support Node
+ (GGSN) or a Packet Data Network Gateway (PGW)) on that link. The
+ GGSN/PGW never configures a non-link-local address on the link using
+ the advertised /64 prefix on it; see Section 2.1.8. The advertised
+ prefix must not be used for on-link determination. There is no need
+ for address resolution on the 3GPP link, since there are no link-
+ layer addresses. Furthermore, the GGSN/PGW assigns a prefix that is
+ unique within each 3GPP link that uses IPv6 Stateless Address
+ Autoconfiguration. This avoids the necessity to perform DAD at the
+ network level for every address generated by the mobile host. The
+ GGSN/PGW always provides an IID to the cellular host for the purpose
+ of configuring the link-local address and ensures the uniqueness of
+ the IID on the link (i.e., no collisions between its own link-local
+ address and the mobile host's address).
+
+ The 3GPP link model itself mitigates most of the known NDP-related
+ DoS attacks. In practice, the GGSN/PGW only needs to route all
+ traffic to the mobile host that falls under the prefix assigned to
+ it. As there is also a single host on the 3GPP link, there is no
+ need to defend that IPv6 address.
+
+ See Section 5 of [RFC6459] for a more detailed discussion on the 3GPP
+ link model, NDP, and the address configuration details. In some
+ mobile networks, DHCPv6 and DHCP Prefix Delegation (DHCP-PD) are also
+ used.
+
+2.3.5. Impact of Multicast Traffic
+
+ IPv6 uses multicast extensively for signaling messages on the local
+ link to avoid broadcast messages for on-the-wire efficiency.
+
+ The use of multicast has some side effects on wireless networks, such
+ as a negative impact on battery life of smartphones and other
+ battery-operated devices that are connected to such networks.
+ [RFC7772] and [RFC6775] (for specific wireless networks) discuss
+ methods to rate-limit RAs and other ND messages on wireless networks
+ in order to address this issue.
+
+ The use of link-layer multicast addresses (e.g., ff02::1 for the all
+ nodes link-local multicast address) could also be misused for an
+ amplification attack. Imagine a hostile node sending an ICMPv6
+ ECHO_REQUEST to ff02::1 with a spoofed source address, then all link-
+ local nodes will reply with ICMPv6 ECHO_REPLY packets to the source
+ address. This could be a DoS attack for the address owner. This
+ attack is purely local to the L2 network, as packets with a link-
+ local destination are never forwarded by an IPv6 router.
+
+ This is the reason why large Wi-Fi network deployments often limit
+ the use of link-layer multicast, either from or to the uplink of the
+ Wi-Fi access point, i.e., Wi-Fi stations are prevented to send link-
+ local multicast to their direct neighboring Wi-Fi stations; this
+ policy also blocks service discovery via Multicast DNS (mDNS)
+ [RFC6762] and Link-Local Multicast Name Resolution (LLMNR) [RFC4795].
+
+2.3.6. SEND and CGA
+
+ SEcure Neighbor Discovery (SEND), as described in [RFC3971], is a
+ mechanism that was designed to secure ND messages. This approach
+ involves the use of new NDP options to carry public-key-based
+ signatures. Cryptographically Generated Addresses (CGA), as
+ described in [RFC3972], are used to ensure that the sender of a
+ Neighbor Discovery message is the actual "owner" of the claimed IPv6
+ address. A new NDP option, the CGA option, was introduced and is
+ used to carry the public key and associated parameters. Another NDP
+ option, the RSA Signature option, is used to protect all messages
+ relating to neighbor and router discovery.
+
+ SEND protects against:
+
+ * Neighbor Solicitation/Advertisement Spoofing
+
+ * Neighbor Unreachability Detection Failure
+
+ * Duplicate Address Detection DoS Attack
+
+ * Router Solicitation and Advertisement Attacks
+
+ * Replay Attacks
+
+ * Neighbor Discovery DoS Attacks
+
+ SEND does NOT:
+
+ * protect statically configured addresses
+
+ * protect addresses configured using fixed identifiers (i.e., EUI-
+ 64)
+
+ * provide confidentiality for NDP communications
+
+ * compensate for an unsecured link -- SEND does not require that the
+ addresses on the link and Neighbor Advertisements correspond
+
+ However, at this time and over a decade since their original
+ specifications, CGA and SEND do not have support from widely deployed
+ IPv6 devices; hence, their usefulness is limited and should not be
+ relied upon.
+
+2.4. Control Plane Security
+
+ [RFC6192] defines the router control plane and provides detailed
+ guidance to secure it for IPv4 and IPv6 networks. This definition is
+ repeated here for the reader's convenience. Please note that the
+ definition is completely protocol-version agnostic (most of this
+ section applies to IPv6 in the same way as to IPv4).
+
+ | Preamble: IPv6 control plane security is vastly congruent with
+ | its IPv4 equivalent, with the exception of OSPFv3
+ | authentication (Section 2.4.1) and some packet exceptions (see
+ | Section 2.4.3) that are specific to IPv6.
+
+ Modern router architecture design maintains a strict separation of
+ forwarding and router control plane hardware and software. The
+ router control plane supports routing and management functions. It
+ is generally described as the router architecture hardware and
+ software components for handling packets destined to the device
+ itself as well as building and sending packets originated locally on
+ the device. The forwarding plane is typically described as the
+ router architecture hardware and software components responsible for
+ receiving a packet on an incoming interface, performing a lookup to
+ identify the packet's IP next hop and best outgoing interface towards
+ the destination, and forwarding the packet through the appropriate
+ outgoing interface.
+
+ While the forwarding plane is usually implemented in high-speed
+ hardware, the control plane is implemented by a generic processor
+ (referred to as the routing processor (RP)) and cannot process
+ packets at a high rate. Hence, this processor can be attacked by
+ flooding its input queue with more packets than it can process. The
+ control plane processor is then unable to process valid control
+ packets and the router can lose IGP or BGP adjacencies, which can
+ cause a severe network disruption.
+
+ [RFC6192] provides detailed guidance to protect the router control
+ plane in IPv6 networks. The rest of this section contains simplified
+ guidance.
+
+ The mitigation techniques are:
+
+ * to drop illegitimate or potentially harmful control packets before
+ they are queued to the RP (this can be done by a forwarding plane
+ ACL) and
+
+ * to rate-limit the remaining packets to a rate that the RP can
+ sustain. Protocol-specific protection should also be done (for
+ example, a spoofed OSPFv3 packet could trigger the execution of
+ the Dijkstra algorithm; therefore, the frequency of Dijkstra
+ calculations should also be rate limited).
+
+ This section will consider several classes of control packets:
+
+ Control protocols:
+ routing protocols, such as OSPFv3, BGP, Routing Information
+ Protocol Next Generation (RIPng), and, by extension, NDP and ICMP
+
+ Management protocols:
+ Secure Shell (SSH), SNMP, Network Configuration Protocol
+ (NETCONF), RESTCONF, IP Flow Information Export (IPFIX), etc.
+
+ Packet exceptions:
+ normal data packets that require a specific processing, such as
+ generating a packet-too-big ICMP message or processing the hop-by-
+ hop options header
+
+2.4.1. Control Protocols
+
+ This class includes OSPFv3, BGP, NDP, and ICMP.
+
+ An ingress ACL to be applied on all the router interfaces for packets
+ to be processed by the RP should be configured to:
+
+ * drop OSPFv3 (identified by Next-Header being 89) and RIPng
+ (identified by UDP port 521) packets from a non-link-local address
+ (except for OSPFv3 virtual links)
+
+ * allow BGP (identified by TCP port 179) packets from all BGP
+ neighbors and drop the others
+
+ * allow all ICMP packets (transit and to the router interfaces)
+
+ | Note: Dropping OSPFv3 packets that are authenticated by IPsec
+ | could be impossible on some routers that are unable to parse
+ | the IPsec ESP or AH extension headers during ACL
+ | classification.
+
+ Rate-limiting of the valid packets should be done; see [RFC8541] for
+ a side benefit for OSPv3. The exact configuration will depend on the
+ available resources of the router (CPU, Ternary Content-Addressable
+ Memory (TCAM), etc.).
+
+2.4.2. Management Protocols
+
+ This class includes SSH, SNMP, RESTCONF, NETCONF, gRPC Remote
+ Procedure Calls (gRPC), syslog, NTP, etc.
+
+ An ingress ACL to be applied on all the router interfaces (or at
+ ingress interfaces of the security perimeter or by using specific
+ features of the platform) should be configured for packets destined
+ to the RP, such as:
+
+ * drop packets destined to the routers, except those belonging to
+ protocols that are used (for example, permit TCP 22 and drop all
+ others when only SSH is used) and
+
+ * drop packets where the source does not match the security policy
+ (for example, if SSH connections should only be originated from
+ the Network Operation Center (NOC), then the ACL should permit TCP
+ port 22 packets only from the NOC prefix).
+
+ Rate-limiting of valid packets should be done. The exact
+ configuration will depend on the available router resources.
+
+2.4.3. Packet Exceptions
+
+ This class covers multiple cases where a data plane packet is punted
+ to the route processor because it requires specific processing:
+
+ * generation of an ICMP packet-too-big message when a data plane
+ packet cannot be forwarded because it is too large (required to
+ discover the Path MTU);
+
+ * generation of an ICMP hop-limit-expired message when a data plane
+ packet cannot be forwarded because its hop-limit field has reached
+ 0 (also used by the traceroute utility);
+
+ * generation of an ICMP destination-unreachable message when a data
+ plane packet cannot be forwarded for any reason;
+
+ * processing of the hop-by-hop options header; new implementations
+ follow Section 4.3 of [RFC8200] where this processing is optional;
+ or
+
+ * more specific to some router implementations, an oversized
+ extension header chain that cannot be processed by the hardware
+ and cannot force the packet to be punted to the RP.
+
+ On some routers, not everything can be done by the specialized data
+ plane hardware that requires some packets to be 'punted' to the
+ generic RP. This could include, for example, the processing of a
+ long extension header chain in order to apply an ACL based on Layer 4
+ information. [RFC6980] and more generally [RFC7112] highlight the
+ security implications of oversized extension header chains on routers
+ and update the original IPv6 specifications [RFC2460] such that the
+ first fragment of a packet is required to contain the entire IPv6
+ header chain. Those changes are incorporated in the IPv6 standard
+ [RFC8200].
+
+ An ingress ACL cannot mitigate a control plane attack using these
+ packet exceptions. The only protection for the RP is to rate-limit
+ those packet exceptions that are forwarded to the RP. This means
+ that some data plane packets will be dropped without an ICMP message
+ sent to the source, which may delay Path MTU Discovery and cause
+ drops.
+
+ In addition to limiting the rate of data plane packets queued to the
+ RP, it is also important to rate-limit the generation of ICMP
+ messages. This is important both to preserve RP resources and also
+ to prevent an amplification attack using the router as a reflector.
+ It is worth noting that some platforms implement this rate-limiting
+ in hardware. Of course, a consequence of not generating an ICMP
+ message will break some IPv6 mechanisms, such as Path MTU Discovery
+ or a simple traceroute.
+
+2.5. Routing Security
+
+ | Preamble: IPv6 routing security is congruent with IPv4 routing
+ | security, with the exception of OSPv3 neighbor authentication
+ | (see Section 2.5.2).
+
+ Routing security in general can be broadly divided into three
+ sections:
+
+ 1. authenticating neighbors/peers
+
+ 2. securing routing updates between peers
+
+ 3. route filtering
+
+ [RFC5082] is also applicable to IPv6 and can ensure that routing
+ protocol packets are coming from the local network; it must also be
+ noted that in IPv6 all interior gateway protocols use link-local
+ addresses.
+
+ As for IPv4, it is recommended to enable a routing protocol only on
+ interfaces where it is required.
+
+2.5.1. BGP Security
+
+ As BGP is identical for IPv4 and IPv6 and as [RFC7454] covers all the
+ security aspects for BGP in detail, [RFC7454] is also applicable to
+ IPv6.
+
+2.5.2. Authenticating OSPFv3 Neighbors
+
+ OSPFv3 can rely on IPsec to fulfill the authentication function.
+ Operators should note that IPsec support is not standard on all
+ routing platforms. In some cases, this requires specialized hardware
+ that offloads crypto over to dedicated Application-Specific
+ Integrated Circuits (ASICs) or enhanced software images (both of
+ which often come with added financial cost) to provide such
+ functionality. An added detail is to determine whether OSPFv3 IPsec
+ implementations use AH or ESP-NULL for integrity protection. In
+ early implementations, all OSPFv3 IPsec configurations relied on AH
+ since the details weren't specified in [RFC5340]. However, the
+ document that specifically describes how IPsec should be implemented
+ for OSPFv3 [RFC4552] states that "implementations MUST support ESP[-
+ NULL] and MAY support AH" since it follows the overall IPsec
+ standards wording. OSPFv3 can also use normal ESP to encrypt the
+ OSPFv3 payload to provide confidentiality for the routing
+ information.
+
+ [RFC7166] changes OSPFv3 reliance on IPsec by appending an
+ authentication trailer to the end of the OSPFv3 packets. It does not
+ authenticate the specific originator of an OSPFv3 packet; rather, it
+ allows a router to confirm that the packet has been issued by a
+ router that had access to the shared authentication key.
+
+ With all authentication mechanisms, operators should confirm that
+ implementations can support rekeying mechanisms that do not cause
+ outages. There have been instances where any rekeying causes
+ outages; therefore, the trade-off between utilizing this
+ functionality needs to be weighed against the protection it provides.
+ [RFC4107] documents some guidelines for crypto keys management.
+
+2.5.3. Securing Routing Updates
+
+ IPv6 initially mandated the provisioning of IPsec capability in all
+ nodes. However, in the updated IPv6 Nodes Requirement standard
+ [RFC8504], IPsec is a 'SHOULD' and not a 'MUST' implementation.
+ Theoretically, it is possible that all communication between two IPv6
+ nodes, especially routers exchanging routing information, is
+ encrypted using IPsec. However, in practice, deploying IPsec is not
+ always feasible given hardware and software limitations of the
+ various platforms deployed.
+
+ Many routing protocols support the use of cryptography to protect the
+ routing updates; the use of this protection is recommended.
+ [RFC8177] is a YANG data model for key chains that includes rekeying
+ functionality.
+
+2.5.4. Route Filtering
+
+ Route filtering policies will be different depending on whether they
+ pertain to edge route filtering or internal route filtering. At a
+ minimum, the IPv6 routing policy, as it pertains to routing between
+ different administrative domains, should aim to maintain parity with
+ IPv4 from a policy perspective, for example:
+
+ * filter internal-use IPv6 addresses that are not globally routable
+ at the perimeter;
+
+ * discard routes for bogon [CYMRU] and reserved space (see
+ [RFC8190]); and
+
+ * configure ingress route filters that validate route origin, prefix
+ ownership, etc., through the use of various routing databases,
+ e.g., [RADB]. [RFC8210] formally validates the origin Autonomous
+ Systems (ASes) of BGP announcements.
+
+ Some good guidance can be found at [RFC7454].
+
+ A valid routing table can also be used to apply network ingress
+ filtering (see [RFC2827]).
+
+2.6. Logging/Monitoring
+
+ In order to perform forensic research in the cases of a security
+ incident or detecting abnormal behavior, network operators should log
+ multiple pieces of information. In some cases, this requires a
+ frequent poll of devices via a Network Management Station.
+
+ This logging should include but is not limited to:
+
+ * logs of all applications using the network (including user space
+ and kernel space) when available (for example, web servers that
+ the network operator manages);
+
+ * data from IP Flow Information Export [RFC7011], also known as
+ IPFIX;
+
+ * data from various SNMP MIBs [RFC4293] or YANG data via RESTCONF
+ [RFC8040] or NETCONF [RFC6241];
+
+ * historical data of Neighbor Cache entries;
+
+ * stateful DHCPv6 [RFC8415] lease cache, especially when a relay
+ agent [RFC6221] is used;
+
+ * Source Address Validation Improvement (SAVI) [RFC7039] events,
+ especially the binding of an IPv6 address to a MAC address and a
+ specific switch or router interface;
+
+ * firewall ACL logs;
+
+ * authentication server logs; and
+
+ * RADIUS [RFC2866] accounting records.
+
+ Please note that there are privacy issues or regulations related to
+ how these logs are collected, stored, used, and safely discarded.
+ Operators are urged to check their country legislation (e.g., General
+ Data Protection Regulation [GDPR] in the European Union).
+
+ All those pieces of information can be used for:
+
+ * forensic (Section 2.6.2.1) investigations: who did what and when?
+
+ * correlation (Section 2.6.2.3): which IP addresses were used by a
+ specific node (assuming the use of privacy extensions addresses
+ [RFC8981])?
+
+ * inventory (Section 2.6.2.2): which IPv6 nodes are on my network?
+
+ * abnormal behavior detection (Section 2.6.2.4): unusual traffic
+ patterns are often the symptoms of an abnormal behavior, which is
+ in turn a potential attack (denial of service, network scan, a
+ node being part of a botnet, etc.).
+
+2.6.1. Data Sources
+
+ This section lists the most important sources of data that are useful
+ for operational security.
+
+2.6.1.1. Application Logs
+
+ Those logs are usually text files where the remote IPv6 address is
+ stored in cleartext (not binary). This can complicate the processing
+ since one IPv6 address, for example, 2001:db8::1, can be written in
+ multiple ways, such as:
+
+ * 2001:DB8::1 (in uppercase),
+
+ * 2001:0db8::0001 (with leading 0), and
+
+ * many other ways, including the reverse DNS mapping into a Fully
+ Qualified Domain Name (FQDN) (which should not be trusted).
+
+ [RFC5952] explains this problem in detail and recommends the use of a
+ single canonical format. This document recommends the use of
+ canonical format [RFC5952] for IPv6 addresses in all possible cases.
+ If the existing application cannot log using the canonical format,
+ then it is recommended to use an external post-processing program in
+ order to canonicalize all IPv6 addresses.
+
+2.6.1.2. IP Flow Information Export by IPv6 Routers
+
+ IPFIX [RFC7012] defines some data elements that are useful for
+ security:
+
+ * nextHeaderIPv6, sourceIPv6Address, and destinationIPv6Address
+
+ * sourceMacAddress and destinationMacAddress
+
+ The IP version is the ipVersion element defined in [IANA-IPFIX].
+
+ Moreover, IPFIX is very efficient in terms of data handling and
+ transport. It can also aggregate flows by a key, such as
+ sourceMacAddress, in order to have aggregated data associated with a
+ specific sourceMacAddress. This memo recommends the use of IPFIX and
+ aggregation on nextHeaderIPv6, sourceIPv6Address, and
+ sourceMacAddress.
+
+2.6.1.3. SNMP MIB and NETCONF/RESTCONF YANG Modules Data by IPv6
+ Routers
+
+ [RFC4293] defines a Management Information Base (MIB) for the two
+ address families of IP. This memo recommends the use of:
+
+ * ipIfStatsTable table, which collects traffic counters per
+ interface, and
+
+ * ipNetToPhysicalTable table, which is the content of the Neighbor
+ Cache, i.e., the mapping between IPv6 and data-link layer
+ addresses.
+
+ There are also YANG modules relating to the two IP address families
+ and that can be used with [RFC6241] and [RFC8040]. This memo
+ recommends the use of:
+
+ * interfaces-state/interface/statistics from
+ ietf-interfaces@2018-02-20.yang [RFC8343], which contains counters
+ for interfaces, and
+
+ * ipv6/neighbor from ietf-ip@2018-02-22.yang [RFC8344], which is the
+ content of the Neighbor Cache, i.e., the mapping between IPv6 and
+ data-link layer addresses.
+
+2.6.1.4. Neighbor Cache of IPv6 Routers
+
+ The Neighbor Cache of routers contains all mappings between IPv6
+ addresses and data-link layer addresses. There are multiple ways to
+ collect the current entries in the Neighbor Cache, notably, but not
+ limited to:
+
+ * using the SNMP MIB (Section 2.6.1.3), as explained above;
+
+ * using streaming telemetry or NETCONF [RFC6241] and RESTCONF
+ [RFC8040] to collect the operational state of the Neighbor Cache;
+ and
+
+ * connecting over a secure management channel (such as SSH) and
+ explicitly requesting a Neighbor Cache dump via the Command-Line
+ Interface (CLI) or another monitoring mechanism.
+
+ The Neighbor Cache is highly dynamic, as mappings are added when a
+ new IPv6 address appears on the network. This could be quite
+ frequently with privacy extension addresses [RFC8981] or when they
+ are removed when the state goes from UNREACH to removed (the default
+ time for a removal per Neighbor Unreachability Detection [RFC4861]
+ algorithm is 38 seconds for a host using Windows 7). This means that
+ the content of the Neighbor Cache must be fetched periodically at an
+ interval that does not exhaust the router resources and still
+ provides valuable information (the suggested value is 30 seconds, but
+ this should be verified in the actual deployment) and stored for
+ later use.
+
+ This is an important source of information because it is trivial (on
+ a switch not using the SAVI [RFC7039] algorithm) to defeat the
+ mapping between data-link layer address and an IPv6 address. Put
+ another way, having access to the current and past content of the
+ Neighbor Cache has a paramount value for the forensic and audit
+ trails. It should also be noted that, in certain threat models, this
+ information is also deemed valuable and could itself be a target.
+
+ When using one /64 per host (Section 2.1.8) or DHCP-PD, it is
+ sufficient to keep the history of the allocated prefixes when
+ combined with strict source address prefix enforcement on the routers
+ and L2 switches to prevent IPv6 spoofing.
+
+2.6.1.5. Stateful DHCPv6 Lease
+
+ In some networks, IPv6 addresses/prefixes are managed by a stateful
+ DHCPv6 server [RFC8415] that leases IPv6 addresses/prefixes to
+ clients. It is indeed quite similar to DHCP for IPv4, so it can be
+ tempting to use this DHCP lease file to discover the mapping between
+ IPv6 addresses/prefixes and data-link layer addresses, as is commonly
+ used in IPv4 networking.
+
+ It is not so easy in the IPv6 networks, because not all nodes will
+ use DHCPv6 (there are nodes that can only do stateless
+ autoconfiguration) and also because DHCPv6 clients are identified not
+ by their hardware-client address, as in IPv4, but by a DHCP Unique
+ Identifier (DUID). The DUID can have several formats: the data-link
+ layer address, the data-link layer address prepended with time
+ information, or even an opaque number that requires correlation with
+ another data source to be usable for operational security. Moreover,
+ when the DUID is based on the data-link address, this address can be
+ of any client interface (such as the wireless interface, while the
+ client actually uses its wired interface to connect to the network).
+
+ If a lightweight DHCP relay agent [RFC6221] is used in a L2 switch,
+ then the DHCP servers also receive the interface ID information,
+ which could be saved in order to identify the interface on which the
+ switch received a specific leased IPv6 address. Also, if a 'normal'
+ (not lightweight) relay agent adds the data-link layer address in the
+ option for Relay Agent Remote-ID [RFC4649] [RFC6939], then the DHCPv6
+ server can keep track of the data-link and leased IPv6 addresses.
+
+ In short, the DHCPv6 lease file is less interesting than lease files
+ for IPv4 networks. If possible, it is recommended to use DHCPv6
+ servers that keep the relayed data-link layer address in addition to
+ the DUID in the lease file, as those servers have the equivalent
+ information to IPv4 DHCP servers.
+
+ The mapping between the data-link layer address and the IPv6 address
+ can be secured by deploying switches implementing the SAVI [RFC7513]
+ mechanisms. Of course, this also requires that the data-link layer
+ address be protected by using a L2 mechanism, such as [IEEE-802.1X].
+
+2.6.1.6. RADIUS Accounting Log
+
+ For interfaces where the user is authenticated via a RADIUS [RFC2866]
+ server, and if RADIUS accounting is enabled, then the RADIUS server
+ receives accounting Acct-Status-Type records at the start and at the
+ end of the connection, which include all IPv6 (and IPv4) addresses
+ used by the user. This technique can be used notably for Wi-Fi
+ networks with Wi-Fi Protected Access (WPA) or other IEEE 802.1X
+ [IEEE-802.1X] wired interfaces on an Ethernet switch.
+
+2.6.1.7. Other Data Sources
+
+ There are other data sources for log information that must be
+ collected (as currently collected in IPv4 networks):
+
+ * historical mappings of IPv6 addresses to users of remote access
+ VPN and
+
+ * historical mappings of MAC addresses to switch ports in a wired
+ network.
+
+2.6.2. Use of Collected Data
+
+ This section leverages the data collected, as described in
+ Section 2.6.1, in order to achieve several security benefits.
+ Section 9.1 of [RFC7934] contains more details about host tracking.
+
+2.6.2.1. Forensic and User Accountability
+
+ The forensic use case is when the network operator must locate an
+ IPv6 address (and the associated port, access point/switch, or VPN
+ tunnel) that was present in the network at a certain time or is
+ currently in the network.
+
+ To locate an IPv6 address in an enterprise network where the operator
+ has control over all resources, the source of information can be the
+ Neighbor Cache, or, if not found, the DHCP lease file. Then, the
+ procedure is:
+
+ 1. based on the IPv6 prefix of the IPv6 address; find one or more
+ routers that are used to reach this prefix (assuming that anti-
+ spoofing mechanisms are used), perhaps based on an IPAM.
+
+ 2. based on this limited set of routers, on the incident time, and
+ on the IPv6 address; retrieve the data-link address from the live
+ Neighbor Cache, from the historical Neighbor Cache data, or from
+ SAVI events, or retrieve the data-link address from the DHCP
+ lease file (Section 2.6.1.5).
+
+ 3. based on the data-link layer address; look up the switch
+ interface associated with the data-link layer address. In the
+ case of wireless LAN with RADIUS accounting (see
+ Section 2.6.1.6), the RADIUS log has the mapping between the user
+ identification and the MAC address. If a Configuration
+ Management Database (CMDB) is used, then it can be used to map
+ the data-link layer address to a switch port.
+
+ At the end of the process, the interface of the host originating or
+ the subscriber identity associated with the activity in question has
+ been determined.
+
+ To identify the subscriber of an IPv6 address in a residential
+ Internet Service Provider, the starting point is the DHCP-PD leased
+ prefix covering the IPv6 address; this prefix can often be linked to
+ a subscriber via the RADIUS log. Alternatively, the Forwarding
+ Information Base (FIB) of the Cable Modem Termination System (CMTS)
+ or Broadband Network Gateway (BNG) indicates the Customer Premises
+ Equipment (CPE) of the subscriber and the RADIUS log can be used to
+ retrieve the actual subscriber.
+
+ More generally, a mix of the above techniques can be used in most, if
+ not all, networks.
+
+2.6.2.2. Inventory
+
+ [RFC7707] describes the difficulties for an attacker to scan an IPv6
+ network due to the vast number of IPv6 addresses per link (and why in
+ some cases it can still be done). While the huge addressing space
+ can sometimes be perceived as a 'protection', it also makes the
+ inventory task difficult in an IPv6 network while it was trivial to
+ do in an IPv4 network (a simple enumeration of all IPv4 addresses,
+ followed by a ping and a TCP/UDP port scan). Getting an inventory of
+ all connected devices is of prime importance for a secure network
+ operation.
+
+ There are many ways to do an inventory of an IPv6 network.
+
+ The first technique is to use passive inspection, such as IPFIX.
+ Using exported IPFIX information and extracting the list of all IPv6
+ source addresses allows finding all IPv6 nodes that sent packets
+ through a router. This is very efficient but, alas, will not
+ discover silent nodes that never transmitted packets traversing the
+ IPFIX target router. Also, it must be noted that link-local
+ addresses will never be discovered by this means.
+
+ The second way is again to use the collected Neighbor Cache content
+ to find all IPv6 addresses in the cache. This process will also
+ discover all link-local addresses. See Section 2.6.1.4.
+
+ Another way that works only for a local network consists of sending
+ an ICMP ECHO_REQUEST to the link-local multicast address ff02::1,
+ which addresses all IPv6 nodes on the network. All nodes should
+ reply to this ECHO_REQUEST, per [RFC4443].
+
+ Other techniques involve obtaining data from DNS, parsing log files,
+ and leveraging service discovery, such as mDNS [RFC6762] [RFC6763].
+
+ Enumerating DNS zones, especially looking at reverse DNS records and
+ CNAMEs, is another common method employed by various tools. As
+ already mentioned in [RFC7707], this allows an attacker to prune the
+ IPv6 reverse DNS tree and hence enumerate it in a feasible time.
+ Furthermore, authoritative servers that allow zone transfers (i.e.,
+ Authoritative Transfers (AXFRs)) may be a further information source.
+ An interesting research paper has analyzed the entropy in various
+ IPv6 addresses: see [ENTROPYIP].
+
+2.6.2.3. Correlation
+
+ In an IPv4 network, it is easy to correlate multiple logs, for
+ example, to find events related to a specific IPv4 address. A simple
+ Unix grep command is enough to scan through multiple text-based files
+ and extract all lines relevant to a specific IPv4 address.
+
+ In an IPv6 network, this is slightly more difficult because different
+ character strings can express the same IPv6 address. Therefore, the
+ simple Unix grep command cannot be used. Moreover, an IPv6 node can
+ have multiple IPv6 addresses.
+
+ In order to do correlation in IPv6-related logs, it is advised to
+ have all logs in a format with only canonical IPv6 addresses
+ [RFC5952]. Then, the current (or historical) Neighbor Cache data set
+ must be searched to find the data-link layer address of the IPv6
+ address. Next, the current and historical Neighbor Cache data sets
+ must be searched for all IPv6 addresses associated with this data-
+ link layer address to derive the search set. The last step is to
+ search in all log files (containing only IPv6 addresses in canonical
+ format) for any IPv6 addresses in the search set.
+
+ Moreover, [RFC7934] recommends using multiple IPv6 addresses per
+ prefix, so the correlation must also be done among those multiple
+ IPv6 addresses, for example, by discovering all IPv6 addresses
+ associated with the same MAC address and interface in the NDP cache
+ (Section 2.6.1.4).
+
+2.6.2.4. Abnormal Behavior Detection
+
+ Abnormal behavior (such as network scanning, spamming, DoS) can be
+ detected in the same way as in an IPv4 network:
+
+ * a sudden increase of traffic detected by interface counter (SNMP)
+ or by aggregated traffic from IPFIX records [RFC7012],
+
+ * rapid growth of ND cache size, or
+
+ * change in traffic pattern (number of connections per second,
+ number of connections per host, etc.) observed with the use of
+ IPFIX [RFC7012].
+
+2.6.3. Summary
+
+ While some data sources (IPFIX, MIB, switch Content Addressable
+ Memory (CAM) tables, logs, etc.) used in IPv4 are also used in the
+ secure operation of an IPv6 network, the DHCPv6 lease file is less
+ reliable and the Neighbor Cache is of prime importance.
+
+ The fact that there are multiple ways to express the same IPv6
+ address in a character string renders the use of filters mandatory
+ when correlation must be done.
+
+2.7. Transition/Coexistence Technologies
+
+ As it is expected that some networks will not run in a pure IPv6-only
+ mode, the different transition mechanisms must be deployed and
+ operated in a secure way. This section proposes operational
+ guidelines for the most-known and deployed transition techniques.
+ [RFC4942] also contains security considerations for transition or
+ coexistence scenarios.
+
+2.7.1. Dual Stack
+
+ Dual stack is often the first deployment choice for network
+ operators. Dual stacking the network offers some advantages over
+ other transition mechanisms. Firstly, the impact on existing IPv4
+ operations is reduced. Secondly, in the absence of tunnels or
+ address translation, the IPv4 and IPv6 traffic are native (easier to
+ observe and secure) and should have the same network processing
+ (network path, quality of service, etc.). Dual stack enables a
+ gradual termination of the IPv4 operations when the IPv6 network is
+ ready for prime time. On the other hand, the operators have to
+ manage two network stacks with the added complexities.
+
+ From an operational security perspective, this now means that the
+ network operator has twice the exposure. One needs to think about
+ protecting both protocols now. At a minimum, the IPv6 portion of a
+ dual-stacked network should be consistent with IPv4 from a security
+ policy point of view. Typically, the following methods are employed
+ to protect IPv4 networks at the edge or security perimeter:
+
+ * ACLs to permit or deny traffic,
+
+ * firewalls with stateful packet inspection, and
+
+ * application firewalls inspecting the application flows.
+
+ It is recommended that these ACLs and/or firewalls be additionally
+ configured to protect IPv6 communications. The enforced IPv6
+ security must be congruent with the IPv4 security policy; otherwise,
+ the attacker will use the protocol version that has the more relaxed
+ security policy. Maintaining the congruence between security
+ policies can be challenging (especially over time); it is recommended
+ to use a firewall or an ACL manager that is dual stack, i.e., a
+ system that can apply a single ACL entry to a mixed group of IPv4 and
+ IPv6 addresses.
+
+ Application firewalls work at the application layer and are oblivious
+ to the IP version, i.e., they work as well for IPv6 as for IPv4 and
+ the same application security policy will work for both protocol
+ versions.
+
+ Also, given the end-to-end connectivity that IPv6 provides, it is
+ recommended that hosts be fortified against threats. General device
+ hardening guidelines are provided in Section 2.8.
+
+ For many years, all host operating systems have IPv6 enabled by
+ default, so it is possible even in an 'IPv4-only' network to attack
+ L2-adjacent victims via their IPv6 link-local address or via a global
+ IPv6 address when the attacker provides rogue RAs or a rogue DHCPv6
+ service.
+
+ [RFC7123] discusses the security implications of native IPv6 support
+ and IPv6 transition/coexistence technologies on 'IPv4-only' networks
+ and describes possible mitigations for the aforementioned issues.
+
+2.7.2. Encapsulation Mechanisms
+
+ There are many tunnels used for specific use cases. Except when
+ protected by IPsec [RFC4301] or alternative tunnel encryption
+ methods, all those tunnels have a number of security issues, as
+ described in [RFC6169]:
+
+ tunnel injection:
+ A malevolent actor knowing a few pieces of information (for
+ example, the tunnel endpoints and the encapsulation protocol) can
+ forge a packet that looks like a legitimate and valid encapsulated
+ packet that will gladly be accepted by the destination tunnel
+ endpoint. This is a specific case of spoofing.
+
+ traffic interception:
+ No confidentiality is provided by the tunnel protocols (without
+ the use of IPsec or alternative encryption methods); therefore,
+ anybody on the tunnel path can intercept the traffic and have
+ access to the cleartext IPv6 packet. Combined with the absence of
+ authentication, an on-path attack can also be mounted.
+
+ service theft:
+ As there is no authorization, even an unauthorized user can use a
+ tunnel relay for free (this is a specific case of tunnel
+ injection).
+
+ reflection attack:
+ Another specific use case of tunnel injection where the attacker
+ injects packets with an IPv4 destination address not matching the
+ IPv6 address causing the first tunnel endpoint to re-encapsulate
+ the packet to the destination. Hence, the final IPv4 destination
+ will not see the original IPv4 address but only the IPv4 address
+ of the relay router.
+
+ bypassing security policy:
+ If a firewall or an Intrusion Prevention System (IPS) is on the
+ path of the tunnel, then it may neither inspect nor detect
+ malevolent IPv6 traffic transmitted over the tunnel.
+
+ To mitigate the bypassing of security policies, it is often
+ recommended to block all automatic tunnels in default OS
+ configuration (if they are not required) by denying IPv4 packets
+ matching:
+
+ IP protocol 41: This will block Intra-Site Automatic Tunnel
+ Addressing Protocol (ISATAP) (Section 2.7.2.2), 6to4
+ (Section 2.7.2.7), 6rd (Section 2.7.2.3), and 6in4
+ (Section 2.7.2.1) tunnels.
+
+ IP protocol 47: This will block GRE (Section 2.7.2.1) tunnels.
+
+ UDP port 3544: This will block the default encapsulation of Teredo
+ (Section 2.7.2.8) tunnels.
+
+ Ingress filtering [RFC2827] should also be applied on all tunnel
+ endpoints, if applicable, to prevent IPv6 address spoofing.
+
+ The reflection attack cited above should also be prevented by using
+ an IPv6 ACL preventing the hair pinning of the traffic.
+
+ As several of the tunnel techniques share the same encapsulation
+ (i.e., IPv4 protocol 41) and embed the IPv4 address in the IPv6
+ address, there are a set of well-known looping attacks described in
+ [RFC6324]. This RFC also proposes mitigation techniques.
+
+2.7.2.1. Site-to-Site Static Tunnels
+
+ Site-to-site static tunnels are described in [RFC2529] and in GRE
+ [RFC2784]. As the IPv4 endpoints are statically configured and are
+ not dynamic, they are slightly more secure (bidirectional service
+ theft is mostly impossible), but traffic interception and tunnel
+ injection are still possible. Therefore, the use of IPsec [RFC4301]
+ in transport mode to protect the encapsulated IPv4 packets is
+ recommended for those tunnels. Alternatively, IPsec in tunnel mode
+ can be used to transport IPv6 traffic over an untrusted IPv4 network.
+
+2.7.2.2. ISATAP
+
+ ISATAP tunnels [RFC5214] are mainly used within a single
+ administrative domain and to connect a single IPv6 host to the IPv6
+ network. This often implies that those systems are usually managed
+ by a single entity; therefore, audit trail and strict anti-spoofing
+ are usually possible, and this raises the overall security. Even if
+ ISATAP is no more often used, its security issues are relevant, per
+ [KRISTOFF].
+
+ Special care must be taken to avoid a looping attack by implementing
+ the measures of [RFC6324] and [RFC6964] (especially in Section 3.6).
+
+ IPsec [RFC4301] in transport or tunnel mode can be used to secure the
+ IPv4 ISATAP traffic to provide IPv6 traffic confidentiality and
+ prevent service theft.
+
+2.7.2.3. 6rd
+
+ While 6rd tunnels share the same encapsulation as 6to4 tunnels
+ (Section 2.7.2.7), they are designed to be used within a single SP
+ domain; in other words, they are deployed in a more constrained
+ environment (e.g., anti-spoofing, protocol 41 filtering at the edge)
+ than 6to4 tunnels and have few security issues other than lack of
+ confidentiality. The security considerations in Section 12 of
+ [RFC5969] describes how to secure 6rd tunnels.
+
+ IPsec [RFC4301] for the transported IPv6 traffic can be used if
+ confidentiality is important.
+
+2.7.2.4. 6PE, 6VPE, and LDPv6
+
+ Organizations using MPLS in their core can also use IPv6 Provider
+ Edge (6PE) [RFC4798] and IPv6 Virtual Private Extension (6VPE)
+ [RFC4659] to enable IPv6 access over MPLS. As 6PE and 6VPE are
+ really similar to BGP/MPLS IP VPNs described in [RFC4364], the
+ security properties of these networks are also similar to those
+ described in [RFC4381] (please note that this RFC may resemble a
+ published IETF work, but it is not based on an IETF review and the
+ IETF disclaims any knowledge of the fitness of this RFC for any
+ purpose). They rely on:
+
+ * address space, routing, and traffic separation with the help of
+ VRFs (only applicable to 6VPE);
+
+ * hiding the IPv4 core, hence, removing all attacks against
+ P-routers; and
+
+ * securing the routing protocol between Customer Edge (CE) and
+ Provider Edge (PE); in the case of 6PE and 6VPE, link-local
+ addresses (see [RFC7404]) can be used, and, as these addresses
+ cannot be reached from outside of the link, the security of 6PE
+ and 6VPE is even higher than an IPv4 BGP/MPLS IP VPN.
+
+ LDPv6 itself does not induce new risks; see [RFC7552].
+
+2.7.2.5. DS-Lite
+
+ Dual-Stack Lite (DS-Lite) is also a translation mechanism and is
+ therefore analyzed further (Section 2.7.3.3) in this document, as it
+ includes IPv4 NAPT.
+
+2.7.2.6. Mapping of Address and Port
+
+ With the encapsulation and translation versions of Mapping of Address
+ and Port (MAP) -- abbreviated MAP-E [RFC7597] and MAP-T [RFC7599] --
+ the access network is purely an IPv6 network, and MAP protocols are
+ used to provide IPv4 hosts on the subscriber network access to IPv4
+ hosts on the Internet. The subscriber router does stateful
+ operations in order to map all internal IPv4 addresses and Layer 4
+ ports to the IPv4 address and the set of Layer 4 ports received
+ through the MAP configuration process. The SP equipment always does
+ stateless operations (either decapsulation or stateless translation).
+ Therefore, as opposed to Section 2.7.3.3, there is no state
+ exhaustion DoS attack against the SP equipment because there is no
+ state and there is no operation caused by a new Layer 4 connection
+ (no logging operation).
+
+ The SP MAP equipment should implement all the security considerations
+ of [RFC7597], notably ensuring that the mapping of the IPv4 address
+ and port are consistent with the configuration. As MAP has a
+ predictable IPv4 address and port mapping, the audit logs are easier
+ to use, as there is a clear mapping between the IPv6 address and the
+ IPv4 address and ports.
+
+2.7.2.7. 6to4
+
+ In [RFC3056], 6to4 tunnels require a public-routable IPv4 address in
+ order to work correctly. They can be used to provide either single
+ IPv6 host connectivity to the IPv6 Internet or multiple IPv6 networks
+ connectivity to the IPv6 Internet. The 6to4 relay was historically
+ the anycast address defined in [RFC3068], which has been deprecated
+ by [RFC7526] and is no longer used by recent Operating Systems. Some
+ security considerations are explained in [RFC3964].
+
+ [RFC6343] points out that if an operator provides well-managed
+ servers and relays for 6to4, nonencapsulated IPv6 packets will pass
+ through well-defined points (the native IPv6 interfaces of those
+ servers and relays) at which security mechanisms may be applied.
+ Client usage of 6to4 by default is now discouraged, and significant
+ precautions are needed to avoid operational problems.
+
+2.7.2.8. Teredo
+
+ Teredo tunnels [RFC4380] are mainly used in a residential environment
+ because Teredo easily traverses an IPv4 NAPT device thanks to its UDP
+ encapsulation. Teredo tunnels connect a single host to the IPv6
+ Internet. Teredo shares the same issues as other tunnels: no
+ authentication, no confidentiality, possible spoofing, and reflection
+ attacks.
+
+ IPsec [RFC4301] for the transported IPv6 traffic is recommended.
+
+ The biggest threat to Teredo is probably for an IPv4-only network, as
+ Teredo has been designed to easily traverse IPv4 NAT-PT devices,
+ which are quite often co-located with a stateful firewall.
+ Therefore, if the stateful IPv4 firewall allows unrestricted UDP
+ outbound and accepts the return UDP traffic, then Teredo actually
+ punches a hole in this firewall for all IPv6 traffic to and from the
+ Internet. Host policies can be deployed to block Teredo in an
+ IPv4-only network in order to avoid this firewall bypass. On the
+ IPv4 firewall, all outbound UDPs should be blocked except for the
+ commonly used services (e.g., port 53 for DNS, port 123 for NTP, port
+ 443 for QUIC, port 500 for Internet Key Exchange Protocol (IKE), port
+ 3478 for Session Traversal Utilities for NAT (STUN), etc.).
+
+ Teredo is now hardly ever used and no longer enabled by default in
+ most environments so it is less of a threat; however, special
+ consideration must be made in cases when devices with older or
+ operating systems that have not been updated may be present and by
+ default were running Teredo.
+
+2.7.3. Translation Mechanisms
+
+ Translation mechanisms between IPv4 and IPv6 networks are alternate
+ coexistence strategies while networks transition to IPv6. While a
+ framework is described in [RFC6144], the specific security
+ considerations are documented with each individual mechanism. For
+ the most part, they specifically mention interference with IPsec or
+ DNSSEC deployments, how to mitigate spoofed traffic, and what some
+ effective filtering strategies may be.
+
+ While not really a transition mechanism to IPv6, this section also
+ includes the discussion about the use of heavy IPv4-to-IPv4 network
+ addresses and port translation to prolong the life of IPv4-only
+ networks.
+
+2.7.3.1. Carrier-Grade NAT (CGN)
+
+ Carrier-Grade NAT (CGN), also called NAT444 CGN or Large-Scale NAT
+ (LSN) or SP NAT, is described in [RFC6264] and is utilized as an
+ interim measure to extend the use of IPv4 in a large service provider
+ network until the provider can deploy an effective IPv6 solution.
+ [RFC6598] requested a specific IANA-allocated /10 IPv4 address block
+ to be used as address space shared by all access networks using CGN.
+ This has been allocated as 100.64.0.0/10.
+
+ Section 13 of [RFC6269] lists some specific security-related issues
+ caused by large-scale address sharing. The Security Considerations
+ section of [RFC6598] also lists some specific mitigation techniques
+ for potential misuse of shared address space. Some law enforcement
+ agencies have identified CGN as impeding their cybercrime
+ investigations (for example, see the Europol press release on CGN
+ [europol-cgn]). Many translation techniques (NAT64, DS-Lite, etc.)
+ have the same security issues as CGN when one part of the connection
+ is IPv4 only.
+
+ [RFC6302] has recommendations for Internet-facing servers to also log
+ the source TCP or UDP ports of incoming connections in an attempt to
+ help identify the users behind such a CGN.
+
+ [RFC7422] suggests the use of deterministic address mapping in order
+ to reduce logging requirements for CGN. The idea is to have a known
+ algorithm for mapping the internal subscriber to/from public TCP and
+ UDP ports.
+
+ [RFC6888] lists common requirements for CGNs. [RFC6967] analyzes
+ some solutions to enforce policies on misbehaving nodes when address
+ sharing is used. [RFC7857] also updates the NAT behavioral
+ requirements.
+
+2.7.3.2. NAT64/DNS64 and 464XLAT
+
+ Stateful NAT64 translation [RFC6146] allows IPv6-only clients to
+ contact IPv4 servers using unicast UDP, TCP, or ICMP. It can be used
+ in conjunction with DNS64 [RFC6147], a mechanism that synthesizes
+ AAAA records from existing A records. There is also a stateless
+ NAT64 [RFC7915], which has similar security aspects but with the
+ added benefit of being stateless and is thereby less prone to a state
+ exhaustion attack.
+
+ The Security Consideration sections of [RFC6146] and [RFC6147] list
+ the comprehensive issues; in Section 8 of [RFC6147], there are some
+ considerations on the interaction between NAT64 and DNSSEC. A
+ specific issue with the use of NAT64 is that it will interfere with
+ most IPsec deployments unless UDP encapsulation is used.
+
+ Another translation mechanism relying on a combination of stateful
+ and stateless translation, 464XLAT [RFC6877], can be used to do a
+ host-local translation from IPv4 to IPv6 and a network provider
+ translation from IPv6 to IPv4, i.e., giving IPv4-only application
+ access to an IPv4-only server over an IPv6-only network. 464XLAT
+ shares the same security considerations as NAT64 and DNS64; however,
+ it can be used without DNS64, avoiding the DNSSEC implications.
+
+2.7.3.3. DS-Lite
+
+ Dual-Stack Lite (DS-Lite) [RFC6333] is a transition technique that
+ enables a service provider to share IPv4 addresses among customers by
+ combining two well-known technologies: IP in IP (IPv4-in-IPv6) and
+ IPv4 NAPT.
+
+ Security considerations, with respect to DS-Lite, mainly revolve
+ around logging data, preventing DoS attacks from rogue devices (as
+ the Address Family Translation Router (AFTR) [RFC6333] function is
+ stateful), and restricting service offered by the AFTR only to
+ registered customers.
+
+ Section 11 of [RFC6333] and Section 2 of [RFC7785] describe important
+ security issues associated with this technology.
+
+2.8. General Device Hardening
+
+ With almost all devices being IPv6 enabled by default and with many
+ endpoints having IPv6 connectivity to the Internet, it is critical to
+ also harden those devices against attacks over IPv6.
+
+ The same techniques used to protect devices against attacks over IPv4
+ should be used for IPv6 and should include but are not limited to:
+
+ * restricting device access to authorized individuals;
+
+ * monitoring and auditing access to the device;
+
+ * turning off any unused services on the end node
+
+ * understanding which IPv6 addresses are being used to source
+ traffic and changing defaults if necessary;
+
+ * using cryptographically protected protocols for device management
+ (Secure Copy Protocol (SCP), SNMPv3, SSH, TLS, etc.);
+
+ * using host firewall capabilities to control traffic that gets
+ processed by upper-layer protocols;
+
+ * applying firmware, OS, and application patches/upgrades to the
+ devices in a timely manner;
+
+ * using multifactor credentials to authenticate to devices; and
+
+ * using virus scanners to detect malicious programs.
+
+3. Enterprises-Specific Security Considerations
+
+ Enterprises [RFC7381] generally have robust network security policies
+ in place to protect existing IPv4 networks. These policies have been
+ distilled from years of experiential knowledge of securing IPv4
+ networks. At the very least, it is recommended that enterprise
+ networks have parity between their security policies for both
+ protocol versions. This section also applies to the enterprise part
+ of all SP networks, i.e., the part of the network where the SP
+ employees are connected.
+
+ Security considerations in the enterprise can be broadly categorized
+ into two groups: external and internal.
+
+3.1. External Security Considerations
+
+ The external aspect deals with providing security at the edge or
+ perimeter of the enterprise network where it meets the service
+ provider's network. This is commonly achieved by enforcing a
+ security policy, either by implementing dedicated firewalls with
+ stateful packet inspection or a router with ACLs. A common default
+ IPv4 policy on firewalls that could easily be ported to IPv6 is to
+ allow all traffic outbound while only allowing specific traffic, such
+ as established sessions, inbound (see [RFC6092]). Section 3.2 of
+ [RFC7381] also provides similar recommendations.
+
+ Here are a few more things that could enhance the default policy:
+
+ * Filter internal-use IPv6 addresses at the perimeter; this will
+ also mitigate the vulnerabilities listed in [RFC7359].
+
+ * Discard packets from and to bogon and reserved space; see [CYMRU]
+ and [RFC8190].
+
+ * Accept certain ICMPv6 messages to allow proper operation of ND and
+ Path MTU Discovery (PMTUD); see [RFC4890] or [REY_PF] for hosts.
+
+ * Based on the use of the network, filter specific extension headers
+ by accepting only the required ones (permit list approach), such
+ as ESP, AH, and not forgetting the required transport layers:
+ ICMP, TCP, UDP, etc. This filtering should be done where
+ applicable at the edge and possibly inside the perimeter; see
+ [IPV6-EH-FILTERING].
+
+ * Filter packets having an illegal IPv6 header chain at the
+ perimeter (and, if possible, inside the network as well); see
+ Section 2.2.
+
+ * Filter unneeded services at the perimeter.
+
+ * Implement ingress and egress anti-spoofing in the forwarding and
+ control planes; see [RFC2827] and [RFC3704].
+
+ * Implement appropriate rate-limiters and control plane policers
+ based on traffic baselines.
+
+ Having global IPv6 addresses on all the enterprise sites is different
+ than in IPv4, where [RFC1918] addresses are often used internally and
+ not routed over the Internet. [RFC7359] and [WEBER_VPN] explain that
+ without careful design, there could be IPv6 leakages from Layer 3
+ VPNs.
+
+3.2. Internal Security Considerations
+
+ The internal aspect deals with providing security inside the
+ perimeter of the network, including end hosts. Internal networks of
+ enterprises are often different, e.g., University campus, wireless
+ guest access, etc., so there is no "one size fits all"
+ recommendation.
+
+ The most significant concerns here are related to Neighbor Discovery.
+ At the network level, it is recommended that all security
+ considerations discussed in Section 2.3 be reviewed carefully and the
+ recommendations be considered in-depth as well. Section 4.1 of
+ [RFC7381] also provides some recommendations.
+
+ As mentioned in Section 2.7.2, care must be taken when running
+ automated IPv6-in-IPv4 tunnels.
+
+ When site-to-site VPNs are used, it should be kept in mind that,
+ given the global scope of IPv6 global addresses as opposed to the
+ common use of IPv4 private address space [RFC1918], sites might be
+ able to communicate with each other over the Internet even when the
+ VPN mechanism is not available. Hence, no traffic encryption is
+ performed and traffic could be injected from the Internet into the
+ site; see [WEBER_VPN]. It is recommended to filter at Internet
+ connection(s) packets having a source or destination address
+ belonging to the site internal prefix or prefixes; this should be
+ done for ingress and egress traffic.
+
+ Hosts need to be hardened directly through security policy to protect
+ against security threats. The host firewall default capabilities
+ have to be clearly understood. In some cases, third-party firewalls
+ have no IPv6 support, whereas the native firewall installed by
+ default has IPv6 support. General device hardening guidelines are
+ provided in Section 2.8.
+
+ It should also be noted that many hosts still use IPv4 for
+ transporting logs for RADIUS, DIAMETER, TACACS+, syslog, etc.
+ Operators cannot rely on an IPv6-only security policy to secure such
+ protocols that are still using IPv4.
+
+4. Service Provider Security Considerations
+
+4.1. BGP
+
+ The threats and mitigation techniques are identical between IPv4 and
+ IPv6. Broadly speaking, they are:
+
+ * authenticating the TCP session;
+
+ * TTL security (which becomes hop-limit security in IPv6), as in
+ [RFC5082];
+
+ * bogon AS filtering; see [CYMRU]; and
+
+ * prefix filtering.
+
+ These are explained in more detail in Section 2.5. Also, the
+ recommendations of [RFC7454] should be considered.
+
+4.1.1. Remote Triggered Black Hole Filtering
+
+ A Remote Triggered Black Hole (RTBH) [RFC5635] works identically in
+ IPv4 and IPv6. IANA has allocated the 100::/64 prefix to be used as
+ the discard prefix [RFC6666].
+
+4.2. Transition/Coexistence Mechanism
+
+ SPs will typically use transition mechanisms, such as 6rd, 6PE, MAP,
+ and NAT64, which have been analyzed in the transition and coexistence
+ (Section 2.7).
+
+4.3. Lawful Intercept
+
+ The lawful intercept requirements are similar for IPv6 and IPv4
+ architectures and will be subject to the laws enforced in different
+ geographic regions. The local issues with each jurisdiction can make
+ this challenging and both corporate legal and privacy personnel
+ should be involved in discussions pertaining to what information gets
+ logged and with regard to the respective log retention policies for
+ this information.
+
+ The target of interception will usually be a residential subscriber
+ (e.g., his/her PPP session, physical line, or CPE MAC address). In
+ the absence of IPv6 NAT on the CPE, IPv6 has the possibility to allow
+ for intercepting the traffic from a single host (i.e., a /128 target)
+ rather than the whole set of hosts of a subscriber (which could be a
+ /48, /60, or /64).
+
+ In contrast, in mobile environments, since the 3GPP specifications
+ allocate a /64 per device, it may be sufficient to intercept traffic
+ from the /64 rather than specific /128s (since each time the device
+ establishes a data connection, it gets a new IID).
+
+5. Residential Users Security Considerations
+
+ The IETF Home Networking (homenet) Working Group is working on
+ standards and guidelines for IPv6 residential networks; this
+ obviously includes operational security considerations, but this is
+ still a work in progress. [RFC8520] is an interesting approach on
+ how firewalls could retrieve and apply specific security policies to
+ some residential devices.
+
+ Some residential users have less experience and knowledge about
+ security or networking than experimented operators. As most of the
+ recent hosts (e.g., smartphones and tablets) have IPv6 enabled by
+ default, IPv6 security is important for those users. Even with an
+ IPv4-only ISP, those users can get IPv6 Internet access with the help
+ of Teredo (Section 2.7.2.8) tunnels. Several peer-to-peer programs
+ support IPv6, and those programs can initiate a Teredo tunnel through
+ an IPv4 residential gateway, with the consequence of making the
+ internal host reachable from any IPv6 host on the Internet.
+ Therefore, it is recommended that all host security products
+ (including personal firewalls) are configured with a dual-stack
+ security policy.
+
+ If the residential CPE has IPv6 connectivity, [RFC7084] defines the
+ requirements of an IPv6 CPE and does not take a position on the
+ debate of default IPv6 security policy, as defined in [RFC6092]:
+
+ outbound only:
+ Allowing all internally initiated connections and blocking all
+ externally initiated ones, which is a common default security
+ policy enforced by IPv4 residential gateway doing NAPT, but it
+ also breaks the end-to-end reachability promise of IPv6.
+ [RFC6092] lists several recommendations to design such a CPE.
+
+ open/transparent:
+ Allowing all internally and externally initiated connections,
+ therefore, restoring the end-to-end nature of the Internet for
+ IPv6 traffic but having a different security policy for IPv6 than
+ for IPv4.
+
+ REC-49 states that a choice must be given to the user to select one
+ of those two policies [RFC6092].
+
+6. Further Reading
+
+ There are several documents that describe in more detail the security
+ of an IPv6 network; these documents are not written by the IETF and
+ some of them are dated but are listed here for the reader's
+ convenience:
+
+ * Guidelines for the Secure Deployment of IPv6 [NIST]
+
+ * North American IPv6 Task Force Technology Report - IPv6 Security
+ Technology Paper [NAv6TF_Security]
+
+ * IPv6 Security [IPv6_Security_Book]
+
+7. Security Considerations
+
+ This memo attempts to give an overview of security considerations of
+ operating an IPv6 network both for an IPv6-only network and for
+ networks utilizing the most widely deployed IPv4/IPv6 coexistence
+ strategies.
+
+8. IANA Considerations
+
+ This document has no IANA actions.
+
+9. References
+
+9.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", STD 86, RFC 8200,
+ DOI 10.17487/RFC8200, July 2017,
+ <https://www.rfc-editor.org/info/rfc8200>.
+
+9.2. Informative References
+
+ [CYMRU] Team Cymru, "The Bogon Reference", <https://team-
+ cymru.com/community-services/bogon-reference/>.
+
+ [ENTROPYIP]
+ Foremski, P., Plonka, D., and A. Berger, "Entropy/IP:
+ Uncovering Structure in IPv6 Addresses", November 2016,
+ <http://www.entropy-ip.com/>.
+
+ [europol-cgn]
+ Europol, "Are you sharing the same IP address as a
+ criminal? Law enforcement call for the end of Carrier
+ Grade Nat (CGN) to increase accountability online",
+ October 2017,
+ <https://www.europol.europa.eu/newsroom/news/are-you-
+ sharing-same-ip-address-criminal-law-enforcement-call-for-
+ end-of-carrier-grade-nat-cgn-to-increase-accountability-
+ online>.
+
+ [GDPR] European Union, "Regulation (EU) 2016/679 of the European
+ Parliament and of the Council of 27 April 2016 on the
+ protection of natural persons with regard to the
+ processing of personal data and on the free movement of
+ such data, and repealing Directive 95/46/EC (General Data
+ Protection Regulation)", Official Journal of the European
+ Union, April 2016,
+ <https://eur-lex.europa.eu/eli/reg/2016/679/oj>.
+
+ [IANA-IPFIX]
+ IANA, "IP Flow Information Export (IPFIX) Entities",
+ <http://www.iana.org/assignments/ipfix>.
+
+ [IEEE-802.1X]
+ IEEE, "IEEE Standard for Local and Metropolitan Area
+ Networks--Port-Based Network Access Control", IEEE Std
+ 802.1X-2020, February 2020.
+
+ [IPV6-EH-FILTERING]
+ Gont, F. and W. Liu, "Recommendations on the Filtering of
+ IPv6 Packets Containing IPv6 Extension Headers at Transit
+ Routers", Work in Progress, Internet-Draft, draft-ietf-
+ opsec-ipv6-eh-filtering-08, 3 June 2021,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-opsec-
+ ipv6-eh-filtering-08>.
+
+ [IPV6-EH-PARSING]
+ Kampanakis, P., "Implementation Guidelines for parsing
+ IPv6 Extension Headers", Work in Progress, Internet-Draft,
+ draft-kampanakis-6man-ipv6-eh-parsing-01, 5 August 2014,
+ <https://datatracker.ietf.org/doc/html/draft-kampanakis-
+ 6man-ipv6-eh-parsing-01>.
+
+ [IPv6_Security_Book]
+ Hogg, S. and É. Vyncke, "IPv6 Security", CiscoPress,
+ ISBN 1587055945, December 2008.
+
+ [KRISTOFF] Kristoff, J., Ghasemisharif, M., Kanich, C., and J.
+ Polakis, "Plight at the End of the Tunnel: Legacy IPv6
+ Transition Mechanisms in the Wild", March 2021,
+ <https://dataplane.org/jtk/publications/kgkp-pam-21.pdf>.
+
+ [NAv6TF_Security]
+ Kaeo, M., Green, D., Bound, J., and Y. Pouffary, "North
+ American IPv6 Task Force (NAv6TF) Technology Report "IPv6
+ Security Technology Paper", July 2006,
+ <http://www.ipv6forum.com/dl/white/
+ NAv6TF_Security_Report.pdf>.
+
+ [NIST] Frankel, S., Graveman, R., Pearce, J., and M. Rooks,
+ "Guidelines for the Secure Deployment of IPv6", December
+ 2010, <http://csrc.nist.gov/publications/nistpubs/800-119/
+ sp800-119.pdf>.
+
+ [RADB] Merit Network, Inc., "RADb: The Internet Routing
+ Registry", <https://www.radb.net/>.
+
+ [REY_PF] Rey, E., "Local Packet Filtering with IPv6", July 2017,
+ <https://labs.ripe.net/Members/enno_rey/local-packet-
+ filtering-with-ipv6>.
+
+ [RFC0826] Plummer, D., "An Ethernet Address Resolution Protocol: Or
+ Converting Network Protocol Addresses to 48.bit Ethernet
+ Address for Transmission on Ethernet Hardware", STD 37,
+ RFC 826, DOI 10.17487/RFC0826, November 1982,
+ <https://www.rfc-editor.org/info/rfc826>.
+
+ [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.
+ J., and E. Lear, "Address Allocation for Private
+ Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918,
+ February 1996, <https://www.rfc-editor.org/info/rfc1918>.
+
+ [RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
+ RFC 2131, DOI 10.17487/RFC2131, March 1997,
+ <https://www.rfc-editor.org/info/rfc2131>.
+
+ [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
+ December 1998, <https://www.rfc-editor.org/info/rfc2460>.
+
+ [RFC2529] Carpenter, B. and C. Jung, "Transmission of IPv6 over IPv4
+ Domains without Explicit Tunnels", RFC 2529,
+ DOI 10.17487/RFC2529, March 1999,
+ <https://www.rfc-editor.org/info/rfc2529>.
+
+ [RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address
+ Translator (NAT) Terminology and Considerations",
+ RFC 2663, DOI 10.17487/RFC2663, August 1999,
+ <https://www.rfc-editor.org/info/rfc2663>.
+
+ [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
+ Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
+ DOI 10.17487/RFC2784, March 2000,
+ <https://www.rfc-editor.org/info/rfc2784>.
+
+ [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
+ Defeating Denial of Service Attacks which employ IP Source
+ Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827,
+ May 2000, <https://www.rfc-editor.org/info/rfc2827>.
+
+ [RFC2866] Rigney, C., "RADIUS Accounting", RFC 2866,
+ DOI 10.17487/RFC2866, June 2000,
+ <https://www.rfc-editor.org/info/rfc2866>.
+
+ [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6 Domains
+ via IPv4 Clouds", RFC 3056, DOI 10.17487/RFC3056, February
+ 2001, <https://www.rfc-editor.org/info/rfc3056>.
+
+ [RFC3068] Huitema, C., "An Anycast Prefix for 6to4 Relay Routers",
+ RFC 3068, DOI 10.17487/RFC3068, June 2001,
+ <https://www.rfc-editor.org/info/rfc3068>.
+
+ [RFC3627] Savola, P., "Use of /127 Prefix Length Between Routers
+ Considered Harmful", RFC 3627, DOI 10.17487/RFC3627,
+ September 2003, <https://www.rfc-editor.org/info/rfc3627>.
+
+ [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
+ Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March
+ 2004, <https://www.rfc-editor.org/info/rfc3704>.
+
+ [RFC3756] Nikander, P., Ed., Kempf, J., and E. Nordmark, "IPv6
+ Neighbor Discovery (ND) Trust Models and Threats",
+ RFC 3756, DOI 10.17487/RFC3756, May 2004,
+ <https://www.rfc-editor.org/info/rfc3756>.
+
+ [RFC3964] Savola, P. and C. Patel, "Security Considerations for
+ 6to4", RFC 3964, DOI 10.17487/RFC3964, December 2004,
+ <https://www.rfc-editor.org/info/rfc3964>.
+
+ [RFC3971] Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander,
+ "SEcure Neighbor Discovery (SEND)", RFC 3971,
+ DOI 10.17487/RFC3971, March 2005,
+ <https://www.rfc-editor.org/info/rfc3971>.
+
+ [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
+ RFC 3972, DOI 10.17487/RFC3972, March 2005,
+ <https://www.rfc-editor.org/info/rfc3972>.
+
+ [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
+ Rose, "DNS Security Introduction and Requirements",
+ RFC 4033, DOI 10.17487/RFC4033, March 2005,
+ <https://www.rfc-editor.org/info/rfc4033>.
+
+ [RFC4107] Bellovin, S. and R. Housley, "Guidelines for Cryptographic
+ Key Management", BCP 107, RFC 4107, DOI 10.17487/RFC4107,
+ June 2005, <https://www.rfc-editor.org/info/rfc4107>.
+
+ [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
+ Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005,
+ <https://www.rfc-editor.org/info/rfc4193>.
+
+ [RFC4293] Routhier, S., Ed., "Management Information Base for the
+ Internet Protocol (IP)", RFC 4293, DOI 10.17487/RFC4293,
+ April 2006, <https://www.rfc-editor.org/info/rfc4293>.
+
+ [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
+ Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
+ December 2005, <https://www.rfc-editor.org/info/rfc4301>.
+
+ [RFC4302] Kent, S., "IP Authentication Header", RFC 4302,
+ DOI 10.17487/RFC4302, December 2005,
+ <https://www.rfc-editor.org/info/rfc4302>.
+
+ [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
+ RFC 4303, DOI 10.17487/RFC4303, December 2005,
+ <https://www.rfc-editor.org/info/rfc4303>.
+
+ [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
+ Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
+ 2006, <https://www.rfc-editor.org/info/rfc4364>.
+
+ [RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
+ Network Address Translations (NATs)", RFC 4380,
+ DOI 10.17487/RFC4380, February 2006,
+ <https://www.rfc-editor.org/info/rfc4380>.
+
+ [RFC4381] Behringer, M., "Analysis of the Security of BGP/MPLS IP
+ Virtual Private Networks (VPNs)", RFC 4381,
+ DOI 10.17487/RFC4381, February 2006,
+ <https://www.rfc-editor.org/info/rfc4381>.
+
+ [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet
+ Control Message Protocol (ICMPv6) for the Internet
+ Protocol Version 6 (IPv6) Specification", STD 89,
+ RFC 4443, DOI 10.17487/RFC4443, March 2006,
+ <https://www.rfc-editor.org/info/rfc4443>.
+
+ [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality
+ for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006,
+ <https://www.rfc-editor.org/info/rfc4552>.
+
+ [RFC4649] Volz, B., "Dynamic Host Configuration Protocol for IPv6
+ (DHCPv6) Relay Agent Remote-ID Option", RFC 4649,
+ DOI 10.17487/RFC4649, August 2006,
+ <https://www.rfc-editor.org/info/rfc4649>.
+
+ [RFC4659] De Clercq, J., Ooms, D., Carugi, M., and F. Le Faucheur,
+ "BGP-MPLS IP Virtual Private Network (VPN) Extension for
+ IPv6 VPN", RFC 4659, DOI 10.17487/RFC4659, September 2006,
+ <https://www.rfc-editor.org/info/rfc4659>.
+
+ [RFC4795] Aboba, B., Thaler, D., and L. Esibov, "Link-local
+ Multicast Name Resolution (LLMNR)", RFC 4795,
+ DOI 10.17487/RFC4795, January 2007,
+ <https://www.rfc-editor.org/info/rfc4795>.
+
+ [RFC4798] De Clercq, J., Ooms, D., Prevost, S., and F. Le Faucheur,
+ "Connecting IPv6 Islands over IPv4 MPLS Using IPv6
+ Provider Edge Routers (6PE)", RFC 4798,
+ DOI 10.17487/RFC4798, February 2007,
+ <https://www.rfc-editor.org/info/rfc4798>.
+
+ [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
+ "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
+ DOI 10.17487/RFC4861, September 2007,
+ <https://www.rfc-editor.org/info/rfc4861>.
+
+ [RFC4864] Van de Velde, G., Hain, T., Droms, R., Carpenter, B., and
+ E. Klein, "Local Network Protection for IPv6", RFC 4864,
+ DOI 10.17487/RFC4864, May 2007,
+ <https://www.rfc-editor.org/info/rfc4864>.
+
+ [RFC4890] Davies, E. and J. Mohacsi, "Recommendations for Filtering
+ ICMPv6 Messages in Firewalls", RFC 4890,
+ DOI 10.17487/RFC4890, May 2007,
+ <https://www.rfc-editor.org/info/rfc4890>.
+
+ [RFC4942] Davies, E., Krishnan, S., and P. Savola, "IPv6 Transition/
+ Co-existence Security Considerations", RFC 4942,
+ DOI 10.17487/RFC4942, September 2007,
+ <https://www.rfc-editor.org/info/rfc4942>.
+
+ [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C.
+ Pignataro, "The Generalized TTL Security Mechanism
+ (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007,
+ <https://www.rfc-editor.org/info/rfc5082>.
+
+ [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site
+ Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214,
+ DOI 10.17487/RFC5214, March 2008,
+ <https://www.rfc-editor.org/info/rfc5214>.
+
+ [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
+ for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
+ <https://www.rfc-editor.org/info/rfc5340>.
+
+ [RFC5635] Kumari, W. and D. McPherson, "Remote Triggered Black Hole
+ Filtering with Unicast Reverse Path Forwarding (uRPF)",
+ RFC 5635, DOI 10.17487/RFC5635, August 2009,
+ <https://www.rfc-editor.org/info/rfc5635>.
+
+ [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6
+ Address Text Representation", RFC 5952,
+ DOI 10.17487/RFC5952, August 2010,
+ <https://www.rfc-editor.org/info/rfc5952>.
+
+ [RFC5969] Townsley, W. and O. Troan, "IPv6 Rapid Deployment on IPv4
+ Infrastructures (6rd) -- Protocol Specification",
+ RFC 5969, DOI 10.17487/RFC5969, August 2010,
+ <https://www.rfc-editor.org/info/rfc5969>.
+
+ [RFC6092] Woodyatt, J., Ed., "Recommended Simple Security
+ Capabilities in Customer Premises Equipment (CPE) for
+ Providing Residential IPv6 Internet Service", RFC 6092,
+ DOI 10.17487/RFC6092, January 2011,
+ <https://www.rfc-editor.org/info/rfc6092>.
+
+ [RFC6104] Chown, T. and S. Venaas, "Rogue IPv6 Router Advertisement
+ Problem Statement", RFC 6104, DOI 10.17487/RFC6104,
+ February 2011, <https://www.rfc-editor.org/info/rfc6104>.
+
+ [RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J.
+ Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105,
+ DOI 10.17487/RFC6105, February 2011,
+ <https://www.rfc-editor.org/info/rfc6105>.
+
+ [RFC6144] Baker, F., Li, X., Bao, C., and K. Yin, "Framework for
+ IPv4/IPv6 Translation", RFC 6144, DOI 10.17487/RFC6144,
+ April 2011, <https://www.rfc-editor.org/info/rfc6144>.
+
+ [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
+ NAT64: Network Address and Protocol Translation from IPv6
+ Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146,
+ April 2011, <https://www.rfc-editor.org/info/rfc6146>.
+
+ [RFC6147] Bagnulo, M., Sullivan, A., Matthews, P., and I. van
+ Beijnum, "DNS64: DNS Extensions for Network Address
+ Translation from IPv6 Clients to IPv4 Servers", RFC 6147,
+ DOI 10.17487/RFC6147, April 2011,
+ <https://www.rfc-editor.org/info/rfc6147>.
+
+ [RFC6164] Kohno, M., Nitzan, B., Bush, R., Matsuzaki, Y., Colitti,
+ L., and T. Narten, "Using 127-Bit IPv6 Prefixes on Inter-
+ Router Links", RFC 6164, DOI 10.17487/RFC6164, April 2011,
+ <https://www.rfc-editor.org/info/rfc6164>.
+
+ [RFC6169] Krishnan, S., Thaler, D., and J. Hoagland, "Security
+ Concerns with IP Tunneling", RFC 6169,
+ DOI 10.17487/RFC6169, April 2011,
+ <https://www.rfc-editor.org/info/rfc6169>.
+
+ [RFC6177] Narten, T., Huston, G., and L. Roberts, "IPv6 Address
+ Assignment to End Sites", BCP 157, RFC 6177,
+ DOI 10.17487/RFC6177, March 2011,
+ <https://www.rfc-editor.org/info/rfc6177>.
+
+ [RFC6192] Dugal, D., Pignataro, C., and R. Dunn, "Protecting the
+ Router Control Plane", RFC 6192, DOI 10.17487/RFC6192,
+ March 2011, <https://www.rfc-editor.org/info/rfc6192>.
+
+ [RFC6221] Miles, D., Ed., Ooghe, S., Dec, W., Krishnan, S., and A.
+ Kavanagh, "Lightweight DHCPv6 Relay Agent", RFC 6221,
+ DOI 10.17487/RFC6221, May 2011,
+ <https://www.rfc-editor.org/info/rfc6221>.
+
+ [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
+ and A. Bierman, Ed., "Network Configuration Protocol
+ (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
+ <https://www.rfc-editor.org/info/rfc6241>.
+
+ [RFC6264] Jiang, S., Guo, D., and B. Carpenter, "An Incremental
+ Carrier-Grade NAT (CGN) for IPv6 Transition", RFC 6264,
+ DOI 10.17487/RFC6264, June 2011,
+ <https://www.rfc-editor.org/info/rfc6264>.
+
+ [RFC6269] Ford, M., Ed., Boucadair, M., Durand, A., Levis, P., and
+ P. Roberts, "Issues with IP Address Sharing", RFC 6269,
+ DOI 10.17487/RFC6269, June 2011,
+ <https://www.rfc-editor.org/info/rfc6269>.
+
+ [RFC6296] Wasserman, M. and F. Baker, "IPv6-to-IPv6 Network Prefix
+ Translation", RFC 6296, DOI 10.17487/RFC6296, June 2011,
+ <https://www.rfc-editor.org/info/rfc6296>.
+
+ [RFC6302] Durand, A., Gashinsky, I., Lee, D., and S. Sheppard,
+ "Logging Recommendations for Internet-Facing Servers",
+ BCP 162, RFC 6302, DOI 10.17487/RFC6302, June 2011,
+ <https://www.rfc-editor.org/info/rfc6302>.
+
+ [RFC6324] Nakibly, G. and F. Templin, "Routing Loop Attack Using
+ IPv6 Automatic Tunnels: Problem Statement and Proposed
+ Mitigations", RFC 6324, DOI 10.17487/RFC6324, August 2011,
+ <https://www.rfc-editor.org/info/rfc6324>.
+
+ [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
+ Stack Lite Broadband Deployments Following IPv4
+ Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
+ <https://www.rfc-editor.org/info/rfc6333>.
+
+ [RFC6343] Carpenter, B., "Advisory Guidelines for 6to4 Deployment",
+ RFC 6343, DOI 10.17487/RFC6343, August 2011,
+ <https://www.rfc-editor.org/info/rfc6343>.
+
+ [RFC6434] Jankiewicz, E., Loughney, J., and T. Narten, "IPv6 Node
+ Requirements", RFC 6434, DOI 10.17487/RFC6434, December
+ 2011, <https://www.rfc-editor.org/info/rfc6434>.
+
+ [RFC6459] Korhonen, J., Ed., Soininen, J., Patil, B., Savolainen,
+ T., Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation
+ Partnership Project (3GPP) Evolved Packet System (EPS)",
+ RFC 6459, DOI 10.17487/RFC6459, January 2012,
+ <https://www.rfc-editor.org/info/rfc6459>.
+
+ [RFC6547] George, W., "RFC 3627 to Historic Status", RFC 6547,
+ DOI 10.17487/RFC6547, February 2012,
+ <https://www.rfc-editor.org/info/rfc6547>.
+
+ [RFC6564] Krishnan, S., Woodyatt, J., Kline, E., Hoagland, J., and
+ M. Bhatia, "A Uniform Format for IPv6 Extension Headers",
+ RFC 6564, DOI 10.17487/RFC6564, April 2012,
+ <https://www.rfc-editor.org/info/rfc6564>.
+
+ [RFC6583] Gashinsky, I., Jaeggli, J., and W. Kumari, "Operational
+ Neighbor Discovery Problems", RFC 6583,
+ DOI 10.17487/RFC6583, March 2012,
+ <https://www.rfc-editor.org/info/rfc6583>.
+
+ [RFC6598] Weil, J., Kuarsingh, V., Donley, C., Liljenstolpe, C., and
+ M. Azinger, "IANA-Reserved IPv4 Prefix for Shared Address
+ Space", BCP 153, RFC 6598, DOI 10.17487/RFC6598, April
+ 2012, <https://www.rfc-editor.org/info/rfc6598>.
+
+ [RFC6620] Nordmark, E., Bagnulo, M., and E. Levy-Abegnoli, "FCFS
+ SAVI: First-Come, First-Served Source Address Validation
+ Improvement for Locally Assigned IPv6 Addresses",
+ RFC 6620, DOI 10.17487/RFC6620, May 2012,
+ <https://www.rfc-editor.org/info/rfc6620>.
+
+ [RFC6666] Hilliard, N. and D. Freedman, "A Discard Prefix for IPv6",
+ RFC 6666, DOI 10.17487/RFC6666, August 2012,
+ <https://www.rfc-editor.org/info/rfc6666>.
+
+ [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762,
+ DOI 10.17487/RFC6762, February 2013,
+ <https://www.rfc-editor.org/info/rfc6762>.
+
+ [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service
+ Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013,
+ <https://www.rfc-editor.org/info/rfc6763>.
+
+ [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C.
+ Bormann, "Neighbor Discovery Optimization for IPv6 over
+ Low-Power Wireless Personal Area Networks (6LoWPANs)",
+ RFC 6775, DOI 10.17487/RFC6775, November 2012,
+ <https://www.rfc-editor.org/info/rfc6775>.
+
+ [RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT:
+ Combination of Stateful and Stateless Translation",
+ RFC 6877, DOI 10.17487/RFC6877, April 2013,
+ <https://www.rfc-editor.org/info/rfc6877>.
+
+ [RFC6888] Perreault, S., Ed., Yamagata, I., Miyakawa, S., Nakagawa,
+ A., and H. Ashida, "Common Requirements for Carrier-Grade
+ NATs (CGNs)", BCP 127, RFC 6888, DOI 10.17487/RFC6888,
+ April 2013, <https://www.rfc-editor.org/info/rfc6888>.
+
+ [RFC6939] Halwasia, G., Bhandari, S., and W. Dec, "Client Link-Layer
+ Address Option in DHCPv6", RFC 6939, DOI 10.17487/RFC6939,
+ May 2013, <https://www.rfc-editor.org/info/rfc6939>.
+
+ [RFC6964] Templin, F., "Operational Guidance for IPv6 Deployment in
+ IPv4 Sites Using the Intra-Site Automatic Tunnel
+ Addressing Protocol (ISATAP)", RFC 6964,
+ DOI 10.17487/RFC6964, May 2013,
+ <https://www.rfc-editor.org/info/rfc6964>.
+
+ [RFC6967] Boucadair, M., Touch, J., Levis, P., and R. Penno,
+ "Analysis of Potential Solutions for Revealing a Host
+ Identifier (HOST_ID) in Shared Address Deployments",
+ RFC 6967, DOI 10.17487/RFC6967, June 2013,
+ <https://www.rfc-editor.org/info/rfc6967>.
+
+ [RFC6980] Gont, F., "Security Implications of IPv6 Fragmentation
+ with IPv6 Neighbor Discovery", RFC 6980,
+ DOI 10.17487/RFC6980, August 2013,
+ <https://www.rfc-editor.org/info/rfc6980>.
+
+ [RFC7010] Liu, B., Jiang, S., Carpenter, B., Venaas, S., and W.
+ George, "IPv6 Site Renumbering Gap Analysis", RFC 7010,
+ DOI 10.17487/RFC7010, September 2013,
+ <https://www.rfc-editor.org/info/rfc7010>.
+
+ [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
+ "Specification of the IP Flow Information Export (IPFIX)
+ Protocol for the Exchange of Flow Information", STD 77,
+ RFC 7011, DOI 10.17487/RFC7011, September 2013,
+ <https://www.rfc-editor.org/info/rfc7011>.
+
+ [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model
+ for IP Flow Information Export (IPFIX)", RFC 7012,
+ DOI 10.17487/RFC7012, September 2013,
+ <https://www.rfc-editor.org/info/rfc7012>.
+
+ [RFC7039] Wu, J., Bi, J., Bagnulo, M., Baker, F., and C. Vogt, Ed.,
+ "Source Address Validation Improvement (SAVI) Framework",
+ RFC 7039, DOI 10.17487/RFC7039, October 2013,
+ <https://www.rfc-editor.org/info/rfc7039>.
+
+ [RFC7045] Carpenter, B. and S. Jiang, "Transmission and Processing
+ of IPv6 Extension Headers", RFC 7045,
+ DOI 10.17487/RFC7045, December 2013,
+ <https://www.rfc-editor.org/info/rfc7045>.
+
+ [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic
+ Requirements for IPv6 Customer Edge Routers", RFC 7084,
+ DOI 10.17487/RFC7084, November 2013,
+ <https://www.rfc-editor.org/info/rfc7084>.
+
+ [RFC7112] Gont, F., Manral, V., and R. Bonica, "Implications of
+ Oversized IPv6 Header Chains", RFC 7112,
+ DOI 10.17487/RFC7112, January 2014,
+ <https://www.rfc-editor.org/info/rfc7112>.
+
+ [RFC7113] Gont, F., "Implementation Advice for IPv6 Router
+ Advertisement Guard (RA-Guard)", RFC 7113,
+ DOI 10.17487/RFC7113, February 2014,
+ <https://www.rfc-editor.org/info/rfc7113>.
+
+ [RFC7123] Gont, F. and W. Liu, "Security Implications of IPv6 on
+ IPv4 Networks", RFC 7123, DOI 10.17487/RFC7123, February
+ 2014, <https://www.rfc-editor.org/info/rfc7123>.
+
+ [RFC7166] Bhatia, M., Manral, V., and A. Lindem, "Supporting
+ Authentication Trailer for OSPFv3", RFC 7166,
+ DOI 10.17487/RFC7166, March 2014,
+ <https://www.rfc-editor.org/info/rfc7166>.
+
+ [RFC7217] Gont, F., "A Method for Generating Semantically Opaque
+ Interface Identifiers with IPv6 Stateless Address
+ Autoconfiguration (SLAAC)", RFC 7217,
+ DOI 10.17487/RFC7217, April 2014,
+ <https://www.rfc-editor.org/info/rfc7217>.
+
+ [RFC7359] Gont, F., "Layer 3 Virtual Private Network (VPN) Tunnel
+ Traffic Leakages in Dual-Stack Hosts/Networks", RFC 7359,
+ DOI 10.17487/RFC7359, August 2014,
+ <https://www.rfc-editor.org/info/rfc7359>.
+
+ [RFC7381] Chittimaneni, K., Chown, T., Howard, L., Kuarsingh, V.,
+ Pouffary, Y., and E. Vyncke, "Enterprise IPv6 Deployment
+ Guidelines", RFC 7381, DOI 10.17487/RFC7381, October 2014,
+ <https://www.rfc-editor.org/info/rfc7381>.
+
+ [RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local
+ Addressing inside an IPv6 Network", RFC 7404,
+ DOI 10.17487/RFC7404, November 2014,
+ <https://www.rfc-editor.org/info/rfc7404>.
+
+ [RFC7422] Donley, C., Grundemann, C., Sarawat, V., Sundaresan, K.,
+ and O. Vautrin, "Deterministic Address Mapping to Reduce
+ Logging in Carrier-Grade NAT Deployments", RFC 7422,
+ DOI 10.17487/RFC7422, December 2014,
+ <https://www.rfc-editor.org/info/rfc7422>.
+
+ [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
+ and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
+ February 2015, <https://www.rfc-editor.org/info/rfc7454>.
+
+ [RFC7513] Bi, J., Wu, J., Yao, G., and F. Baker, "Source Address
+ Validation Improvement (SAVI) Solution for DHCP",
+ RFC 7513, DOI 10.17487/RFC7513, May 2015,
+ <https://www.rfc-editor.org/info/rfc7513>.
+
+ [RFC7526] Troan, O. and B. Carpenter, Ed., "Deprecating the Anycast
+ Prefix for 6to4 Relay Routers", BCP 196, RFC 7526,
+ DOI 10.17487/RFC7526, May 2015,
+ <https://www.rfc-editor.org/info/rfc7526>.
+
+ [RFC7552] Asati, R., Pignataro, C., Raza, K., Manral, V., and R.
+ Papneja, "Updates to LDP for IPv6", RFC 7552,
+ DOI 10.17487/RFC7552, June 2015,
+ <https://www.rfc-editor.org/info/rfc7552>.
+
+ [RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S.,
+ Murakami, T., and T. Taylor, Ed., "Mapping of Address and
+ Port with Encapsulation (MAP-E)", RFC 7597,
+ DOI 10.17487/RFC7597, July 2015,
+ <https://www.rfc-editor.org/info/rfc7597>.
+
+ [RFC7599] Li, X., Bao, C., Dec, W., Ed., Troan, O., Matsushima, S.,
+ and T. Murakami, "Mapping of Address and Port using
+ Translation (MAP-T)", RFC 7599, DOI 10.17487/RFC7599, July
+ 2015, <https://www.rfc-editor.org/info/rfc7599>.
+
+ [RFC7610] Gont, F., Liu, W., and G. Van de Velde, "DHCPv6-Shield:
+ Protecting against Rogue DHCPv6 Servers", BCP 199,
+ RFC 7610, DOI 10.17487/RFC7610, August 2015,
+ <https://www.rfc-editor.org/info/rfc7610>.
+
+ [RFC7707] Gont, F. and T. Chown, "Network Reconnaissance in IPv6
+ Networks", RFC 7707, DOI 10.17487/RFC7707, March 2016,
+ <https://www.rfc-editor.org/info/rfc7707>.
+
+ [RFC7721] Cooper, A., Gont, F., and D. Thaler, "Security and Privacy
+ Considerations for IPv6 Address Generation Mechanisms",
+ RFC 7721, DOI 10.17487/RFC7721, March 2016,
+ <https://www.rfc-editor.org/info/rfc7721>.
+
+ [RFC7772] Yourtchenko, A. and L. Colitti, "Reducing Energy
+ Consumption of Router Advertisements", BCP 202, RFC 7772,
+ DOI 10.17487/RFC7772, February 2016,
+ <https://www.rfc-editor.org/info/rfc7772>.
+
+ [RFC7785] Vinapamula, S. and M. Boucadair, "Recommendations for
+ Prefix Binding in the Context of Softwire Dual-Stack
+ Lite", RFC 7785, DOI 10.17487/RFC7785, February 2016,
+ <https://www.rfc-editor.org/info/rfc7785>.
+
+ [RFC7824] Krishnan, S., Mrugalski, T., and S. Jiang, "Privacy
+ Considerations for DHCPv6", RFC 7824,
+ DOI 10.17487/RFC7824, May 2016,
+ <https://www.rfc-editor.org/info/rfc7824>.
+
+ [RFC7844] Huitema, C., Mrugalski, T., and S. Krishnan, "Anonymity
+ Profiles for DHCP Clients", RFC 7844,
+ DOI 10.17487/RFC7844, May 2016,
+ <https://www.rfc-editor.org/info/rfc7844>.
+
+ [RFC7857] Penno, R., Perreault, S., Boucadair, M., Ed., Sivakumar,
+ S., and K. Naito, "Updates to Network Address Translation
+ (NAT) Behavioral Requirements", BCP 127, RFC 7857,
+ DOI 10.17487/RFC7857, April 2016,
+ <https://www.rfc-editor.org/info/rfc7857>.
+
+ [RFC7872] Gont, F., Linkova, J., Chown, T., and W. Liu,
+ "Observations on the Dropping of Packets with IPv6
+ Extension Headers in the Real World", RFC 7872,
+ DOI 10.17487/RFC7872, June 2016,
+ <https://www.rfc-editor.org/info/rfc7872>.
+
+ [RFC7915] Bao, C., Li, X., Baker, F., Anderson, T., and F. Gont,
+ "IP/ICMP Translation Algorithm", RFC 7915,
+ DOI 10.17487/RFC7915, June 2016,
+ <https://www.rfc-editor.org/info/rfc7915>.
+
+ [RFC7934] Colitti, L., Cerf, V., Cheshire, S., and D. Schinazi,
+ "Host Address Availability Recommendations", BCP 204,
+ RFC 7934, DOI 10.17487/RFC7934, July 2016,
+ <https://www.rfc-editor.org/info/rfc7934>.
+
+ [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
+ Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
+ <https://www.rfc-editor.org/info/rfc8040>.
+
+ [RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu,
+ "Recommendation on Stable IPv6 Interface Identifiers",
+ RFC 8064, DOI 10.17487/RFC8064, February 2017,
+ <https://www.rfc-editor.org/info/rfc8064>.
+
+ [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J.
+ Zhang, "YANG Data Model for Key Chains", RFC 8177,
+ DOI 10.17487/RFC8177, June 2017,
+ <https://www.rfc-editor.org/info/rfc8177>.
+
+ [RFC8190] Bonica, R., Cotton, M., Haberman, B., and L. Vegoda,
+ "Updates to the Special-Purpose IP Address Registries",
+ BCP 153, RFC 8190, DOI 10.17487/RFC8190, June 2017,
+ <https://www.rfc-editor.org/info/rfc8190>.
+
+ [RFC8210] Bush, R. and R. Austein, "The Resource Public Key
+ Infrastructure (RPKI) to Router Protocol, Version 1",
+ RFC 8210, DOI 10.17487/RFC8210, September 2017,
+ <https://www.rfc-editor.org/info/rfc8210>.
+
+ [RFC8273] Brzozowski, J. and G. Van de Velde, "Unique IPv6 Prefix
+ per Host", RFC 8273, DOI 10.17487/RFC8273, December 2017,
+ <https://www.rfc-editor.org/info/rfc8273>.
+
+ [RFC8343] Bjorklund, M., "A YANG Data Model for Interface
+ Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
+ <https://www.rfc-editor.org/info/rfc8343>.
+
+ [RFC8344] Bjorklund, M., "A YANG Data Model for IP Management",
+ RFC 8344, DOI 10.17487/RFC8344, March 2018,
+ <https://www.rfc-editor.org/info/rfc8344>.
+
+ [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A.,
+ Richardson, M., Jiang, S., Lemon, T., and T. Winters,
+ "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)",
+ RFC 8415, DOI 10.17487/RFC8415, November 2018,
+ <https://www.rfc-editor.org/info/rfc8415>.
+
+ [RFC8504] Chown, T., Loughney, J., and T. Winters, "IPv6 Node
+ Requirements", BCP 220, RFC 8504, DOI 10.17487/RFC8504,
+ January 2019, <https://www.rfc-editor.org/info/rfc8504>.
+
+ [RFC8520] Lear, E., Droms, R., and D. Romascanu, "Manufacturer Usage
+ Description Specification", RFC 8520,
+ DOI 10.17487/RFC8520, March 2019,
+ <https://www.rfc-editor.org/info/rfc8520>.
+
+ [RFC8541] Litkowski, S., Decraene, B., and M. Horneffer, "Impact of
+ Shortest Path First (SPF) Trigger and Delay Strategies on
+ IGP Micro-loops", RFC 8541, DOI 10.17487/RFC8541, March
+ 2019, <https://www.rfc-editor.org/info/rfc8541>.
+
+ [RFC8981] Gont, F., Krishnan, S., Narten, T., and R. Draves,
+ "Temporary Address Extensions for Stateless Address
+ Autoconfiguration in IPv6", RFC 8981,
+ DOI 10.17487/RFC8981, February 2021,
+ <https://www.rfc-editor.org/info/rfc8981>.
+
+ [SCANNING] Barnes, R., Altmann, R., and D. Kerr, "Mapping the Great
+ Void - Smarter scanning for IPv6", February 2012,
+ <http://www.caida.org/workshops/isma/1202/slides/
+ aims1202_rbarnes.pdf>.
+
+ [WEBER_VPN]
+ Weber, J., "Dynamic IPv6 Prefix - Problems and VPNs",
+ March 2018, <https://blog.webernetz.net/wp-
+ content/uploads/2018/03/TR18-Johannes-Weber-Dynamic-IPv6-
+ Prefix-Problems-and-VPNs.pdf>.
+
+Acknowledgements
+
+ The authors would like to thank the following people for their useful
+ comments (in alphabetical order): Mikael Abrahamsson, Fred Baker,
+ Mustafa Suha Botsali, Mohamed Boucadair, Brian Carpenter, Tim Chown,
+ Lorenzo Colitti, Roman Danyliw (IESG Review), Markus de Bruen, Lars
+ Eggert (IESG review), Tobias Fiebig, Fernando Gont, Jeffry Handal,
+ Lee Howard, Benjamin Kaduk (IESG review), Panos Kampanakis, Erik
+ Kline, Jouni Korhonen, Warren Kumari (IESG review), Ted Lemon, Mark
+ Lentczner, Acee Lindem (and his detailed nits), Jen Linkova (and her
+ detailed review), Gyan S. Mishra (the Document Shepherd), Jordi
+ Palet, Alvaro Retana (IESG review), Zaheduzzaman Sarker (IESG
+ review), Bob Sleigh, Donald Smith, Tarko Tikan, Ole Troan, and Bernie
+ Volz.
+
+Authors' Addresses
+
+ Éric Vyncke
+ Cisco
+ De Kleetlaan 6a
+ 1831 Diegem
+ Belgium
+
+ Phone: +32 2 778 4677
+ Email: evyncke@cisco.com
+
+
+ Kiran Kumar Chittimaneni
+
+ Email: kk.chittimaneni@gmail.com
+
+
+ Merike Kaeo
+ Double Shot Security
+ 3518 Fremont Ave N 363
+ Seattle, 98103
+ United States of America
+
+ Phone: +12066696394
+ Email: merike@doubleshotsecurity.com
+
+
+ Enno Rey
+ ERNW
+ Carl-Bosch-Str. 4
+ 69115 Heidelberg Baden-Wuertemberg
+ Germany
+
+ Phone: +49 6221 480390
+ Email: erey@ernw.de