draft-ietf-intarea-router-alert-considerations-01.txt   draft-ietf-intarea-router-alert-considerations-02.txt 
Network Working Group F. Le Faucheur, Ed. Network Working Group F. Le Faucheur, Ed.
Internet-Draft Cisco Internet-Draft Cisco
Intended status: BCP JUly 8, 2010 Intended status: BCP October 25, 2010
Expires: January 9, 2011 Expires: April 28, 2011
IP Router Alert Considerations and Usage IP Router Alert Considerations and Usage
draft-ietf-intarea-router-alert-considerations-01 draft-ietf-intarea-router-alert-considerations-02
Abstract Abstract
The IP Router Alert Option is an IP option that alerts transit The IP Router Alert Option is an IP option that alerts transit
routers to more closely examine the contents of an IP packet. RSVP, routers to more closely examine the contents of an IP packet. RSVP,
PGM, IGMP/MLD, MRD and GIST are some of the protocols that make use PGM, IGMP/MLD, MRD and GIST are some of the protocols that make use
of the IP Router Alert option. This document discusses security of the IP Router Alert option. This document discusses security
aspects and usage guidelines around the use of the current IP Router aspects and usage guidelines around the use of the current IP Router
Alert option. Specifically, it provides recommendation against using Alert option. Specifically, it provides recommendation against using
the Router Alert in the end-to-end open Internet as well as identify the Router Alert in the end-to-end open Internet as well as identify
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2011. This Internet-Draft will expire on April 28, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 14 skipping to change at page 4, line 14
1. Terminology 1. Terminology
For readability, this document uses the following loosely defined For readability, this document uses the following loosely defined
terms: terms:
o Slow path : Software processing path for packets o Slow path : Software processing path for packets
o Fast path : ASIC/Hardware processing path for packets o Fast path : ASIC/Hardware processing path for packets
o Next level protocol: the protocol transported in the IP datagram.
In IPv4 [RFC0791], the next level protocol is identified by the
IANA protocol number conveyed in the 8-bit "Protocol" field in the
IPv4 header. In IPv6 [RFC1883], the next level protocol is
identified by the IANA protocol number conveyed in the 8-bit "Next
Header" field in the IPv6 header.
1.1. Conventions Used in This Document 1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Introduction 2. Introduction
[RFC2113] and [RFC2711] respectively define the IPv4 and IPv6 Router [RFC2113] and [RFC2711] respectively define the IPv4 and IPv6 Router
Alert Option (RAO). In this document, we collectively refer to those Alert Option (RAO). In this document, we collectively refer to those
skipping to change at page 7, line 28 skipping to change at page 7, line 28
in the slow path). in the slow path).
Furthermore, [RFC2113] specifies no (and [RFC2711] specifies very Furthermore, [RFC2113] specifies no (and [RFC2711] specifies very
limited) mechanism for identifying different users of IP Router limited) mechanism for identifying different users of IP Router
Alert. As a result, many fast switching implementations of IP Router Alert. As a result, many fast switching implementations of IP Router
Alert punt most/all packets marked with IP Router Alert into the slow Alert punt most/all packets marked with IP Router Alert into the slow
path (unless configured to systematically ignore or drop all Router path (unless configured to systematically ignore or drop all Router
Alert packets). Alert packets).
Some IP Router Alert implementations may be able to take into account Some IP Router Alert implementations may be able to take into account
the IP PID [RFC0791] as a discriminator for the punting decision for the next level protocol as a discriminator for the punting decision
different protocols using IP Router Alert. However, this still only for different protocols using IP Router Alert. However, this still
allows very coarse triage among various protocols using IP Router only allows very coarse triage among various protocols using IP
Alert for two reasons. First, the IP PID is the same when IP Router Router Alert for two reasons. First, the next level protocol is the
Alert is used for different applications of the same protocol (e.g., same when IP Router Alert is used for different applications of the
RSVP vs. RSVP-TE), or when IP Router Alert is used for different same protocol (e.g., RSVP vs. RSVP-TE), or when IP Router Alert is
contexts of the same application (e.g., different levels of RSVP used for different contexts of the same application (e.g., different
aggregation [RFC3175]). Thus, it is not possible to achieve the levels of RSVP aggregation [RFC3175]). Thus, it is not possible to
necessary triage in the fast path across IP Router Alert packets from achieve the necessary triage in the fast path across IP Router Alert
different applications or from different contexts of an application. packets from different applications or from different contexts of an
Secondly, some protocols requiring punting may be carried over a application. Secondly, some protocols requiring punting may be
transport protocol (e.g., TCP or UDP) possibly because they require carried over a transport protocol (e.g., TCP or UDP) possibly because
the services of that transport protocol or perhaps because the they require the services of that transport protocol or perhaps
protocol does not justify allocation of a scarce IP PID value. Thus, because the protocol does not justify allocation of a scarce next
considering the PID does not allow triage in the fast path of IP level protocol value. Thus, considering the next level protocol does
Router Alert packets from different protocols sharing the same not allow triage in the fast path of IP Router Alert packets from
transport protocol. Therefore, It is generally not possible to different protocols sharing the same transport protocol. Therefore,
ensure that only the IP Router Alert packets of interest are punted it is generally not possible to ensure that only the IP Router Alert
to the slow path while other IP Router Alert packets are efficiently packets of interest are punted to the slow path while other IP Router
forwarded (i.e., in fast path). Alert packets are efficiently forwarded (i.e., in fast path).
Some IP Router Alert implementations may be able to take into account Some IP Router Alert implementations may be able to take into account
the value field inside the router alert option. However, only one the value field inside the router alert option. However, only one
value (zero) was defined in [RFC2113] and no IANA registry for IPv4 value (zero) was defined in [RFC2113] and no IANA registry for IPv4
Router Alert values was available until recently. So this did not Router Alert values was available until recently. So this did not
allow most IPv4 Router Alert implementation to support useful allow most IPv4 Router Alert implementation to support useful
classification based on the value field in the fast path. Also, classification based on the value field in the fast path. Also,
while [RFC2113] states that unknown values should be ignored (i.e. while [RFC2113] states that unknown values should be ignored (i.e.
The packets should be forwarded as normal IP traffic), it has been The packets should be forwarded as normal IP traffic), it has been
reported that some existing implementations simply ignore the value reported that some existing implementations simply ignore the value
skipping to change at page 8, line 39 skipping to change at page 8, line 39
In a nutshell, the IP router alert option does not provide a In a nutshell, the IP router alert option does not provide a
convenient universal mechanism to accurately and reliably distinguish convenient universal mechanism to accurately and reliably distinguish
between IP Router Alert packets of interest and unwanted IP Router between IP Router Alert packets of interest and unwanted IP Router
Alert packets. This, in turn, creates a security concern when IP Alert packets. This, in turn, creates a security concern when IP
Router Alert option is used, because, short of appropriate router Router Alert option is used, because, short of appropriate router
implementation specific mechanisms, the router slow path is at risk implementation specific mechanisms, the router slow path is at risk
of being flooded by unwanted traffic. of being flooded by unwanted traffic.
It can be observed that opening up a hole in the control plane of It can be observed that opening up a hole in the control plane of
Service Provider routers is commonly done for other applications such Service Provider routers is commonly done for other applications,
as BGP peering. However, the resulting DOS attack vector is arguably such as BGP peering. Depending on the actual environment and BGP
more serious with Router Alert option than with BGP peering for a security practises, the resulting DOS attack vector is similar, or
number of reasons including: somewhat less serious, with BGP peering than with Router Alert option
for a number of reasons that include:
o With BGP, edge routers only exchange control plane information
with pre-identified peers and can easily filter out any control
plane traffic coming from other peers or non-authenticated peers,
while the Router-Alert option can be received in a datagram with
any source address and any destination source. However, we note
that effectiveness of such BGP filtering is dependent on proper
security practises; poor BGP security practices (such as
infrequent or inexistent update of BGP peers authentication keys)
create vulnerabilities through which the BGP authentication
mechanisms can be compromised.
o with BGP Peering, the control plane hole is only open on the edge o with BGP Peering, the control plane hole is only open on the edge
routers and core routers are completely isolated from any direct routers, and core routers are completely isolated from any direct
control plane exchange with entities outside the administrative control plane exchange with entities outside the administrative
domain; with BGP, a DOS attack would only affect the edge domain. Thus, with BGP, a DOS attack would only affect the edge
router(s), while with Router Alert option, the attack could routers, while with Router Alert option, the attack could
propagate to core routers; propagate to core routers. However, in some BGP environments, the
distinction between edge and core routers is not strict, and many/
most/all routers act as both edge and core routers; in such BGP
environments, a large part of the network is exposed to direct
control plane exchanges with entities outside the administrative
domain (as it would be with Router Alert).
o with BGP, the BGP policy control would typically prevent re- o with BGP, the BGP policy control would typically prevent re-
injection of undesirable information out of the attacked device, injection of undesirable information out of the attacked device,
while with Router-Alert option, the non-filtered attacking while with the Router-Alert option, the non-filtered attacking
messages would typically be forwarded downstream. messages would typically be forwarded downstream. However, we
note that there has been real life occurences of situations where
o With BGP, edge routers only exchange control plane information incorrect information was propagated through the BGP system,
with pre-identified peers and can easily filter out any control causing quite widespread problems.
plane traffic coming from other peers, while the Router-Alert
option can be received in a datagram with any destination address
and any destination source.
4. Guidelines for use of Router Alert 4. Guidelines for use of Router Alert
4.1. Use of Router Alert End-to-End In the Internet (Router Alert in 4.1. Use of Router Alert End-to-End In the Internet (Router Alert in
Peer Model) Peer Model)
Because of the security concerns associated with Router Alert Because of the security concerns associated with Router Alert
discussed in Section 3, network operators need to actively protect discussed in Section 3, network operators need to actively protect
themselves against externally generated IP Router Alert packets. themselves against externally generated IP Router Alert packets.
Because there is no convenient universal mechanisms to triage between Because there is no convenient universal mechanisms to triage between
skipping to change at page 16, line 8 skipping to change at page 16, line 8
in network B Edges (but not in the core of network B) MAY be safely in network B Edges (but not in the core of network B) MAY be safely
deployed. We refer to such a deployment as a use of Router Alert in deployed. We refer to such a deployment as a use of Router Alert in
a Leak-Controlled Overlay. "Overlay" because Router Alert option a Leak-Controlled Overlay. "Overlay" because Router Alert option
datagrams are used in network A on top of, and completely datagrams are used in network A on top of, and completely
transparently to, network B core. "Leak-Controlled" because router transparently to, network B core. "Leak-Controlled" because router
alert option datagrams from A leak inside network B's B edges but not alert option datagrams from A leak inside network B's B edges but not
inside network B's core. A private enterprise intranet, whose sites inside network B's core. A private enterprise intranet, whose sites
are interconnected through a Service Prover network, using RSVP for are interconnected through a Service Prover network, using RSVP for
voice and video within network A sites as well as on Network B's edge voice and video within network A sites as well as on Network B's edge
to extend the reservation onto the attachment links between A and B to extend the reservation onto the attachment links between A and B
(as specified in [I-D.ietf-tsvwg-rsvp-l3vpn]) may be an example of (as specified in [RFC6016]) may be an example of such controlled
such controlled environment. Such an environment is illustrated in environment. Such an environment is illustrated in Figure 4.
Figure 4.
-------- -------- -------- --------
/ A \ / A \ / A \ / A \
| | | | | | | |
| | ------------------------ | | | | ------------------------ | |
| (*) | /(*) (*) \ | (*) | | (*) | /(*) (*) \ | (*) |
| | |<======>| |<============>| |<=====>| | | | | | |<======>| |<============>| |<=====>| | | |
| - | | - - | | - | | - | | - - | | - |
\ / | \ - - / | \ / \ / | \ - - / | \ /
-------- | TT-| | | |-TT | -------- -------- | TT-| | | |-TT | --------
skipping to change at page 17, line 28 skipping to change at page 17, line 27
example of such mechanisms in the case where the Service Provider is example of such mechanisms in the case where the Service Provider is
running RSVP-TE within his network since this allows refresh of running RSVP-TE within his network since this allows refresh of
existing Path and Resv states without use of the IP Router Alert existing Path and Resv states without use of the IP Router Alert
option. option.
As yet another example, using mechanisms such as those discussed in As yet another example, using mechanisms such as those discussed in
[I-D.ietf-mpls-ip-options] a Service Provider can safely protect the [I-D.ietf-mpls-ip-options] a Service Provider can safely protect the
operation of a protocol depending on IP Router Alert within his operation of a protocol depending on IP Router Alert within his
network (e.g., RSVP-TE) while at the same time safely transporting IP network (e.g., RSVP-TE) while at the same time safely transporting IP
Router Alert packets carrying another protocol that may be used end Router Alert packets carrying another protocol that may be used end
to end (e.g., IPv4/IPv6 RSVP). to end (e.g., IPv4/IPv6 RSVP). We observe that while tunneling of
Router Alert option datagrams over an MPLS backbone as discussed in
[I-D.ietf-mpls-ip-options] is well understood, tunnelling Router
Alert option datagrams over an non-MPLS IP backbone presents a number
of issues (and in particular for determining where to forward the
encapsulated datagram) and is not common practise at the time of
writing this document.
As a last resort, if the SP does not have any means to safely As a last resort, if the SP does not have any means to safely
transport end to end IP Router Alert option packets over his network, transport end to end IP Router Alert option packets over his network,
the SP MAY drop those packets. It must be noted that this has the the SP MAY drop those packets. It must be noted that this has the
undesirable consequence of preventing the use of the Router Alert undesirable consequence of preventing the use of the Router Alert
option in the Overlay Model on top of this network, and therefore option in the Overlay Model on top of this network, and therefore
prevents users of that network from deploying a number of valid prevents users of that network from deploying a number of valid
applications/protocols in their environment. applications/protocols in their environment.
5. Guidelines for Router Alert Implementation 5. Guidelines for Router Alert Implementation
It is RECOMMENDED that router implementations of IP Router Alert It is RECOMMENDED that router implementations of IP Router Alert
option include protection mechanisms against Router Alert based DOS option include protection mechanisms against Router Alert based DOS
attacks appropriate for their targeted deployment environments. For attacks appropriate for their targeted deployment environments. For
example, this can include ability on an edge router to "tunnel" IP example, this can include ability on an edge router to "tunnel" IP
Router Alert option of received packets when forwarding those over Router Alert option of received packets when forwarding those over
the core as discussed in [I-D.ietf-mpls-ip-options]. As another the core as discussed in [I-D.ietf-mpls-ip-options]. As another
example, although not always available from current implementations, example, although not always available from current implementations,
new implementations may include protection mechanisms such as new implementations MAY include protection mechanisms such as
selective (possibly dynamic) filtering and rate-limiting of IP Router selective (possibly dynamic) filtering and rate-limiting of IP Router
Alert option packets. Alert option packets.
If an IP packet contains the IP Router Alert option, but the payload If an IP packet contains the IP Router Alert option, but the next
protocol is not explicitly identified as a Payload of interest by the level protocol is not explicitly identified as a protocol of interest
router examining the packet, the behavior is not explicitly defined by the router examining the packet, the behavior is not explicitly
by [RFC2113]. However, the behavior is implied and, for example, the defined by [RFC2113]. However, the behavior is implied and, for
definition of RSVP in [RFC2205] assumes that the packet will be example, the definition of RSVP in [RFC2205] assumes that the packet
forwarded using normal forwarding based on the destination IP will be forwarded using normal forwarding based on the destination IP
address. Thus, a router implementation SHOULD forward within the address. Thus, a router implementation SHOULD forward within the
"fast path" (subject to all normal policies and forwarding rules) a "fast path" (subject to all normal policies and forwarding rules) a
packet carrying the IP Router Alert option containing a payload that packet carrying the IP Router Alert option containing a next level
is not a payload of interest to that router. The "not passing" protocol that is not a protocol of interest to that router. The "not
behavior protects the router from DOS attacks using IP Router Alert punting" behavior protects the router from DOS attacks using IP
packets of a protocol unknown to the router. The "forwarding" Router Alert packets of a protocol unknown to the router. The
behavior contributes to transparent end to end transport of IP Router "forwarding" behavior contributes to transparent end to end transport
Alert packets (e.g., to facilitate their use by end to end of IP Router Alert packets (e.g., to facilitate their use by end to
application). end application).
Similarly, an implementation MAY support selective forwarding within
"the fast path" (subject to all normal policies and forwarding rules)
or punting of a packet with the IP Router Alert Option, based on the
Value field of the Router Alert Option. This would allow router
protection against DOS attacks using IP Router Alert packets with
value that is not relevant for that router (e.g. nesting levels of
Aggregated RSVP Reservation [RFC5350]).
6. Security Considerations 6. Security Considerations
This document discusses security risks associated with current usage This document discusses security risks associated with current usage
of the IP Router Alert Option and associated practices. of the IP Router Alert Option and associated practices.
7. IANA Considerations 7. IANA Considerations
None. None.
skipping to change at page 23, line 12 skipping to change at page 23, line 12
field in the IPv4 Router Alert borrowed from a similar discussion in field in the IPv4 Router Alert borrowed from a similar discussion in
[I-D.ietf-nsis-ntlp]. [I-D.ietf-nsis-ntlp].
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981. September 1981.
[RFC1883] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 1883, December 1995.
[RFC2113] Katz, D., "IP Router Alert Option", RFC 2113, [RFC2113] Katz, D., "IP Router Alert Option", RFC 2113,
February 1997. February 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998. (IPv6) Specification", RFC 2460, December 1998.
[RFC2711] Partridge, C. and A. Jackson, "IPv6 Router Alert Option", [RFC2711] Partridge, C. and A. Jackson, "IPv6 Router Alert Option",
RFC 2711, October 1999. RFC 2711, October 1999.
[RFC5350] Manner, J. and A. McDonald, "IANA Considerations for the
IPv4 and IPv6 Router Alert Options", RFC 5350,
September 2008.
10.2. Informative References 10.2. Informative References
[I-D.ietf-mpls-ip-options] [I-D.ietf-mpls-ip-options]
Jaeger, W., Mullooly, J., Scholl, T., and D. Smith, Jaeger, W., Mullooly, J., Scholl, T., and D. Smith,
"Requirements for Label Edge Router Forwarding of IPv4 "Requirements for Label Edge Router Forwarding of IPv4
Option Packets", draft-ietf-mpls-ip-options-04 (work in Option Packets", draft-ietf-mpls-ip-options-04 (work in
progress), May 2010. progress), May 2010.
[I-D.ietf-nsis-ntlp] [I-D.ietf-nsis-ntlp]
Schulzrinne, H. and M. Stiemerling, "GIST: General Schulzrinne, H. and M. Stiemerling, "GIST: General
Internet Signalling Transport", draft-ietf-nsis-ntlp-20 Internet Signalling Transport", draft-ietf-nsis-ntlp-20
(work in progress), June 2009. (work in progress), June 2009.
[I-D.ietf-tsvwg-rsvp-l3vpn]
Davie, B., Faucheur, F., and A. Narayanan, "Support for
RSVP in Layer 3 VPNs", draft-ietf-tsvwg-rsvp-l3vpn-07
(work in progress), June 2010.
[I-D.krishnan-ipv6-hopbyhop] [I-D.krishnan-ipv6-hopbyhop]
Krishnan, S., "The case against Hop-by-Hop options", Krishnan, S., "The case against Hop-by-Hop options",
draft-krishnan-ipv6-hopbyhop-04 (work in progress), draft-krishnan-ipv6-hopbyhop-05 (work in progress),
March 2010. October 2010.
[I-D.narayanan-rtg-router-alert-extension] [I-D.narayanan-rtg-router-alert-extension]
Narayanan, A., Faucheur, F., Ward, D., and R. Rahman, "IP Narayanan, A., Faucheur, F., Ward, D., and R. Rahman, "IP
Router Alert Option Extension", Router Alert Option Extension",
draft-narayanan-rtg-router-alert-extension-00 (work in draft-narayanan-rtg-router-alert-extension-00 (work in
progress), March 2009. progress), March 2009.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
skipping to change at page 24, line 44 skipping to change at page 24, line 45
[RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
[RFC4081] Tschofenig, H. and D. Kroeselberg, "Security Threats for [RFC4081] Tschofenig, H. and D. Kroeselberg, "Security Threats for
Next Steps in Signaling (NSIS)", RFC 4081, June 2005. Next Steps in Signaling (NSIS)", RFC 4081, June 2005.
[RFC4286] Haberman, B. and J. Martin, "Multicast Router Discovery", [RFC4286] Haberman, B. and J. Martin, "Multicast Router Discovery",
RFC 4286, December 2005. RFC 4286, December 2005.
[RFC5350] Manner, J. and A. McDonald, "IANA Considerations for the [RFC6016] Davie, B., Le Faucheur, F., and A. Narayanan, "Support for
IPv4 and IPv6 Router Alert Options", RFC 5350, the Resource Reservation Protocol (RSVP) in Layer 3 VPNs",
September 2008. RFC 6016, October 2010.
Author's Address Author's Address
Francois Le Faucheur (editor) Francois Le Faucheur (editor)
Cisco Systems Cisco Systems
Greenside, 400 Avenue de Roumanille Greenside, 400 Avenue de Roumanille
Sophia Antipolis 06410 Sophia Antipolis 06410
France France
Phone: +33 4 97 23 26 19 Phone: +33 4 97 23 26 19
 End of changes. 19 change blocks. 
68 lines changed or deleted 104 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/