Operations Area F. Baker
Internet-Draft Cisco Systems
Updates: 2827 (if approved) P. Savola
Expires: November 20, 2003 CSC/FUNET
May 22, 2003
Ingress Filtering for Multihomed Networks
draft-savola-bcp38-multihoming-update-00
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http://
www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 20, 2003.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
RFC 2827, BCP 38, is designed to limit the impact of distributed
denial of service attacks, by denying traffic with spoofed addresses
access to the network, and to help ensure that traffic is traceable
to its correct source network. As a side effect of protecting the
Internet against such attacks, the network implementing the solution
also protects itself from this and other attacks, such as spoofed
management access to networking equipment. However, it causes
problems of its own. This document addresses the issues and proposes
several possible solutions. This memo updates RFC 2827.
Baker & Savola Expires November 20, 2003 [Page 1]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Implementing RFC 2827 . . . . . . . . . . . . . . . . . . . . 4
2.1 Ingress Access Lists . . . . . . . . . . . . . . . . . . . . . 4
2.2 Strict Reverse Path Forwarding . . . . . . . . . . . . . . . . 4
2.3 Loose Reverse Path Forwarding . . . . . . . . . . . . . . . . 5
2.4 Loose Reverse Path Forwarding Ignoring Default Routes . . . . 5
3. The Issue Is Recursive . . . . . . . . . . . . . . . . . . . . 7
4. Possible Work-arounds . . . . . . . . . . . . . . . . . . . . 8
4.1 Use Loose RPF When Appropriate . . . . . . . . . . . . . . . . 8
4.2 Ensure That Each ISP's Ingress Filter Is Complete . . . . . . 9
4.3 Send Traffic Using a Provider Prefix Only to That Provider . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
Normative References . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 14
Intellectual Property and Copyright Statements . . . . . . . . 15
Baker & Savola Expires November 20, 2003 [Page 2]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
1. Introduction
RFC 2827 [2], BCP 38, is designed to limit the impact of distributed
denial of service attacks, by denying traffic with spoofed addresses
access to the network, and to help ensure that traffic is traceable
to its correct source network. As a side effect of protecting the
Internet against such attacks, the network implementing the solution
also protects itself from this and other attacks, such as spoofed
management access to networking equipment. However, it causes
problems of its own. This document addresses the issues and proposes
several possible solutions.
RFC 2827 recommends that ISPs police their customers' traffic by
dropping traffic entering their networks that is coming from a source
address not legitimately in use by the customer network. Its
predecessor document was RFC 2267 [1]; that document recommended
filtering out traffic whose sources address is a so-called "Martian
Address" - an address that is reserved, including any address within
0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16,
224.0.0.0/4, or 240.0.0.0/4.
The reasoning behind the ingress filtering procedure is that
Distributed Denial of Service Attacks frequently spoof other systems'
source addresses, placing a random number in the field. In some
attacks, this random number is deterministically within the target
network, simultaneously attacking one or more machines and causing
those machines to attack others with ICMP messages or other traffic.
In other attacks, it is literally a random 32 bit number, resulting
in the source of the attack being difficult to trace. If the traffic
leaving an edge network and entering an ISP can be limited to traffic
it is legitimately sending, attacks can be somewhat mitigated:
traffic with random or improper source addresses can be suppressed
before it does significant damage, and attacks can be readily traced
back to at least their source networks.
Baker & Savola Expires November 20, 2003 [Page 3]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
2. Implementing RFC 2827
There are at least four ways one can implement RFC 2827, with varying
impacts. These include:
o Ingress Access Lists
o Strict Reverse Path Forwarding
o Loose Reverse Path Forwarding
o Loose Reverse Path Forwarding ignoring default routes
Other mechanisms are also possible.
2.1 Ingress Access Lists
An Ingress Access List is a filter that checks the source address of
every message received from a network against a list of acceptable
prefixes, dropping any packet that does not match the filter. While
this is by no means the only way to implement an ingress filter, it
is the one proposed by the BCP, and in some sense the most
deterministic one.
Ingress Access Lists have some problems, however, when the list of
prefixes is incomplete. If a multihomed edge network is using
provider-based addressing using two or more prefixes, one can expect
each of its providers to accept traffic using their provided prefix,
but they may not accept traffic from other prefixes. If they do not,
then any traffic offered them sourced by a machine using the other
prefix will find itself black-holed - that machine will only be able
to access systems within its edge network.
2.2 Strict Reverse Path Forwarding
Strict Reverse Path Forwarding (Strict RPF) is a simple way to
implement an ingress filter. It is conceptually identical to using
access lists for ingress filtering, with the exception that the
access list is dynamic. This may also be used to avoid duplicate
configuration (e.g. maintaining both static routes or BGP prefix-list
filters and interface access-lists). The procedure is that the source
address is looked up in the forwarding information base - the same
route table used in destination address routing. If the previous hop,
or the previous hop interface, is one of the routing neighbors that
traffic responding to the datagram might be forwarded to, the message
is deemed to have come from a reasonable direction.
Strict Reverse Path Forwarding is a very reasonable approach in front
Baker & Savola Expires November 20, 2003 [Page 4]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
of any kind of edge network; in particular, it is far superior to
Ingress Access Lists when the network edge is advertising multiple
prefixes using BGP. It makes for a simple, cheap, fast, and dynamic
filter.
But Strict Reverse Path Forwarding has some problems of its own.
First, the test is only applicable in places where routing is
symmetrical - where IP datagrams in one direction and responses from
the other deterministically follow the same path. While this is
common at edge network interfaces to their ISP, it is in no sense
common between ISPs, which normally use asymmetrical "hot potato"
routing. Also, if BGP is carrying prefixes and some legitimate
prefixes are not being advertised or not being accepted by the ISP
under its policy, the effect is the same as ingress filtering using
an incomplete access list: some legitimate traffic is filtered for
lack of a route in the filtering router's forwarding information
base.
2.3 Loose Reverse Path Forwarding
Loose Reverse Path Forwarding (Loose RPF) is algorithmically similar
to Strict Reverse Path Forwarding, but differs in that it checks only
for the existence of a route as opposed to seeking a route through
the previous hop router. The benefit of Loose Reverse Path Forwarding
is found in asymmetric routing situations: A packet is dropped if
there is no route at all, such as to "Martian addresses" or addresses
that are not currently routed, but is not dropped if a route exists.
Loose Reverse Path Forwarding has problems, however. Since it
sacrifices directionality, it loses the ability to limit an edge
network's traffic to traffic legitimately sourced from that network.
Also, many ISPs use default routes for various purposes such as
collecting illegitimate traffic at so-called "Honey Pot" systems, and
smaller ISPs may well purchase transit capabilities and use a default
route from a larger provider. If there is a default route, there is a
route for any address, nullifying the value of the check entirely.
2.4 Loose Reverse Path Forwarding Ignoring Default Routes
The fourth implementation technique may be characterized as Loose
Reverse Path Forwarding ignoring default routes. In this approach,
the router looks up the source address in the route table, and
preserves the packet if a route is found. However, in the lookup,
default routes are excluded. Therefore, the technique is mostly
usable in scenarios where default routes are used in addition to an
extensive (or even full) list of more specific routes.
Like Loose Reverse Path Forwarding, this is useful in places where
Baker & Savola Expires November 20, 2003 [Page 5]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
asymmetric routing is found, such as on inter-ISP links. However,
like Loose Reverse Path Forwarding, since it sacrifices
directionality, it loses the ability to limit an edge network's
traffic to traffic legitimately sourced from that network.
Baker & Savola Expires November 20, 2003 [Page 6]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
3. The Issue Is Recursive
What may not be apparent is that these issues are recursive. Consider
the case of an edge network that multihomes using provider-based
addressing from two tertiary ISPs. It may contract with those ISPs to
include both prefixes in their ingress filters, in static routes
supporting Strict RPF checking, or in their own routing. The ISPs
will not normally pass them along to their transit providers,
however. In such a case, if the transit provider is using an ingress
filter or a strict RPF check, the same loss will happen there as
would have happened at the tertiary ISP's ingress.
Baker & Savola Expires November 20, 2003 [Page 7]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
4. Possible Work-arounds
One can imagine a number of approaches to working around the
limitations of ingress filters for multihomed networks. Options
include:
o Do not multihome.
o Do not use ingress filters.
o Accept that service will be incomplete.
o On some interfaces, weaken ingress filtering by using an
appropriate form of loose RPF check.
o Ensure, by BGP or by contract, that each ISP's ingress filter is
complete.
o Ensure that edge networks only deliver traffic to their ISPs that
will in fact pass the ingress filter.
The first three of these are obviously mentioned for completeness;
they are not and cannot be viable positions. However, the final three
are indeed viable.
The fourth and the fifth, due to the recursiveness of the issue, must
be ensured in the upstream ISPs as well.
In considering this, one must ask why an edge network multihomes. Its
reason for finding itself in this predicament will guide its solution
to the dilemma. Reasons for multihoming are many: the edge network
may use two ISPs for backing up the Internet connectivity to ensure
robustness, the edge network may be using whichever ISP is offering
the fastest TCP service at the moment, the edge network may need
several points of access to the Internet in places where no one ISP
offers service, it may be changing ISPs (and therefore multihoming
only temporarily), or one of a number of other possible reasons.
With that in mind, we now look at the viable recommendations for
dealing with the side-effects of ingress filters.
4.1 Use Loose RPF When Appropriate
Where asymmetric routing is preferred or is unavoidable, ingress
filtering cannot be deployed using a mechanism like strict RPF which
requires the paths to be symmetrical. The only real options are to
not perform ingress filtering, use a manual access-list (possibly in
addition to some other mechanisms), or to use some form of Loose RPF
Baker & Savola Expires November 20, 2003 [Page 8]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
check.
Failing to provide any ingress filter at all essentially trusts the
downstream network to behave itself, which is not the wisest course
of action. However, especially in the case of very large networks of
even hundreds or thousands of prefixes, maintaining manual
access-lists may be too much to ask. Therefore, on many ISP-ISP
links, a Loose RPF check is the simplest test.
The use of Loose RPF does not seem like a good choice between the
edge network and the ISP, since it loses the directionality of the
test. This argues in favor of either using a complete filter in the
upstream network or ensuring in the downstream network that packets
the upstream network will reject will never reach it.
4.2 Ensure That Each ISP's Ingress Filter Is Complete
For the edge network, if multihoming is being used for robustness or
to change routing from time to time depending on measured ISP
behavior, the simplest approach will be to ensure that its ISPs in
fact carry its addresses in routing. This will often require the edge
network to use provider-independent prefixes and exchange routes with
its ISPs with BGP, to ensure that its prefix is carried upstream to
the major transit ISPs. Of necessity, this implies that the edge
network will be of a size and technical competence to qualify for a
separate address assignment and an autonomous system number from its
RIR.
4.3 Send Traffic Using a Provider Prefix Only to That Provider
For smaller edge networks that use provider-based addressing and
whose ISPs implement ingress filters (which they should do), the
third option is to route traffic being sourced from a given
provider's address space to that provider.
This is not a complicated procedure, but requires careful planning
and configuration. For robustness, the edge network may choose to
connect to each of its ISPs through two or more different Points of
Presence (POPs), so that if one POP or line experiences an outage,
another link to the same ISP can be used. Also, each router that
connects to an ISP needs to be configured with a line or a tunnel to
every other ISP-facing router, and the router configured to first
inspect the source address of a packet destined to an ISP and shunt
it into the appropriate tunnel or ISP interface.
If such a scenario is applied exhaustively, so that an exit router is
chosen in the edge network for every prefix the network uses, traffic
originating from any other prefix can be summarily discarded instead
Baker & Savola Expires November 20, 2003 [Page 9]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
of sending it to an ISP.
Baker & Savola Expires November 20, 2003 [Page 10]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
5. Security Considerations
One may consider both multihoming and ingress filtering to be
security procedures; Multihoming protects a network from failures of
its ISP or its link to the ISP, and ingress filtering protects the
Internet (and by extension any individual portion of it) from attacks
that involve source address spoofing. If it is not a security
procedure, multihoming is a business procedure used to enhance the
robustness of a network. This paper has discussed the shortcomings of
ingress filters as described in RFC 2827 [2] in the context of
multihomed edge networks, and described approaches to enhancing their
value.
Ingress filtering is typically performed to ensure that traffic
arriving in one network legitimately comes from a computer in the
other network. This may be done to prevent or make Denial of Service
attacks more traceable.
The closer to the actual source ingress filtering is performed, the
more effective it is. One could wish that the first hop router would
ensure that traffic being sourced from its neighboring end system was
correctly addressed; a router further away can only ensure that it is
possible that there is such a system within the indicated prefix.
When weighing the tradeoffs of ingress filtering, the security
properties of a more relaxed approach should be carefully considered
before applying it.
Another consideration is the deployment status of ingress filtering.
A goal of ingress filtering is to make attacks traceable. However,
it is impossible to know whether the particular attacker is being
ingress filtered or not. Therefore, one can only guess whether the
source addresses have been spoofed or not: in any case, getting a
possible lead -- e.g. to contact a potential source to ask whether
they're observing an attack or not -- is still valuable, and more so
when the ingress filtering gets more and more deployed.
In consequence, every administrative domain should try to ensure a
sufficient level of ingress filtering on its borders.
Security properties and applicability of different ingress filtering
types differ a lot.
Ingress access lists require typically manual maintenance, but are
the most bulletproof when done properly; typically, ingress access
lists are best fit between the edge and the ISP when the
configuration is not too dynamic if strict RPF is not an option,
between ISPs if the number of used prefixes is low, or as an
additional layer of protection.
Baker & Savola Expires November 20, 2003 [Page 11]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
Strict RPF check is a very easy and sure way to implement ingress
filtering. It is typically fit between the edge network and the ISP.
In most cases, it is too strict to be used between ISPs.
Loose RPF primarily filters out unrouted prefixes such as Martian
addresses. It can be applied in the upstream interfaces to reduce the
size of DoS attacks with unrouted source addresses. In the
downstream interfaces it serves best as a contract verification: the
other network is presumably certifying that it has provided
appropriate ingress filtering rules, so the network doing the
filtering need only verify the fact and react if any packets which
would show a breach in the contract are detected. Combined with an
ingress access list to prevent illegitimate access, contract
verification could be an adequate approach when more extensive
filtering is not possible.
Baker & Savola Expires November 20, 2003 [Page 12]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
6. Acknowledgements
The authors acknowledge neither presidents nor kings, preferring
instead rough consensus and running code. Their alternate
personalities reserve the right to disagree with any statement at any
time.
Baker & Savola Expires November 20, 2003 [Page 13]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
Normative References
[1] Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating
Denial of Service Attacks which employ IP Source Address
Spoofing", RFC 2267, January 1998.
[2] Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating
Denial of Service Attacks which employ IP Source Address
Spoofing", BCP 38, RFC 2827, May 2000.
Authors' Addresses
Fred Baker
Cisco Systems
Santa Barbara, CA 93117
US
EMail: fred@cisco.com
Pekka Savola
CSC/FUNET
Espoo
Finland
EMail: psavola@funet.fi
Baker & Savola Expires November 20, 2003 [Page 14]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
Baker & Savola Expires November 20, 2003 [Page 15]
Internet-Draft Ingress Filtering for Multihomed Networks May 2003
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Baker & Savola Expires November 20, 2003 [Page 16]