7126
BEST CURRENT PRACTICE
Recommendations on Filtering of IPv4 Packets Containing IPv4 Options
Authors: F. Gont, R. Atkinson, C. Pignataro
Date: February 2014
Area: ops
Working Group: opsec
Stream: IETF
Abstract
This document provides advice on the filtering of IPv4 packets based on the IPv4 options they contain. Additionally, it discusses the operational and interoperability implications of dropping packets based on the IP options they contain.
RFC 7126
BEST CURRENT PRACTICE
Errata Exist
Internet Engineering Task Force (IETF) F. Gont
Request for Comments: 7126 UTN-FRH / SI6 Networks
BCP: 186 R. Atkinson
Category: Best Current Practice Consultant
ISSN: 2070-1721 C. Pignataro
Cisco
February 2014
<span class="h1">Recommendations on Filtering of IPv4 Packets Containing IPv4 Options</span>
Abstract
This document provides advice on the filtering of IPv4 packets based
on the IPv4 options they contain. Additionally, it discusses the
operational and interoperability implications of dropping packets
based on the IP options they contain.
Status of This Memo
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force
(IETF). It has been approved for publication by the Internet
Engineering Steering Group (IESG). Further information on BCPs is
available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="https://www.rfc-editor.org/info/rfc7126">http://www.rfc-editor.org/info/rfc7126</a>.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) 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.
<span class="grey">Gont, et al. Best Current Practice [Page 1]</span>
<span id="page-2" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.1">1.1</a>. Terminology and Conventions Used in This Document . . . . <a href="#page-3">3</a>
<a href="#section-1.2">1.2</a>. Operational Focus . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-2">2</a>. IP Options . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-3">3</a>. General Security Implications of IP Options . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-3.1">3.1</a>. Processing Requirements . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
4. Advice on the Handling of Packets with Specific IP Options . 7
<a href="#section-4.1">4.1</a>. End of Option List (Type = 0) . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-4.2">4.2</a>. No Operation (Type = 1) . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-4.3">4.3</a>. Loose Source and Record Route (LSRR) (Type = 131) . . . . <a href="#page-8">8</a>
<a href="#section-4.4">4.4</a>. Strict Source and Record Route (SSRR) (Type = 137) . . . <a href="#page-10">10</a>
<a href="#section-4.5">4.5</a>. Record Route (Type = 7) . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#section-4.6">4.6</a>. Stream Identifier (Type = 136) (obsolete) . . . . . . . . <a href="#page-12">12</a>
<a href="#section-4.7">4.7</a>. Internet Timestamp (Type = 68) . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-4.8">4.8</a>. Router Alert (Type = 148) . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
<a href="#section-4.9">4.9</a>. Probe MTU (Type = 11) (obsolete) . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-4.10">4.10</a>. Reply MTU (Type = 12) (obsolete) . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-4.11">4.11</a>. Traceroute (Type = 82) . . . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-4.12">4.12</a>. DoD Basic Security Option (Type = 130) . . . . . . . . . <a href="#page-17">17</a>
<a href="#section-4.13">4.13</a>. DoD Extended Security Option (Type = 133) . . . . . . . . <a href="#page-20">20</a>
<a href="#section-4.14">4.14</a>. Commercial IP Security Option (CIPSO) (Type = 134) . . . <a href="#page-22">22</a>
<a href="#section-4.15">4.15</a>. VISA (Type = 142) . . . . . . . . . . . . . . . . . . . . <a href="#page-23">23</a>
<a href="#section-4.16">4.16</a>. Extended Internet Protocol (Type = 145) . . . . . . . . . <a href="#page-24">24</a>
<a href="#section-4.17">4.17</a>. Address Extension (Type = 147) . . . . . . . . . . . . . <a href="#page-25">25</a>
4.18. Sender Directed Multi-Destination Delivery (Type = 149) . 25
<a href="#section-4.19">4.19</a>. Dynamic Packet State (Type = 151) . . . . . . . . . . . . <a href="#page-26">26</a>
<a href="#section-4.20">4.20</a>. Upstream Multicast Pkt. (Type = 152) . . . . . . . . . . <a href="#page-26">26</a>
<a href="#section-4.21">4.21</a>. Quick-Start (Type = 25) . . . . . . . . . . . . . . . . . <a href="#page-27">27</a>
4.22. <a href="./rfc3692">RFC3692</a>-Style Experiment (Types = 30, 94, 158, and 222) . 28
<a href="#section-4.23">4.23</a>. Other IP Options . . . . . . . . . . . . . . . . . . . . <a href="#page-29">29</a>
<a href="#section-5">5</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-6">6</a>. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-7">7</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-7.1">7.1</a>. Normative References . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-7.2">7.2</a>. Informative References . . . . . . . . . . . . . . . . . <a href="#page-32">32</a>
<span class="grey">Gont, et al. Best Current Practice [Page 2]</span>
<span id="page-3" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
This document discusses the filtering of IPv4 packets based on the
IPv4 options they contain. Since various protocols may use IPv4
options to some extent, dropping packets based on the options they
contain may have implications on the proper functioning of such
protocols. Therefore, this document attempts to discuss the
operational and interoperability implications of such dropping.
Additionally, it outlines what a network operator might do in typical
enterprise or Service Provider environments. This document also
draws and is partly derived from [<a href="./rfc6274" title=""Security Assessment of the Internet Protocol Version 4"">RFC6274</a>], which also received
review from the operational community.
We note that data seems to indicate that there is a current
widespread practice of blocking IPv4 optioned packets. There are
various plausible approaches to minimize the potential negative
effects of IPv4 optioned packets while allowing some option
semantics. One approach is to allow for specific options that are
expected or needed, and have a default deny. A different approach is
to deny unneeded options and have a default allow. Yet a third
possible approach is to allow for end-to-end semantics by ignoring
options and treating packets as un-optioned while in transit.
Experiments and currently available data tend to support the first or
third approaches as more realistic. Some results regarding the
current state of affairs with respect to dropping packets containing
IP options can be found in [<a href="#ref-MEDINA" title=""Measuring Interactions Between Transport Protocols and Middleboxes"">MEDINA</a>] and [<a href="#ref-FONSECA" title=""IP Options are not an option"">FONSECA</a>]. Additionally,
[<a href="#ref-BREMIER-BARR">BREMIER-BARR</a>] points out that the deployed Internet already has many
routers that do not process IP options.
We also note that while this document provides advice on dropping
packets on a "per IP option type", not all devices (routers, security
gateways, and firewalls) may provide this capability with such
granularity. Additionally, even in cases in which such functionality
is provided, an operator might want to specify a dropping policy with
a coarser granularity (rather than on a "per IP option type"
granularity), as indicated above.
Finally, in scenarios in which processing of IP options by
intermediate systems is not required, a widespread approach is to
simply ignore IP options and process the corresponding packets as if
they do not contain any IP options.
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Terminology and Conventions Used in This Document</span>
The terms "fast path", "slow path", and associated relative terms
("faster path" and "slower path") are loosely defined as in <a href="./rfc6398#section-2">Section 2
of [RFC6398]</a>.
<span class="grey">Gont, et al. Best Current Practice [Page 3]</span>
<span id="page-4" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
Because of the security-oriented nature of this document, we are
deliberately including some historical citations. The goal is to
explicitly retain and show history, as well as remove ambiguity and
confusion.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. Operational Focus</span>
All of the recommendations in this document have been made in an
effort to optimize for operational community consensus, as best the
authors have been able to determine that. This has included not only
accepting feedback from public lists, but also accepting off-list
feedback from people at various network operators (e.g. Internet
Service Providers, content providers, educational institutions,
commercial firms).
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. IP Options</span>
IP options allow for the extension of the Internet Protocol. As
specified in [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>], there are two cases for the format of an
option:
o Case 1: A single byte of option-type.
o Case 2: An option-type byte, an option-length byte, and the actual
option-data bytes.
IP options of Case 1 have the following syntax:
+-+-+-+-+-+-+-+-+- - - - - - - - -
| option-type | option-data
+-+-+-+-+-+-+-+-+- - - - - - - - -
The length of IP options of Case 1 is implicitly specified by the
option-type byte.
IP options of Case 2 have the following syntax:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
| option-type | option-length | option-data
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - -
In this case, the option-length byte counts the option-type byte and
the option-length byte, as well as the actual option-data bytes.
<span class="grey">Gont, et al. Best Current Practice [Page 4]</span>
<span id="page-5" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
All current and future options, except "End of Option List" (Type =
0) and "No Operation" (Type = 1), are of Class 2.
The option-type has three fields:
o 1 bit: copied flag.
o 2 bits: option class.
o 5 bits: option number.
The copied flag indicates whether this option should be copied to all
fragments in the event the packet carrying it needs to be fragmented:
o 0 = not copied.
o 1 = copied.
The values for the option class are:
o 0 = control.
o 1 = reserved for future use.
o 2 = debugging and measurement.
o 3 = reserved for future use.
This format allows for the creation of new options for the extension
of the Internet Protocol (IP).
Finally, the option number identifies the syntax of the rest of the
option.
The "IP OPTION NUMBERS" registry [<a href="#ref-IANA-IP" title=""IP OPTION NUMBERS"">IANA-IP</a>] contains the list of the
currently assigned IP option numbers.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. General Security Implications of IP Options</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Processing Requirements</span>
Historically, most IP routers used a general-purpose CPU to process
IP packets and forward them towards their destinations. This same
CPU usually also processed network management traffic (e.g., SNMP),
configuration commands (e.g., command line interface), and various
routing protocols (e.g., RIP, OSPF, BGP, IS-IS) or other control
protocols (e.g., RSVP, ICMP). In such architectures, it has been
common for the general-purpose CPU also to perform any packet
<span class="grey">Gont, et al. Best Current Practice [Page 5]</span>
<span id="page-6" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
filtering that has been enabled on the router (or router interface).
An IP router built using this architecture often has a significant
Distributed Denial-of-Service (DDoS) attack risk if the router
control plane (e.g., CPU) is overwhelmed by a large number of IPv4
packets that contain IPv4 options.
From about 1995 onwards, a growing number of IP routers have
incorporated silicon specialized for IP packet processing (i.e.,
Field-Programmable Gate Array (FPGA), Application-Specific Integrated
Circuit (ASIC)), thereby separating the function of IP packet
forwarding from the other functions of the router. Such router
architectures tend to be more resilient to DDoS attacks that might be
seen in the global public Internet. Depending upon various
implementation and configuration details, routers with a silicon
packet-forwarding engine can handle high volumes of IP packets
containing IP options without any adverse impact on packet-forwarding
rates or on the router's control plane (e.g., general-purpose CPU).
Some implementations have a configuration knob simply to forward all
IP packets containing IP options at wire-speed in silicon, as if the
IP packet did not contain any IP options ("ignore options &
forward"). Other implementations support wire-speed silicon-based
packet filtering, thereby enabling packets containing certain IP
options to be selectively dropped ("drop"), packets containing
certain other IP options to have those IP options ignored ("ignore
options & forward"), and other packets containing different IP
options to have those options processed, either on a general-purpose
CPU or using custom logic (e.g., FPGA, ASIC), while the packet is
being forwarded ("process option & forward").
Broadly speaking, any IP packet that requires processing by an IP
router's general-purpose CPU can be a DDoS risk to that router's
general-purpose CPU (and thus to the router itself). However, at
present, the particular architectural and engineering details of the
specific IP router being considered are important to understand when
evaluating the operational security risks associated with a
particular IP packet type or IP option type.
Operators are urged to consider the capabilities of potential IP
routers for IP option filtering and handling as they make deployment
decisions in the future.
Additional considerations for protecting the control plane from
packets containing IP options can be found in [<a href="./rfc6192" title=""Protecting the Router Control Plane"">RFC6192</a>].
Finally, in addition to advice to operators, this document also
provides advice to router, security gateway, and firewall
implementers in terms of providing the capability to filter packets
<span class="grey">Gont, et al. Best Current Practice [Page 6]</span>
<span id="page-7" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
with different granularities: both on a "per IP option type"
granularity (to maximize flexibility) as well as more coarse filters
(to minimize configuration complexity).
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Advice on the Handling of Packets with Specific IP Options</span>
The following subsections contain a description of each of the IP
options that have so far been specified, a discussion of possible
interoperability implications if packets containing such options are
dropped, and specific advice on whether to drop packets containing
these options in a typical enterprise or Service Provider
environment.
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. End of Option List (Type = 0)</span>
<span class="h4"><a class="selflink" id="section-4.1.1" href="#section-4.1.1">4.1.1</a>. Uses</span>
This option is used to indicate the "end of options" in those cases
in which the end of options would not coincide with the end of the
Internet Protocol header.
<span class="h4"><a class="selflink" id="section-4.1.2" href="#section-4.1.2">4.1.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="h4"><a class="selflink" id="section-4.1.3" href="#section-4.1.3">4.1.3</a>. Threats</span>
No specific security issues are known for this IPv4 option.
<span class="h4"><a class="selflink" id="section-4.1.4" href="#section-4.1.4">4.1.4</a>. Operational and Interoperability Impact if Blocked</span>
Packets containing any IP options are likely to include an End of
Option List. Therefore, if packets containing this option are
dropped, it is very likely that legitimate traffic is blocked.
<span class="h4"><a class="selflink" id="section-4.1.5" href="#section-4.1.5">4.1.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD NOT drop packets
because they contain this option.
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. No Operation (Type = 1)</span>
<span class="h4"><a class="selflink" id="section-4.2.1" href="#section-4.2.1">4.2.1</a>. Uses</span>
The no-operation option is basically meant to allow the sending
system to align subsequent options in, for example, 32-bit
boundaries.
<span class="grey">Gont, et al. Best Current Practice [Page 7]</span>
<span id="page-8" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.2.2" href="#section-4.2.2">4.2.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="h4"><a class="selflink" id="section-4.2.3" href="#section-4.2.3">4.2.3</a>. Threats</span>
No specific security issues are known for this IPv4 option.
<span class="h4"><a class="selflink" id="section-4.2.4" href="#section-4.2.4">4.2.4</a>. Operational and Interoperability Impact if Blocked</span>
Packets containing any IP options are likely to include a No
Operation option. Therefore, if packets containing this option are
dropped, it is very likely that legitimate traffic is blocked.
<span class="h4"><a class="selflink" id="section-4.2.5" href="#section-4.2.5">4.2.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD NOT drop packets
because they contain this option.
<span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. Loose Source and Record Route (LSRR) (Type = 131)</span>
<a href="./rfc791">RFC 791</a> states that this option should appear at most once in a given
packet. Thus, if a packet contains more than one LSRR option, it
should be dropped, and this event should be logged (e.g., a counter
could be incremented to reflect the packet drop). Additionally,
packets containing a combination of LSRR and SSRR options should be
dropped, and this event should be logged (e.g., a counter could be
incremented to reflect the packet drop).
<span class="h4"><a class="selflink" id="section-4.3.1" href="#section-4.3.1">4.3.1</a>. Uses</span>
This option lets the originating system specify a number of
intermediate systems a packet must pass through to get to the
destination host. Additionally, the route followed by the packet is
recorded in the option. The receiving host (end-system) must use the
reverse of the path contained in the received LSRR option.
The LSSR option can be of help in debugging some network problems.
Some Internet Service Provider (ISP) peering agreements require
support for this option in the routers within the peer of the ISP.
<span class="h4"><a class="selflink" id="section-4.3.2" href="#section-4.3.2">4.3.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="grey">Gont, et al. Best Current Practice [Page 8]</span>
<span id="page-9" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.3.3" href="#section-4.3.3">4.3.3</a>. Threats</span>
The LSRR option has well-known security implications [<a href="./rfc6274" title=""Security Assessment of the Internet Protocol Version 4"">RFC6274</a>].
Among other things, the option can be used to:
o Bypass firewall rules.
o Reach otherwise unreachable internet systems.
o Establish TCP connections in a stealthy way.
o Learn about the topology of a network.
o Perform bandwidth-exhaustion attacks.
Of these attack vectors, the one that has probably received least
attention is the use of the LSRR option to perform bandwidth
exhaustion attacks. The LSRR option can be used as an amplification
method for performing bandwidth-exhaustion attacks, as an attacker
could make a packet bounce multiple times between a number of systems
by carefully crafting an LSRR option.
This is the IPv4 version of the IPv6 amplification attack that was
widely publicized in 2007 [<a href="#ref-Biondi2007">Biondi2007</a>]. The only difference is
that the maximum length of the IPv4 header (and hence the LSRR
option) limits the amplification factor when compared to the IPv6
counterpart.
Additionally, some implementations have been found to fail to include
proper sanity checks on the LSRR option, thus leading to security
issues. These specific issues are believed to be solved in all
modern implementations.
[<a id="ref-Microsoft1999">Microsoft1999</a>] is a security advisory about a vulnerability
arising from improper validation of the Pointer field of the LSRR
option.
Finally, we note that some systems were known for providing a system-
wide toggle to enable support for this option for those scenarios in
which this option is required. However, improper implementation of
such a system-wide toggle caused those systems to support the LSRR
option even when explicitly configured not to do so.
[<a id="ref-OpenBSD1998">OpenBSD1998</a>] is a security advisory about an improper
implementation of such a system-wide toggle in 4.4BSD kernels.
This issue was resolved in later versions of the corresponding
operating system.
<span class="grey">Gont, et al. Best Current Practice [Page 9]</span>
<span id="page-10" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.3.4" href="#section-4.3.4">4.3.4</a>. Operational and Interoperability Impact if Blocked</span>
Network troubleshooting techniques that may employ the LSRR option
(such as ping or traceroute with the appropriate arguments) would
break when using the LSRR option. (Ping and traceroute without IPv4
options are not impacted.) Nevertheless, it should be noted that it
is virtually impossible to use the LSRR option for troubleshooting,
due to widespread dropping of packets that contain the option.
<span class="h4"><a class="selflink" id="section-4.3.5" href="#section-4.3.5">4.3.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD implement an option-
specific configuration knob to select whether packets with this
option are dropped, packets with this IP option are forwarded as if
they did not contain this IP option, or packets with this option are
processed and forwarded as per [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>]. The default setting for
this knob SHOULD be "drop", and the default setting MUST be
documented.
Please note that treating packets with LSRR as if they did not
contain this option can result in such packets being sent to a
different device than the initially intended destination. With
appropriate ingress filtering, this should not open an attack vector
into the infrastructure. Nonetheless, it could result in traffic
that would never reach the initially intended destination. Dropping
these packets prevents unnecessary network traffic and does not make
end-to-end communication any worse.
<span class="h3"><a class="selflink" id="section-4.4" href="#section-4.4">4.4</a>. Strict Source and Record Route (SSRR) (Type = 137)</span>
<span class="h4"><a class="selflink" id="section-4.4.1" href="#section-4.4.1">4.4.1</a>. Uses</span>
This option allows the originating system to specify a number of
intermediate systems a packet must pass through to get to the
destination host. Additionally, the route followed by the packet is
recorded in the option, and the destination host (end-system) must
use the reverse of the path contained in the received SSRR option.
This option is similar to the Loose Source and Record Route (LSRR)
option, with the only difference that in the case of SSRR, the route
specified in the option is the exact route the packet must take
(i.e., no other intervening routers are allowed to be in the route).
The SSRR option can be of help in debugging some network problems.
Some ISP peering agreements require support for this option in the
routers within the peer of the ISP.
<span class="grey">Gont, et al. Best Current Practice [Page 10]</span>
<span id="page-11" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.4.2" href="#section-4.4.2">4.4.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="h4"><a class="selflink" id="section-4.4.3" href="#section-4.4.3">4.4.3</a>. Threats</span>
The SSRR option has the same security implications as the LSRR
option. Please refer to <a href="#section-4.3">Section 4.3</a> for a discussion of such
security implications.
<span class="h4"><a class="selflink" id="section-4.4.4" href="#section-4.4.4">4.4.4</a>. Operational and Interoperability Impact if Blocked</span>
Network troubleshooting techniques that may employ the SSRR option
(such as ping or traceroute with the appropriate arguments) would
break when using the SSRR option. (Ping and traceroute without IPv4
options are not impacted.) Nevertheless, it should be noted that it
is virtually impossible to use the SSRR option for trouble-shooting,
due to widespread dropping of packets that contain such option.
<span class="h4"><a class="selflink" id="section-4.4.5" href="#section-4.4.5">4.4.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD implement an option-
specific configuration knob to select whether packets with this
option are dropped, packets with this IP option are forwarded as if
they did not contain this IP option, or packets with this option are
processed and forwarded as per [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>]. The default setting for
this knob SHOULD be "drop", and the default setting MUST be
documented.
Please note that treating packets with SSRR as if they did not
contain this option can result in such packets being sent to a
different device that the initially intended destination. With
appropriate ingress filtering this should not open an attack vector
into the infrastructure. Nonetheless, it could result in traffic
that would never reach the initially intended destination. Dropping
these packets prevents unnecessary network traffic, and does not make
end-to-end communication any worse.
<span class="h3"><a class="selflink" id="section-4.5" href="#section-4.5">4.5</a>. Record Route (Type = 7)</span>
<span class="h4"><a class="selflink" id="section-4.5.1" href="#section-4.5.1">4.5.1</a>. Uses</span>
This option provides a means to record the route that a given packet
follows.
<span class="h4"><a class="selflink" id="section-4.5.2" href="#section-4.5.2">4.5.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="grey">Gont, et al. Best Current Practice [Page 11]</span>
<span id="page-12" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.5.3" href="#section-4.5.3">4.5.3</a>. Threats</span>
This option can be exploited to map the topology of a network.
However, the limited space in the IP header limits the usefulness of
this option for that purpose.
<span class="h4"><a class="selflink" id="section-4.5.4" href="#section-4.5.4">4.5.4</a>. Operational and Interoperability Impact if Blocked</span>
Network troubleshooting techniques that may employ the RR option
(such as ping with the RR option) would break when using the RR
option. (Ping without IPv4 options is not impacted.) Nevertheless,
it should be noted that it is virtually impossible to use such
techniques due to widespread dropping of packets that contain RR
options.
<span class="h4"><a class="selflink" id="section-4.5.5" href="#section-4.5.5">4.5.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD implement an option-
specific configuration knob to select whether packets with this
option are dropped, packets with this IP option are forwarded as if
they did not contain this IP option, or packets with this option are
processed and forwarded as per [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>]. The default setting for
this knob SHOULD be "drop", and the default setting MUST be
documented.
<span class="h3"><a class="selflink" id="section-4.6" href="#section-4.6">4.6</a>. Stream Identifier (Type = 136) (obsolete)</span>
The Stream Identifier option originally provided a means for the
16-bit SATNET stream Identifier to be carried through networks that
did not support the stream concept.
However, as stated by <a href="./rfc1122#section-3.2.1.8">Section 3.2.1.8 of RFC 1122</a> [<a href="./rfc1122" title=""Requirements for Internet Hosts - Communication Layers"">RFC1122</a>] and
<a href="./rfc1812#section-4.2.2.1">Section 4.2.2.1 of RFC 1812</a> [<a href="./rfc1812" title=""Requirements for IP Version 4 Routers"">RFC1812</a>], this option is obsolete.
Therefore, it must be ignored by the processing systems. See also
[<a href="#ref-IANA-IP" title=""IP OPTION NUMBERS"">IANA-IP</a>] and [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<a href="./rfc791">RFC 791</a> states that this option appears at most once in a given
datagram. Therefore, if a packet contains more than one instance of
this option, it should be dropped, and this event should be logged
(e.g., a counter could be incremented to reflect the packet drop).
<span class="h4"><a class="selflink" id="section-4.6.1" href="#section-4.6.1">4.6.1</a>. Uses</span>
This option is obsolete. There is no current use for this option.
<span class="grey">Gont, et al. Best Current Practice [Page 12]</span>
<span id="page-13" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.6.2" href="#section-4.6.2">4.6.2</a>. Option Specification</span>
Specified in <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>], and deprecated in <a href="./rfc1122">RFC 1122</a> [<a href="./rfc1122" title=""Requirements for Internet Hosts - Communication Layers"">RFC1122</a>]
and <a href="./rfc1812">RFC 1812</a> [<a href="./rfc1812" title=""Requirements for IP Version 4 Routers"">RFC1812</a>]. This option has been formally obsoleted by
[<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.6.3" href="#section-4.6.3">4.6.3</a>. Threats</span>
No specific security issues are known for this IPv4 option.
<span class="h4"><a class="selflink" id="section-4.6.4" href="#section-4.6.4">4.6.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.6.5" href="#section-4.6.5">4.6.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets
containing a Stream Identifier option.
<span class="h3"><a class="selflink" id="section-4.7" href="#section-4.7">4.7</a>. Internet Timestamp (Type = 68)</span>
<span class="h4"><a class="selflink" id="section-4.7.1" href="#section-4.7.1">4.7.1</a>. Uses</span>
This option provides a means for recording the time at which each
system (or a specified set of systems) processed this datagram, and
it may optionally record the addresses of the systems providing the
timestamps.
<span class="h4"><a class="selflink" id="section-4.7.2" href="#section-4.7.2">4.7.2</a>. Option Specification</span>
Specified by <a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>].
<span class="h4"><a class="selflink" id="section-4.7.3" href="#section-4.7.3">4.7.3</a>. Threats</span>
The timestamp option has a number of security implications [<a href="./rfc6274" title=""Security Assessment of the Internet Protocol Version 4"">RFC6274</a>].
Among them are:
o It allows an attacker to obtain the current time of the systems
that process the packet, which the attacker may find useful in a
number of scenarios.
o It may be used to map the network topology in a similar way to the
IP Record Route option.
o It may be used to fingerprint the operating system in use by a
system processing the datagram.
<span class="grey">Gont, et al. Best Current Practice [Page 13]</span>
<span id="page-14" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
o It may be used to fingerprint physical devices by analyzing the
clock skew.
[<a id="ref-Kohno2005">Kohno2005</a>] describes a technique for fingerprinting devices by
measuring the clock skew. It exploits, among other things, the
timestamps that can be obtained by means of the ICMP timestamp
request messages [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>]. However, the same fingerprinting method
could be implemented with the aid of the Internet Timestamp option.
<span class="h4"><a class="selflink" id="section-4.7.4" href="#section-4.7.4">4.7.4</a>. Operational and Interoperability Impact if Blocked</span>
Network troubleshooting techniques that may employ the Internet
Timestamp option (such as ping with the Timestamp option) would break
when using the Timestamp option. (Ping without IPv4 options is not
impacted.) Nevertheless, it should be noted that it is virtually
impossible to use such techniques due to widespread dropping of
packets that contain Internet Timestamp options.
<span class="h4"><a class="selflink" id="section-4.7.5" href="#section-4.7.5">4.7.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets
containing an Internet Timestamp option.
<span class="h3"><a class="selflink" id="section-4.8" href="#section-4.8">4.8</a>. Router Alert (Type = 148)</span>
<span class="h4"><a class="selflink" id="section-4.8.1" href="#section-4.8.1">4.8.1</a>. Uses</span>
The Router Alert option has the semantic "routers should examine this
packet more closely, if they participate in the functionality denoted
by the Value of the option".
<span class="h4"><a class="selflink" id="section-4.8.2" href="#section-4.8.2">4.8.2</a>. Option Specification</span>
The Router Alert option is defined in <a href="./rfc2113">RFC 2113</a> [<a href="./rfc2113" title=""IP Router Alert Option"">RFC2113</a>] and later
updates to it have been clarified by <a href="./rfc5350">RFC 5350</a> [<a href="./rfc5350" title=""IANA Considerations for the IPv4 and IPv6 Router Alert Options"">RFC5350</a>]. It contains
a 16-bit Value governed by an IANA registry (see [<a href="./rfc5350" title=""IANA Considerations for the IPv4 and IPv6 Router Alert Options"">RFC5350</a>]).
<span class="h4"><a class="selflink" id="section-4.8.3" href="#section-4.8.3">4.8.3</a>. Threats</span>
The security implications of the Router Alert option have been
discussed in detail in [<a href="./rfc6398" title=""IP Router Alert Considerations and Usage"">RFC6398</a>]. Basically, the Router Alert option
might be exploited to perform a DoS attack by exhausting CPU
resources at the processing routers.
<span class="h4"><a class="selflink" id="section-4.8.4" href="#section-4.8.4">4.8.4</a>. Operational and Interoperability Impact if Blocked</span>
Applications that employ the Router Alert option (such as RSVP
[<a href="./rfc2205" title=""Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification"">RFC2205</a>]) would break.
<span class="grey">Gont, et al. Best Current Practice [Page 14]</span>
<span id="page-15" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.8.5" href="#section-4.8.5">4.8.5</a>. Advice</span>
This option SHOULD be allowed only in controlled environments, where
the option can be used safely. [<a href="./rfc6398" title=""IP Router Alert Considerations and Usage"">RFC6398</a>] identifies some such
environments. In unsafe environments, packets containing this option
SHOULD be dropped.
A given router, security gateway, or firewall system has no way of
knowing a priori whether this option is valid in its operational
environment. Therefore, routers, security gateways, and firewalls
SHOULD, by default, ignore the Router Alert option. Additionally,
routers, security gateways, and firewalls SHOULD have a configuration
setting that governs their reaction in the presence of packets
containing the Router Alert option. This configuration setting
SHOULD allow to honor and process the option, ignore the option, or
drop packets containing this option.
<span class="h3"><a class="selflink" id="section-4.9" href="#section-4.9">4.9</a>. Probe MTU (Type = 11) (obsolete)</span>
<span class="h4"><a class="selflink" id="section-4.9.1" href="#section-4.9.1">4.9.1</a>. Uses</span>
This option originally provided a mechanism to discover the Path-MTU.
It has been declared obsolete.
<span class="h4"><a class="selflink" id="section-4.9.2" href="#section-4.9.2">4.9.2</a>. Option Specification</span>
This option was originally defined in <a href="./rfc1063">RFC 1063</a> [<a href="./rfc1063" title=""IP MTU discovery options"">RFC1063</a>] and was
obsoleted with <a href="./rfc1191">RFC 1191</a> [<a href="./rfc1191" title=""Path MTU discovery"">RFC1191</a>]. This option is now obsolete, as
<a href="./rfc1191">RFC 1191</a> obsoletes <a href="./rfc1063">RFC 1063</a> without using IP options.
<span class="h4"><a class="selflink" id="section-4.9.3" href="#section-4.9.3">4.9.3</a>. Threats</span>
This option is obsolete. This option could have been exploited to
cause a host to set its Path MTU (PMTU) estimate to an inordinately
low or an inordinately high value, thereby causing performance
problems.
<span class="h4"><a class="selflink" id="section-4.9.4" href="#section-4.9.4">4.9.4</a>. Operational and Interoperability Impact if Blocked</span>
None
This option is NOT employed with the modern "Path MTU Discovery"
(PMTUD) mechanism [<a href="./rfc1191" title=""Path MTU discovery"">RFC1191</a>], which employs special ICMP messages
(Type 3, Code 4) in combination with the IP DF bit. Packetization
Layer PMTUD (PLPMTUD) [<a href="./rfc4821" title=""Packetization Layer Path MTU Discovery"">RFC4821</a>] can perform PMTUD without the need
for any special packets.
<span class="grey">Gont, et al. Best Current Practice [Page 15]</span>
<span id="page-16" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.9.5" href="#section-4.9.5">4.9.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets that
contain a Probe MTU option.
<span class="h3"><a class="selflink" id="section-4.10" href="#section-4.10">4.10</a>. Reply MTU (Type = 12) (obsolete)</span>
<span class="h4"><a class="selflink" id="section-4.10.1" href="#section-4.10.1">4.10.1</a>. Uses</span>
This option originally provided a mechanism to discover the Path-MTU.
It is now obsolete.
<span class="h4"><a class="selflink" id="section-4.10.2" href="#section-4.10.2">4.10.2</a>. Option Specification</span>
This option was originally defined in <a href="./rfc1063">RFC 1063</a> [<a href="./rfc1063" title=""IP MTU discovery options"">RFC1063</a>] and was
obsoleted with <a href="./rfc1191">RFC 1191</a> [<a href="./rfc1191" title=""Path MTU discovery"">RFC1191</a>]. This option is now obsolete, as
<a href="./rfc1191">RFC 1191</a> obsoletes <a href="./rfc1063">RFC 1063</a> without using IP options.
<span class="h4"><a class="selflink" id="section-4.10.3" href="#section-4.10.3">4.10.3</a>. Threats</span>
This option is obsolete. This option could have been exploited to
cause a host to set its PMTU estimate to an inordinately low or an
inordinately high value, thereby causing performance problems.
<span class="h4"><a class="selflink" id="section-4.10.4" href="#section-4.10.4">4.10.4</a>. Operational and Interoperability Impact if Blocked</span>
None
This option is NOT employed with the modern "Path MTU Discovery"
(PMTUD) mechanism [<a href="./rfc1191" title=""Path MTU discovery"">RFC1191</a>], which employs special ICMP messages
(Type 3, Code 4) in combination with the IP DF bit. PLPMTUD
[<a href="./rfc4821" title=""Packetization Layer Path MTU Discovery"">RFC4821</a>] can perform PMTUD without the need of any special
packets.
<span class="h4"><a class="selflink" id="section-4.10.5" href="#section-4.10.5">4.10.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets that
contain a Reply MTU option.
<span class="h3"><a class="selflink" id="section-4.11" href="#section-4.11">4.11</a>. Traceroute (Type = 82)</span>
<span class="h4"><a class="selflink" id="section-4.11.1" href="#section-4.11.1">4.11.1</a>. Uses</span>
This option originally provided a mechanism to trace the path to a
host.
<span class="grey">Gont, et al. Best Current Practice [Page 16]</span>
<span id="page-17" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.11.2" href="#section-4.11.2">4.11.2</a>. Option Specification</span>
This option was originally specified by <a href="./rfc1393">RFC 1393</a> [<a href="./rfc1393" title=""Traceroute Using an IP Option"">RFC1393</a>] as
"experimental", and it was never widely deployed on the public
Internet. This option has been formally obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.11.3" href="#section-4.11.3">4.11.3</a>. Threats</span>
This option is obsolete. Because this option required each router in
the path both to provide special processing and to send an ICMP
message, it could have been exploited to perform a DoS attack by
exhausting CPU resources at the processing routers.
<span class="h4"><a class="selflink" id="section-4.11.4" href="#section-4.11.4">4.11.4</a>. Operational and Interoperability Impact if Blocked</span>
None
<span class="h4"><a class="selflink" id="section-4.11.5" href="#section-4.11.5">4.11.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets that
contain a Traceroute option.
<span class="h3"><a class="selflink" id="section-4.12" href="#section-4.12">4.12</a>. DoD Basic Security Option (Type = 130)</span>
<span class="h4"><a class="selflink" id="section-4.12.1" href="#section-4.12.1">4.12.1</a>. Uses</span>
This option [<a href="./rfc1108" title=""U.S. Department of Defense Security Options for the Internet Protocol"">RFC1108</a>] is used by Multi-Level Secure (MLS) end-systems
and intermediate systems in specific environments to:
o transmit from source to destination in a network standard
representation the common security labels required by computer
security models [<a href="#ref-Landwehr81">Landwehr81</a>],
o validate the datagram as appropriate for transmission from the
source and delivery to the destination, and,
o ensure that the route taken by the datagram is protected to the
level required by all protection authorities indicated on the
datagram.
The DoD Basic Security Option (BSO) was implemented in IRIX
[<a href="#ref-IRIX2008" title=""IRIX 6.5 trusted_networking(7) manual page"">IRIX2008</a>] and is currently implemented in a number of operating
systems (e.g., Security-Enhanced Linux [<a href="#ref-SELinux2008">SELinux2008</a>], Solaris
[<a href="#ref-Solaris2008">Solaris2008</a>], and Cisco IOS [<a href="#ref-Cisco-IPSO">Cisco-IPSO</a>]). It is also currently
deployed in a number of high-security networks. These networks are
typically either in physically secure locations, protected by
military/governmental communications security equipment, or both.
<span class="grey">Gont, et al. Best Current Practice [Page 17]</span>
<span id="page-18" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
Such networks are typically built using commercial off-the-shelf
(COTS) IP routers and Ethernet switches, but they are not normally
interconnected with the global public Internet. MLS systems are much
more widely deployed now than they were at the time the then-IESG
decided to remove IPSO (IP Security Options) from the IETF Standards
Track. Since nearly all MLS systems also support IPSO BSO and IPSO
ESO, this option is believed to have more deployment now than when
the IESG removed this option from the IETF Standards Track.
[<a href="./rfc5570" title=""Common Architecture Label IPv6 Security Option (CALIPSO)"">RFC5570</a>] describes a similar option recently defined for IPv6 and
has much more detailed explanations of how sensitivity label options
are used in real-world deployments.
<span class="h4"><a class="selflink" id="section-4.12.2" href="#section-4.12.2">4.12.2</a>. Option Specification</span>
It is specified by <a href="./rfc1108">RFC 1108</a> [<a href="./rfc1108" title=""U.S. Department of Defense Security Options for the Internet Protocol"">RFC1108</a>], which obsoleted <a href="./rfc1038">RFC 1038</a>
[<a href="./rfc1038" title=""Draft revised IP security option"">RFC1038</a>] (which in turn obsoleted the Security Option defined in <a href="./rfc791">RFC</a>
<a href="./rfc791">791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>]).
<a href="./rfc791">RFC 791</a> [<a href="./rfc0791" title=""Internet Protocol"">RFC0791</a>] defined the "Security Option" (Type = 130),
which used the same option type as the DoD Basic Security option
discussed in this section. Later, <a href="./rfc1038">RFC 1038</a> [<a href="./rfc1038" title=""Draft revised IP security option"">RFC1038</a>] revised the
IP security options, and in turn was obsoleted by <a href="./rfc1108">RFC 1108</a>
[<a href="./rfc1108" title=""U.S. Department of Defense Security Options for the Internet Protocol"">RFC1108</a>]. The "Security Option" specified in <a href="./rfc791">RFC 791</a> is
considered obsolete by <a href="./rfc1122#section-3.2.1.8">Section 3.2.1.8 of RFC 1122</a> [<a href="./rfc1122" title=""Requirements for Internet Hosts - Communication Layers"">RFC1122</a>] and
<a href="./rfc1812#section-4.2.2.1">Section 4.2.2.1 of RFC 1812</a> [<a href="./rfc1812" title=""Requirements for IP Version 4 Routers"">RFC1812</a>], and therefore the
discussion in this section is focused on the DoD Basic Security
option specified by <a href="./rfc1108">RFC 1108</a> [<a href="./rfc1108" title=""U.S. Department of Defense Security Options for the Internet Protocol"">RFC1108</a>].
<a href="./rfc1812#section-4.2.2.1">Section 4.2.2.1 of RFC 1812</a> states that routers "SHOULD implement
[this option]".
Some private IP networks consider IP router-based per-interface
selective filtering of packets based on (a) the presence of an
IPSO option (including BSO and ESO) and (b) the contents of that
IPSO option to be important for operational security reasons. The
recent IPv6 Common Architecture Label IPv6 Security Option
(CALIPSO) specification discusses this in additional detail,
albeit in an IPv6 context [<a href="./rfc5570" title=""Common Architecture Label IPv6 Security Option (CALIPSO)"">RFC5570</a>].
Such private IP networks commonly are built using both commercial
and open-source products -- for hosts, guards, firewalls,
switches, routers, etc. Some commercial IP routers support this
option, as do some IP routers that are built on top of MLS
operating systems (e.g., on top of Trusted Solaris [<a href="#ref-Solaris2008">Solaris2008</a>]
or Security-Enhanced Linux [<a href="#ref-SELinux2008">SELinux2008</a>]).
<span class="grey">Gont, et al. Best Current Practice [Page 18]</span>
<span id="page-19" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
For example, many Cisco routers that run Cisco IOS include support
for selectively filtering packets that contain the IP Security
Options (IPSO) with per-interface granularity. This capability
has been present in many Cisco routers since the early 1990s
[<a href="#ref-Cisco-IPSO-Cmds">Cisco-IPSO-Cmds</a>]. Some government-sector products reportedly
also support the IP Security Options (IPSO), for example, CANEWARE
[<a href="./rfc4949" title=""Internet Security Glossary, Version 2"">RFC4949</a>].
Support for the IPSO Basic Security Option also is included in the
"IPsec Configuration Policy Information Model" [<a href="./rfc3585" title=""IPsec Configuration Policy Information Model"">RFC3585</a>] and in
the "IPsec Security Policy Database Configuration MIB" [<a href="./rfc4807" title=""IPsec Security Policy Database Configuration MIB"">RFC4807</a>].
<a href="#section-4.6.1">Section 4.6.1</a> of the IP Security Domain of Interpretation
[<a href="./rfc2407" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">RFC2407</a>] includes support for labeled IPsec security associations
compatible with the IP Security Options. (Note: <a href="./rfc2407">RFC 2407</a> was
obsoleted by [<a href="./rfc4306" title=""Internet Key Exchange (IKEv2) Protocol"">RFC4306</a>], which was obsoleted by [<a href="./rfc5996" title=""Internet Key Exchange Protocol Version 2 (IKEv2)"">RFC5996</a>].)
<span class="h4"><a class="selflink" id="section-4.12.3" href="#section-4.12.3">4.12.3</a>. Threats</span>
Presence of this option in a packet does not by itself create any
specific new threat. Packets with this option ought not normally be
seen on the global public Internet.
<span class="h4"><a class="selflink" id="section-4.12.4" href="#section-4.12.4">4.12.4</a>. Operational and Interoperability Impact if Blocked</span>
If packets with this option are blocked or if the option is stripped
from the packet during transmission from source to destination, then
the packet itself is likely to be dropped by the receiver because it
is not properly labeled. In some cases, the receiver might receive
the packet but associate an incorrect sensitivity label with the
received data from the packet whose BSO was stripped by an
intermediate router or firewall. Associating an incorrect
sensitivity label can cause the received information either to be
handled as more sensitive than it really is ("upgrading") or as less
sensitive than it really is ("downgrading"), either of which is
problematic.
<span class="h4"><a class="selflink" id="section-4.12.5" href="#section-4.12.5">4.12.5</a>. Advice</span>
A given IP router, security gateway, or firewall has no way to know a
priori what environment it has been deployed into. Even closed IP
deployments generally use exactly the same commercial routers,
security gateways, and firewalls that are used in the public
Internet.
<span class="grey">Gont, et al. Best Current Practice [Page 19]</span>
<span id="page-20" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
Since operational problems result in environments where this option
is needed if either the option is dropped or IP packets containing
this option are dropped, but no harm results if the option is carried
in environments where it is not needed, the default configuration
SHOULD NOT (a) modify or remove this IP option or (b) drop an IP
packet because the IP packet contains this option.
A given IP router, security gateway, or firewall MAY be configured to
drop this option or to drop IP packets containing this option in an
environment known to not use this option.
For auditing reasons, routers, security gateways, and firewalls
SHOULD be capable of logging the numbers of packets containing the
BSO on a per-interface basis. Also, routers, security gateways, and
firewalls SHOULD be capable of dropping packets based on the BSO
presence as well as the BSO values.
<span class="h3"><a class="selflink" id="section-4.13" href="#section-4.13">4.13</a>. DoD Extended Security Option (Type = 133)</span>
<span class="h4"><a class="selflink" id="section-4.13.1" href="#section-4.13.1">4.13.1</a>. Uses</span>
This option permits additional security labeling information, beyond
that present in the Basic Security Option (<a href="#section-4.12">Section 4.12</a>), to be
supplied in an IP datagram to meet the needs of registered
authorities.
<span class="h4"><a class="selflink" id="section-4.13.2" href="#section-4.13.2">4.13.2</a>. Option Specification</span>
The DoD Extended Security Option (ESO) is specified by <a href="./rfc1108">RFC 1108</a>
[<a href="./rfc1108" title=""U.S. Department of Defense Security Options for the Internet Protocol"">RFC1108</a>].
Some private IP networks consider IP router-based per-interface
selective filtering of packets based on (a) the presence of an
IPSO option (including BSO and ESO) and (b) based on the contents
of that IPSO option to be important for operational security
reasons. The recent IPv6 CALIPSO option specification discusses
this in additional detail, albeit in an IPv6 context [<a href="./rfc5570" title=""Common Architecture Label IPv6 Security Option (CALIPSO)"">RFC5570</a>].
Such private IP networks commonly are built using both commercial
and open-source products -- for hosts, guards, firewalls,
switches, routers, etc. Some commercial IP routers support this
option, as do some IP routers that are built on top of MLS
operating systems (e.g., on top of Trusted Solaris [<a href="#ref-Solaris2008">Solaris2008</a>]
or Security-Enhanced Linux [<a href="#ref-SELinux2008">SELinux2008</a>]).
For example, many Cisco routers that run Cisco IOS include support
for selectively filtering packets that contain the IP Security
Options (IPSO) with per-interface granularity. This capability
<span class="grey">Gont, et al. Best Current Practice [Page 20]</span>
<span id="page-21" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
has been present in many Cisco routers since the early 1990s
[<a href="#ref-Cisco-IPSO-Cmds">Cisco-IPSO-Cmds</a>]. Some government sector products reportedly
also support the IP Security Options (IPSO), for example, CANEWARE
[<a href="./rfc4949" title=""Internet Security Glossary, Version 2"">RFC4949</a>].
Support for the IPSO Extended Security Option also is included in
the "IPsec Configuration Policy Information Model" [<a href="./rfc3585" title=""IPsec Configuration Policy Information Model"">RFC3585</a>] and
in the "IPsec Security Policy Database Configuration MIB"
[<a href="./rfc4807" title=""IPsec Security Policy Database Configuration MIB"">RFC4807</a>]. <a href="#section-4.6.1">Section 4.6.1</a> of the IP Security Domain of
Interpretation [<a href="./rfc2407" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">RFC2407</a>] includes support for labeled IPsec
security associations compatible with the IP Security Options.
<span class="h4"><a class="selflink" id="section-4.13.3" href="#section-4.13.3">4.13.3</a>. Threats</span>
Presence of this option in a packet does not by itself create any
specific new threat. Packets with this option ought not normally be
seen on the global public Internet.
<span class="h4"><a class="selflink" id="section-4.13.4" href="#section-4.13.4">4.13.4</a>. Operational and Interoperability Impact if Blocked</span>
If packets with this option are blocked or if the option is stripped
from the packet during transmission from source to destination, then
the packet itself is likely to be dropped by the receiver because it
is not properly labeled. In some cases, the receiver might receive
the packet but associate an incorrect sensitivity label with the
received data from the packet whose ESO was stripped by an
intermediate router or firewall. Associating an incorrect
sensitivity label can cause the received information either to be
handled as more sensitive than it really is ("upgrading") or as less
sensitive than it really is ("downgrading"), either of which is
problematic.
<span class="h4"><a class="selflink" id="section-4.13.5" href="#section-4.13.5">4.13.5</a>. Advice</span>
A given IP router, security gateway, or firewall has no way to know a
priori what environment it has been deployed into. Even closed IP
deployments generally use exactly the same commercial routers,
security gateways, and firewalls that are used in the public
Internet.
Since operational problems result in environments where this option
is needed if either the option is dropped or IP packets containing
this option are dropped, but no harm results if the option is carried
in environments where it is not needed, the default configuration
SHOULD NOT (a) modify or remove this IP option or (b) drop an IP
packet because the IP packet contains this option.
<span class="grey">Gont, et al. Best Current Practice [Page 21]</span>
<span id="page-22" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
A given IP router, security gateway, or firewall MAY be configured to
drop this option or to drop IP packets containing this option in an
environment known to not use this option.
For auditing reasons, routers, security gateways, and firewalls
SHOULD be capable of logging the numbers of packets containing the
ESO on a per-interface basis. Also, routers, security gateways, and
firewalls SHOULD be capable of dropping packets based on the ESO
presence as well as the ESO values.
<span class="h3"><a class="selflink" id="section-4.14" href="#section-4.14">4.14</a>. Commercial IP Security Option (CIPSO) (Type = 134)</span>
<span class="h4"><a class="selflink" id="section-4.14.1" href="#section-4.14.1">4.14.1</a>. Uses</span>
This option was proposed by the Trusted Systems Interoperability
Group (TSIG), with the intent of meeting trusted networking
requirements for the commercial trusted systems marketplace.
It was implemented in IRIX [<a href="#ref-IRIX2008" title=""IRIX 6.5 trusted_networking(7) manual page"">IRIX2008</a>] and is currently implemented in
a number of operating systems (e.g., Security-Enhanced Linux
[<a href="#ref-SELinux2008">SELinux2008</a>] and Solaris [<a href="#ref-Solaris2008">Solaris2008</a>]). It is also currently
deployed in a number of high-security networks.
<span class="h4"><a class="selflink" id="section-4.14.2" href="#section-4.14.2">4.14.2</a>. Option Specification</span>
This option is specified in [<a href="#ref-CIPSO" title=""COMMERCIAL IP SECURITY OPTION (CIPSO 2.2)"">CIPSO</a>] and [<a href="#ref-FIPS1994">FIPS1994</a>]. There are zero
known IP router implementations of CIPSO. Several MLS operating
systems support CIPSO, generally the same MLS operating systems that
support IPSO.
The TSIG proposal was taken to the Commercial Internet Security
Option (CIPSO) Working Group of the IETF [<a href="#ref-CIPSOWG1994">CIPSOWG1994</a>], and an
Internet-Draft was produced [<a href="#ref-CIPSO" title=""COMMERCIAL IP SECURITY OPTION (CIPSO 2.2)"">CIPSO</a>]. The Internet-Draft was never
published as an RFC, but the proposal was later standardized by
the U.S. National Institute of Standards and Technology (NIST) as
"Federal Information Processing Standard Publication 188"
[<a href="#ref-FIPS1994">FIPS1994</a>].
<span class="h4"><a class="selflink" id="section-4.14.3" href="#section-4.14.3">4.14.3</a>. Threats</span>
Presence of this option in a packet does not by itself create any
specific new threat. Packets with this option ought not normally be
seen on the global public Internet.
<span class="grey">Gont, et al. Best Current Practice [Page 22]</span>
<span id="page-23" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.14.4" href="#section-4.14.4">4.14.4</a>. Operational and Interoperability Impact if Blocked</span>
If packets with this option are blocked or if the option is stripped
from the packet during transmission from source to destination, then
the packet itself is likely to be dropped by the receiver because it
is not properly labeled. In some cases, the receiver might receive
the packet but associate an incorrect sensitivity label with the
received data from the packet whose CIPSO was stripped by an
intermediate router or firewall. Associating an incorrect
sensitivity label can cause the received information either to be
handled as more sensitive than it really is ("upgrading") or as less
sensitive than it really is ("downgrading"), either of which is
problematic.
<span class="h4"><a class="selflink" id="section-4.14.5" href="#section-4.14.5">4.14.5</a>. Advice</span>
Because of the design of this option, with variable syntax and
variable length, it is not practical to support specialized filtering
using the CIPSO information. No routers or firewalls are known to
support this option. However, routers, security gateways, and
firewalls SHOULD NOT by default modify or remove this option from IP
packets and SHOULD NOT by default drop packets because they contain
this option. For auditing reasons, routers, security gateways, and
firewalls SHOULD be capable of logging the numbers of packets
containing the CIPSO on a per-interface basis. Also, routers,
security gateways, and firewalls SHOULD be capable of dropping
packets based on the CIPSO presence.
<span class="h3"><a class="selflink" id="section-4.15" href="#section-4.15">4.15</a>. VISA (Type = 142)</span>
<span class="h4"><a class="selflink" id="section-4.15.1" href="#section-4.15.1">4.15.1</a>. Uses</span>
This options was part of an experiment at the University of Southern
California (USC) and was never widely deployed.
<span class="h4"><a class="selflink" id="section-4.15.2" href="#section-4.15.2">4.15.2</a>. Option Specification</span>
The original option specification is not publicly available. This
option has been formally obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.15.3" href="#section-4.15.3">4.15.3</a>. Threats</span>
Not possible to determine (other than the general security
implications of IP options discussed in <a href="#section-3">Section 3</a>), since the
corresponding specification is not publicly available.
<span class="grey">Gont, et al. Best Current Practice [Page 23]</span>
<span id="page-24" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.15.4" href="#section-4.15.4">4.15.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.15.5" href="#section-4.15.5">4.15.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets that
contain this option.
<span class="h3"><a class="selflink" id="section-4.16" href="#section-4.16">4.16</a>. Extended Internet Protocol (Type = 145)</span>
<span class="h4"><a class="selflink" id="section-4.16.1" href="#section-4.16.1">4.16.1</a>. Uses</span>
The EIP option was introduced by one of the proposals submitted
during the IP Next Generation (IPng) efforts to address the problem
of IPv4 address exhaustion.
<span class="h4"><a class="selflink" id="section-4.16.2" href="#section-4.16.2">4.16.2</a>. Option Specification</span>
Specified in [<a href="./rfc1385" title=""EIP: The Extended Internet Protocol"">RFC1385</a>]. This option has been formally obsoleted by
[<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.16.3" href="#section-4.16.3">4.16.3</a>. Threats</span>
This option is obsolete. This option was used (or was intended to be
used) to signal that a packet superficially similar to an IPv4 packet
actually contained a different protocol, opening up the possibility
that an IPv4 node that simply ignored this option would process a
received packet in a manner inconsistent with the intent of the
sender. There are no known threats arising from this option, other
than the general security implications of IP options discussed in
<a href="#section-3">Section 3</a>.
<span class="h4"><a class="selflink" id="section-4.16.4" href="#section-4.16.4">4.16.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.16.5" href="#section-4.16.5">4.16.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop packets that
contain this option.
<span class="grey">Gont, et al. Best Current Practice [Page 24]</span>
<span id="page-25" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h3"><a class="selflink" id="section-4.17" href="#section-4.17">4.17</a>. Address Extension (Type = 147)</span>
<span class="h4"><a class="selflink" id="section-4.17.1" href="#section-4.17.1">4.17.1</a>. Uses</span>
The Address Extension option was introduced by one of the proposals
submitted during the IPng efforts to address the problem of IPv4
address exhaustion.
<span class="h4"><a class="selflink" id="section-4.17.2" href="#section-4.17.2">4.17.2</a>. Option Specification</span>
Specified in [<a href="./rfc1475" title=""TP/IX: The Next Internet"">RFC1475</a>]. This option has been formally obsoleted by
[<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.17.3" href="#section-4.17.3">4.17.3</a>. Threats</span>
There are no known threats arising from this option, other than the
general security implications of IP options discussed in <a href="#section-3">Section 3</a>.
<span class="h4"><a class="selflink" id="section-4.17.4" href="#section-4.17.4">4.17.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.17.5" href="#section-4.17.5">4.17.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop packets that
contain this option.
<span class="h3"><a class="selflink" id="section-4.18" href="#section-4.18">4.18</a>. Sender Directed Multi-Destination Delivery (Type = 149)</span>
<span class="h4"><a class="selflink" id="section-4.18.1" href="#section-4.18.1">4.18.1</a>. Uses</span>
This option originally provided unreliable UDP delivery to a set of
addresses included in the option.
<span class="h4"><a class="selflink" id="section-4.18.2" href="#section-4.18.2">4.18.2</a>. Option Specification</span>
This option is specified in <a href="./rfc1770">RFC 1770</a> [<a href="./rfc1770" title=""IPv4 Option for Sender Directed Multi- Destination Delivery"">RFC1770</a>]. It has been formally
obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.18.3" href="#section-4.18.3">4.18.3</a>. Threats</span>
This option could have been exploited for bandwidth-amplification in
DoS attacks.
<span class="h4"><a class="selflink" id="section-4.18.4" href="#section-4.18.4">4.18.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="grey">Gont, et al. Best Current Practice [Page 25]</span>
<span id="page-26" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.18.5" href="#section-4.18.5">4.18.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop IP packets that
contain a Sender Directed Multi-Destination Delivery option.
<span class="h3"><a class="selflink" id="section-4.19" href="#section-4.19">4.19</a>. Dynamic Packet State (Type = 151)</span>
<span class="h4"><a class="selflink" id="section-4.19.1" href="#section-4.19.1">4.19.1</a>. Uses</span>
The Dynamic Packet State option was used to specify the Dynamic
Packet State (DPS) in the context of the differentiated services
architecture.
<span class="h4"><a class="selflink" id="section-4.19.2" href="#section-4.19.2">4.19.2</a>. Option Specification</span>
The Dynamic Packet State option was specified in [<a href="#ref-DIFFSERV-DPS">DIFFSERV-DPS</a>]. The
aforementioned document was meant to be published as "Experimental",
but never made it into an RFC. This option has been formally
obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.19.3" href="#section-4.19.3">4.19.3</a>. Threats</span>
Possible threats include theft of service and denial of service.
However, we note that this option has never been widely implemented
or deployed.
<span class="h4"><a class="selflink" id="section-4.19.4" href="#section-4.19.4">4.19.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.19.5" href="#section-4.19.5">4.19.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop packets that
contain this option.
<span class="h3"><a class="selflink" id="section-4.20" href="#section-4.20">4.20</a>. Upstream Multicast Pkt. (Type = 152)</span>
<span class="h4"><a class="selflink" id="section-4.20.1" href="#section-4.20.1">4.20.1</a>. Uses</span>
This option was meant to solve the problem of doing upstream
forwarding of multicast packets on a multi-access LAN.
<span class="h4"><a class="selflink" id="section-4.20.2" href="#section-4.20.2">4.20.2</a>. Option Specification</span>
This option was originally specified in [<a href="#ref-BIDIR-TREES">BIDIR-TREES</a>]. It was never
formally standardized in the RFC series and was never widely
implemented and deployed. Its use was obsoleted by [<a href="./rfc5015" title=""Bidirectional Protocol Independent Multicast (BIDIR- PIM)"">RFC5015</a>], which
<span class="grey">Gont, et al. Best Current Practice [Page 26]</span>
<span id="page-27" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
employs a control-plane mechanism to solve the problem of doing
upstream forwarding of multicast packets on a multi-access LAN. This
option has been formally obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.20.3" href="#section-4.20.3">4.20.3</a>. Threats</span>
This option is obsolete. A router that ignored this option instead
of processing it as specified in [<a href="#ref-BIDIR-TREES">BIDIR-TREES</a>] could have forwarded
multicast packets to an unintended destination.
<span class="h4"><a class="selflink" id="section-4.20.4" href="#section-4.20.4">4.20.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.20.5" href="#section-4.20.5">4.20.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD drop packets that
contain this option.
<span class="h3"><a class="selflink" id="section-4.21" href="#section-4.21">4.21</a>. Quick-Start (Type = 25)</span>
<span class="h4"><a class="selflink" id="section-4.21.1" href="#section-4.21.1">4.21.1</a>. Uses</span>
This IP Option is used in the specification of Quick-Start for TCP
and IP, which is an experimental mechanism that allows transport
protocols, in cooperation with routers, to determine an allowed
sending rate at the start and, at times, in the middle of a data
transfer (e.g., after an idle period) [<a href="./rfc4782" title=""Quick- Start for TCP and IP"">RFC4782</a>].
<span class="h4"><a class="selflink" id="section-4.21.2" href="#section-4.21.2">4.21.2</a>. Option Specification</span>
Specified in <a href="./rfc4782">RFC 4782</a> [<a href="./rfc4782" title=""Quick- Start for TCP and IP"">RFC4782</a>], on the "Experimental" track.
<span class="h4"><a class="selflink" id="section-4.21.3" href="#section-4.21.3">4.21.3</a>. Threats</span>
<a href="./rfc4782#section-9.6">Section 9.6 of [RFC4782]</a> notes that Quick-Start is vulnerable to two
kinds of attacks:
o attacks to increase the routers' processing and state load, and,
o attacks with bogus Quick-Start Requests to temporarily tie up
available Quick-Start bandwidth, preventing routers from approving
Quick-Start Requests from other connections.
<span class="grey">Gont, et al. Best Current Practice [Page 27]</span>
<span id="page-28" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.21.4" href="#section-4.21.4">4.21.4</a>. Operational and Interoperability Impact if Blocked</span>
The Quick-Start functionality would be disabled, and additional
delays in TCP's connection establishment (for example) could be
introduced. (Please see <a href="./rfc4782#section-4.7.2">Section 4.7.2 of [RFC4782]</a>.) We note,
however, that Quick-Start has been proposed as a mechanism that could
be of use in controlled environments, and not as a mechanism that
would be intended or appropriate for ubiquitous deployment in the
global Internet [<a href="./rfc4782" title=""Quick- Start for TCP and IP"">RFC4782</a>].
<span class="h4"><a class="selflink" id="section-4.21.5" href="#section-4.21.5">4.21.5</a>. Advice</span>
A given router, security gateway, or firewall system has no way of
knowing a priori whether this option is valid in its operational
environment. Therefore, routers, security gateways, and firewalls
SHOULD, by default, ignore the Quick-Start option. Additionally,
routers, security gateways, and firewalls SHOULD have a configuration
setting that governs their reaction in the presence of packets
containing the Quick-Start option. This configuration setting SHOULD
allow to honor and process the option, ignore the option, or drop
packets containing this option. The default configuration is to
ignore the Quick-Start option.
We note that if routers in a given environment do not implement
and enable the Quick-Start mechanism, only the general security
implications of IP options (discussed in <a href="#section-3">Section 3</a>) would apply.
<span class="h3"><a class="selflink" id="section-4.22" href="#section-4.22">4.22</a>. <a href="./rfc3692">RFC3692</a>-Style Experiment (Types = 30, 94, 158, and 222)</span>
<a href="./rfc4727#section-2.5">Section 2.5 of RFC 4727</a> [<a href="./rfc4727" title=""Experimental Values In IPv4, IPv6, ICMPv4, ICMPv6, UDP, and TCP Headers"">RFC4727</a>] allocates an option number with all
defined values of the "copy" and "class" fields for <a href="./rfc3692">RFC3692</a>-style
experiments. This results in four distinct option type codes: 30,
94, 158, and 222.
<span class="h4"><a class="selflink" id="section-4.22.1" href="#section-4.22.1">4.22.1</a>. Uses</span>
It is only appropriate to use these values in explicitly configured
experiments; they MUST NOT be shipped as defaults in implementations.
<span class="h4"><a class="selflink" id="section-4.22.2" href="#section-4.22.2">4.22.2</a>. Option Specification</span>
Specified in <a href="./rfc4727">RFC 4727</a> [<a href="./rfc4727" title=""Experimental Values In IPv4, IPv6, ICMPv4, ICMPv6, UDP, and TCP Headers"">RFC4727</a>] in the context of <a href="./rfc3692">RFC3692</a>-style
experiments.
<span class="h4"><a class="selflink" id="section-4.22.3" href="#section-4.22.3">4.22.3</a>. Threats</span>
No specific security issues are known for this IPv4 option.
<span class="grey">Gont, et al. Best Current Practice [Page 28]</span>
<span id="page-29" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h4"><a class="selflink" id="section-4.22.4" href="#section-4.22.4">4.22.4</a>. Operational and Interoperability Impact if Blocked</span>
None.
<span class="h4"><a class="selflink" id="section-4.22.5" href="#section-4.22.5">4.22.5</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD have configuration
knobs for IP packets that contain <a href="./rfc3692">RFC3692</a>-style Experiment options to
select between "ignore & forward" and "drop & log". Otherwise, no
legitimate experiment using these options will be able to traverse
any IP router.
Special care needs to be taken in the case of "drop & log". Devices
SHOULD count the number of packets dropped, but the logging of drop
events SHOULD be limited so as to not overburden device resources.
The aforementioned configuration knob SHOULD default to "drop & log".
<span class="h3"><a class="selflink" id="section-4.23" href="#section-4.23">4.23</a>. Other IP Options</span>
<span class="h4"><a class="selflink" id="section-4.23.1" href="#section-4.23.1">4.23.1</a>. Specification</span>
Unrecognized IP options are to be ignored. Section 3.2.1.8 of <a href="./rfc1122">RFC</a>
<a href="./rfc1122">1122</a> [<a href="./rfc1122" title=""Requirements for Internet Hosts - Communication Layers"">RFC1122</a>] specifies this behavior as follows:
The IP and transport layer MUST each interpret those IP options
that they understand and silently ignore the others.
Additionally, <a href="./rfc1812#section-4.2.2.6">Section 4.2.2.6 of RFC 1812</a> [<a href="./rfc1812" title=""Requirements for IP Version 4 Routers"">RFC1812</a>] specifies it as
follows:
A router MUST ignore IP options which it does not recognize.
This document adds that unrecognized IP options MAY also be logged.
Further, routers, security gateways, and firewalls MUST provide the
ability to log drop events of IP packets containing unrecognized or
obsolete options.
<span class="grey">Gont, et al. Best Current Practice [Page 29]</span>
<span id="page-30" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
A number of additional options are listed in the "IP OPTION NUMBERS"
IANA registry [<a href="#ref-IANA-IP" title=""IP OPTION NUMBERS"">IANA-IP</a>] as of the time this document was last edited.
Specifically:
Copy Class Number Value Name
---- ----- ------ ----- -------------------------------------------
0 0 10 10 ZSU - Experimental Measurement
1 2 13 205 FINN - Experimental Flow Control
0 0 15 15 ENCODE - ???
1 0 16 144 IMITD - IMI Traffic Descriptor
1 0 22 150 - Unassigned (Released 18 Oct. 2005)
The ENCODE option (type 15) has been formally obsoleted by [<a href="./rfc6814" title=""Formally Deprecating Some IPv4 Options"">RFC6814</a>].
<span class="h4"><a class="selflink" id="section-4.23.2" href="#section-4.23.2">4.23.2</a>. Threats</span>
The lack of open specifications for these options makes it impossible
to evaluate their security implications.
<span class="h4"><a class="selflink" id="section-4.23.3" href="#section-4.23.3">4.23.3</a>. Operational and Interoperability Impact if Blocked</span>
The lack of open specifications for these options makes it impossible
to evaluate the operational and interoperability impact if packets
containing these options are blocked.
<span class="h4"><a class="selflink" id="section-4.23.4" href="#section-4.23.4">4.23.4</a>. Advice</span>
Routers, security gateways, and firewalls SHOULD have configuration
knobs for IP packets containing these options (or other options not
recognized) to select between "ignore & forward" and "drop & log".
<a href="#section-4.23.1">Section 4.23.1</a> points out that [<a href="./rfc1122" title=""Requirements for Internet Hosts - Communication Layers"">RFC1122</a>] and [<a href="./rfc1812" title=""Requirements for IP Version 4 Routers"">RFC1812</a>] specify that
unrecognized IP options MUST be ignored. However, the previous
paragraph states that routers, security gateways, and firewalls
SHOULD have a configuration option for dropping and logging IP
packets containing unrecognized options. While it is acknowledged
that this advice contradicts the previous RFCs' requirements, the
advice in this document reflects current operational reality.
Special care needs to be taken in the case of "drop & log". Devices
SHOULD count the number of packets dropped, but the logging of drop
events SHOULD be limited so as to not overburden device resources.
<span class="grey">Gont, et al. Best Current Practice [Page 30]</span>
<span id="page-31" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Security Considerations</span>
This document provides advice on the filtering of IP packets that
contain IP options. Dropping such packets can help to mitigate the
security issues that arise from use of different IP options. Many of
the IPv4 options listed in this document are deprecated and cause no
operational impact if dropped. However, dropping packets containing
IPv4 options that are in use can cause real operational problems in
deployed networks. Therefore, the practice of dropping all IPv4
packets containing one or more IPv4 options without careful
consideration is not recommended.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgements</span>
The authors would like to thank (in alphabetical order) Ron Bonica,
C. M. Heard, Merike Kaeo, Panos Kampanakis, Suresh Krishnan, Arturo
Servin, SM, and Donald Smith for providing thorough reviews and
valuable comments. Merike Kaeo also contributed text used in this
document.
The authors also wish to thank various network operations folks who
supplied feedback on earlier versions of this document but did not
wish to be named explicitly in this document.
Part of this document is initially based on the document "Security
Assessment of the Internet Protocol" [<a href="#ref-CPNI2008" title=""Security Assessment of the Internet Protocol"">CPNI2008</a>] that is the result of
a project carried out by Fernando Gont on behalf of UK CPNI (formerly
NISCC). Fernando Gont would like to thank UK CPNI (formerly NISCC)
for their continued support.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-RFC0791">RFC0791</a>] Postel, J., "Internet Protocol", STD 5, <a href="./rfc791">RFC 791</a>, September
1981.
[<a id="ref-RFC1122">RFC1122</a>] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, <a href="./rfc1122">RFC 1122</a>, October 1989.
[<a id="ref-RFC1191">RFC1191</a>] Mogul, J. and S. Deering, "Path MTU discovery", <a href="./rfc1191">RFC 1191</a>,
November 1990.
[<a id="ref-RFC1812">RFC1812</a>] Baker, F., "Requirements for IP Version 4 Routers", <a href="./rfc1812">RFC</a>
<a href="./rfc1812">1812</a>, June 1995.
[<a id="ref-RFC2113">RFC2113</a>] Katz, D., "IP Router Alert Option", <a href="./rfc2113">RFC 2113</a>, February
1997.
<span class="grey">Gont, et al. Best Current Practice [Page 31]</span>
<span id="page-32" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC4727">RFC4727</a>] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4,
ICMPv6, UDP, and TCP Headers", <a href="./rfc4727">RFC 4727</a>, November 2006.
[<a id="ref-RFC4821">RFC4821</a>] Mathis, M. and J. Heffner, "Packetization Layer Path MTU
Discovery", <a href="./rfc4821">RFC 4821</a>, March 2007.
[<a id="ref-RFC5015">RFC5015</a>] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
"Bidirectional Protocol Independent Multicast (BIDIR-
PIM)", <a href="./rfc5015">RFC 5015</a>, October 2007.
[<a id="ref-RFC6398">RFC6398</a>] Le Faucheur, F., "IP Router Alert Considerations and
Usage", <a href="https://www.rfc-editor.org/bcp/bcp168">BCP 168</a>, <a href="./rfc6398">RFC 6398</a>, October 2011.
[<a id="ref-RFC6814">RFC6814</a>] Pignataro, C. and F. Gont, "Formally Deprecating Some IPv4
Options", <a href="./rfc6814">RFC 6814</a>, November 2012.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-BIDIR-TREES">BIDIR-TREES</a>]
Estrin, D. and D. Farinacci, "Bi-Directional Shared Trees
in PIM-SM", Work in Progress, May 1999.
[<a id="ref-BREMIER-BARR">BREMIER-BARR</a>]
Bremier-Barr, A. and H. Levy, "Spoofing prevention
method", Proceedings of IEEE InfoCom 2005, Volume 1, pp.
536-547, March 2005.
[<a id="ref-Biondi2007">Biondi2007</a>]
Biondi, P. and A. Ebalard, "IPv6 Routing Header Security",
CanSecWest 2007 Security Conference, 2007,
<<a href="http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf">http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf</a>>.
[<a id="ref-CIPSOWG1994">CIPSOWG1994</a>]
IETF CIPSO Working Group, "Commercial Internet Protocol
Security Option (CIPSO) Charter", 1994,
<<a href="http://www.ietf.org/proceedings/94jul/charters/cipso-charter.html">http://www.ietf.org/proceedings/94jul/charters/</a>
<a href="http://www.ietf.org/proceedings/94jul/charters/cipso-charter.html">cipso-charter.html</a>>.
[<a id="ref-CIPSO">CIPSO</a>] IETF CIPSO Working Group, "COMMERCIAL IP SECURITY OPTION
(CIPSO 2.2)", Work in Progress, 1992.
[<a id="ref-CPNI2008">CPNI2008</a>] Gont, F., "Security Assessment of the Internet Protocol",
2008,
<<a href="http://www.gont.com.ar/papers/InternetProtocol.pdf">http://www.gont.com.ar/papers/InternetProtocol.pdf</a>>.
<span class="grey">Gont, et al. Best Current Practice [Page 32]</span>
<span id="page-33" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
[<a id="ref-Cisco-IPSO-Cmds">Cisco-IPSO-Cmds</a>]
Cisco Systems, Inc., "IP Security Options Commands", Cisco
IOS Security Command Reference, Release 12.2,
<<a href="http://www.cisco.com/en/US/docs/ios/12_2/security/command/reference/srfipso.html">http://www.cisco.com/en/US/docs/ios/12_2/security/</a>
<a href="http://www.cisco.com/en/US/docs/ios/12_2/security/command/reference/srfipso.html">command/reference/srfipso.html</a>>.
[<a id="ref-Cisco-IPSO">Cisco-IPSO</a>]
Cisco Systems, Inc., "Configuring IP Security Options",
Cisco IOS Security Configuration Guide, Release 12.2,
2006, <<a href="http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scfipso.html">http://www.cisco.com/en/US/docs/ios/12_2/security/</a>
<a href="http://www.cisco.com/en/US/docs/ios/12_2/security/configuration/guide/scfipso.html">configuration/guide/scfipso.html</a>>.
[<a id="ref-DIFFSERV-DPS">DIFFSERV-DPS</a>]
Stoica, I., Zhang, H., Venkitaram, N., and J. Mysore, "Per
Hop Behaviors Based on Dynamic Packet State", Work in
Progress, October 2002.
[<a id="ref-FIPS1994">FIPS1994</a>]
FIPS, "Standard Security Label for Information Transfer",
Federal Information Processing Standards Publication, FIP
PUBS 188, 1994, <<a href="http://csrc.nist.gov/publications/fips/fips188/fips188.pdf">http://csrc.nist.gov/publications/fips/</a>
<a href="http://csrc.nist.gov/publications/fips/fips188/fips188.pdf">fips188/fips188.pdf</a>>.
[<a id="ref-FONSECA">FONSECA</a>] Fonseca, R., Porter, G., Katz, R., Shenker, S., and I.
Stoica, "IP Options are not an option", EECS Department,
University of California, Berkeley, December 2005,
<<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-24.html">http://www.eecs.berkeley.edu/Pubs/TechRpts/2005/</a>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-24.html">EECS-2005-24.html</a>>.
[<a id="ref-IANA-IP">IANA-IP</a>] IANA, "IP OPTION NUMBERS",
<<a href="http://www.iana.org/assignments/ip-parameters">http://www.iana.org/assignments/ip-parameters</a>>.
[<a id="ref-IRIX2008">IRIX2008</a>] IRIX, "IRIX 6.5 trusted_networking(7) manual page", 2008,
<<a href="http://techpubs.sgi.com/library/tpl/cgi-bin/">http://techpubs.sgi.com/library/tpl/cgi-bin/</a>
getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/a_man/
cat7/trusted_networking.z>.
[<a id="ref-Kohno2005">Kohno2005</a>]
Kohno, T., Broido, A., and kc. Claffy, "Remote Physical
Device Fingerprinting", IEEE Transactions on Dependable
and Secure Computing, Vol. 2, No. 2, 2005.
[<a id="ref-Landwehr81">Landwehr81</a>]
Landwehr, C., "Formal Models for Computer Security", ACM
Computing Surveys, Vol. 13, No. 3, Association for
Computing Machinery, New York, NY, USA, September 1981.
<span class="grey">Gont, et al. Best Current Practice [Page 33]</span>
<span id="page-34" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
[<a id="ref-MEDINA">MEDINA</a>] Medina, A., Allman, M., and S. Floyd, "Measuring
Interactions Between Transport Protocols and Middleboxes",
Proc. 4th ACM SIGCOMM/USENIX Conference on Internet
Measurement, October 2004.
[<a id="ref-Microsoft1999">Microsoft1999</a>]
Microsoft, "Microsoft Security Program: Microsoft Security
Bulletin (MS99-038). Patch Available for "Spoofed Route
Pointer" Vulnerability", September 1999,
<<a href="http://www.microsoft.com/technet/security/bulletin/ms99-038.mspx">http://www.microsoft.com/technet/security/bulletin/</a>
<a href="http://www.microsoft.com/technet/security/bulletin/ms99-038.mspx">ms99-038.mspx</a>>.
[<a id="ref-OpenBSD1998">OpenBSD1998</a>]
OpenBSD, "OpenBSD Security Advisory: IP Source Routing
Problem", February 1998,
<<a href="http://www.openbsd.org/advisories/sourceroute.txt">http://www.openbsd.org/advisories/sourceroute.txt</a>>.
[<a id="ref-RFC1038">RFC1038</a>] St. Johns, M., "Draft revised IP security option", <a href="./rfc1038">RFC</a>
<a href="./rfc1038">1038</a>, January 1988.
[<a id="ref-RFC1063">RFC1063</a>] Mogul, J., Kent, C., Partridge, C., and K. McCloghrie, "IP
MTU discovery options", <a href="./rfc1063">RFC 1063</a>, July 1988.
[<a id="ref-RFC1108">RFC1108</a>] Kent, S., "U.S. Department of Defense Security Options for
the Internet Protocol", <a href="./rfc1108">RFC 1108</a>, November 1991.
[<a id="ref-RFC1385">RFC1385</a>] Wang, Z., "EIP: The Extended Internet Protocol", <a href="./rfc1385">RFC 1385</a>,
November 1992.
[<a id="ref-RFC1393">RFC1393</a>] Malkin, G., "Traceroute Using an IP Option", <a href="./rfc1393">RFC 1393</a>,
January 1993.
[<a id="ref-RFC1475">RFC1475</a>] Ullmann, R., "TP/IX: The Next Internet", <a href="./rfc1475">RFC 1475</a>, June
1993.
[<a id="ref-RFC1770">RFC1770</a>] Graff, C., "IPv4 Option for Sender Directed Multi-
Destination Delivery", <a href="./rfc1770">RFC 1770</a>, March 1995.
[<a id="ref-RFC2205">RFC2205</a>] Braden, B., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", <a href="./rfc2205">RFC 2205</a>, September 1997.
[<a id="ref-RFC2407">RFC2407</a>] Piper, D., "The Internet IP Security Domain of
Interpretation for ISAKMP", <a href="./rfc2407">RFC 2407</a>, November 1998.
[<a id="ref-RFC3585">RFC3585</a>] Jason, J., Rafalow, L., and E. Vyncke, "IPsec
Configuration Policy Information Model", <a href="./rfc3585">RFC 3585</a>, August
2003.
<span class="grey">Gont, et al. Best Current Practice [Page 34]</span>
<span id="page-35" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
[<a id="ref-RFC4306">RFC4306</a>] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", <a href="./rfc4306">RFC</a>
<a href="./rfc4306">4306</a>, December 2005.
[<a id="ref-RFC4782">RFC4782</a>] Floyd, S., Allman, M., Jain, A., and P. Sarolahti, "Quick-
Start for TCP and IP", <a href="./rfc4782">RFC 4782</a>, January 2007.
[<a id="ref-RFC4807">RFC4807</a>] Baer, M., Charlet, R., Hardaker, W., Story, R., and C.
Wang, "IPsec Security Policy Database Configuration MIB",
<a href="./rfc4807">RFC 4807</a>, March 2007.
[<a id="ref-RFC4949">RFC4949</a>] Shirey, R., "Internet Security Glossary, Version 2", <a href="./rfc4949">RFC</a>
<a href="./rfc4949">4949</a>, August 2007.
[<a id="ref-RFC5350">RFC5350</a>] Manner, J. and A. McDonald, "IANA Considerations for the
IPv4 and IPv6 Router Alert Options", <a href="./rfc5350">RFC 5350</a>, September
2008.
[<a id="ref-RFC5570">RFC5570</a>] StJohns, M., Atkinson, R., and G. Thomas, "Common
Architecture Label IPv6 Security Option (CALIPSO)", <a href="./rfc5570">RFC</a>
<a href="./rfc5570">5570</a>, July 2009.
[<a id="ref-RFC5996">RFC5996</a>] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
"Internet Key Exchange Protocol Version 2 (IKEv2)", <a href="./rfc5996">RFC</a>
<a href="./rfc5996">5996</a>, September 2010.
[<a id="ref-RFC6192">RFC6192</a>] Dugal, D., Pignataro, C., and R. Dunn, "Protecting the
Router Control Plane", <a href="./rfc6192">RFC 6192</a>, March 2011.
[<a id="ref-RFC6274">RFC6274</a>] Gont, F., "Security Assessment of the Internet Protocol
Version 4", <a href="./rfc6274">RFC 6274</a>, July 2011.
[<a id="ref-SELinux2008">SELinux2008</a>]
National Security Agency (United States), "Security-
Enhanced Linux - NSA/CSS", January 2009,
<<a href="http://www.nsa.gov/research/selinux/index.shtml">http://www.nsa.gov/research/selinux/index.shtml</a>>.
[<a id="ref-Solaris2008">Solaris2008</a>]
"Solaris Trusted Extensions: Labeled Security for Absolute
Protection", 2008,
<<a href="http://www.oracle.com/technetwork/server-storage/solaris10/overview/trusted-extensions-149944.pdf">http://www.oracle.com/technetwork/server-storage/</a>
<a href="http://www.oracle.com/technetwork/server-storage/solaris10/overview/trusted-extensions-149944.pdf">solaris10/overview/trusted-extensions-149944.pdf</a>>.
<span class="grey">Gont, et al. Best Current Practice [Page 35]</span>
<span id="page-36" ></span>
<span class="grey"><a href="./rfc7126">RFC 7126</a> Filtering of IP-Optioned Packets February 2014</span>
Authors' Addresses
Fernando Gont
UTN-FRH / SI6 Networks
Evaristo Carriego 2644
Haedo, Provincia de Buenos Aires 1706
Argentina
Phone: +54 11 4650 8472
EMail: [email protected]
URI: <a href="http://www.si6networks.com">http://www.si6networks.com</a>
RJ Atkinson
Consultant
McLean, VA 22103
USA
EMail: [email protected]
Carlos Pignataro
Cisco Systems, Inc.
7200-12 Kit Creek Road
Research Triangle Park, NC 27709
USA
EMail: [email protected]
Gont, et al. Best Current Practice [Page 36]
Annotations
Select text to annotate