Internet DRAFT - draft-ymbk-bcp38-multihoming-update

draft-ymbk-bcp38-multihoming-update






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-ymbk-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]