RFC 4381 - Analysis of the Security of BGP/MPLS IP Virtual P

时间:2006-11-02 来源: 作者: 点击:
NetworkWorkingGroup M.Behringer RequestforComments:4381CiscoSystemsInc Category:InformationalFebruary2006 AnalysisoftheSecurityofBGP/MPLSIP VirtualPrivateNetworks(VPNs) StatusofThisMemo ThismemoprovidesinformationfortheInternetcommunity.Itdoes notspe
  Network Working Group                                         M. Behringer
Request for Comments: 4381                             Cisco Systems Inc
Category: Informational                                          February 2006

                Analysis of the Security of BGP/MPLS IP
                    Virtual Private Networks (VPNs)

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

IESG Note

   The content of this RFC was at one time considered by the IETF, and
   therefore it may resemble a current IETF work in progress or a
   published IETF work.  This RFC is not a candidate for any level of
   Internet Standard.  The IETF disclaims any knowledge of the fitness
   of this RFC for any purpose, and in particular notes that the
   decision to publish is not based on IETF review for such things as
   security, congestion control or inappropriate interaction with
   deployed protocols.  The RFC Editor has chosen to publish this
   document at its discretion.  Readers of this RFC should exercise
   caution in evaluating its value for implementation and deployment.
   See RFC 3932 for more information.

Abstract

   This document analyses the security of the BGP/MPLS IP virtual
   private network (VPN) architecture that is described in RFC 4364, for
   the benefit of service providers and VPN users.

   The analysis shows that BGP/MPLS IP VPN networks can be as secure as
   traditional layer-2 VPN services using Asynchronous Transfer Mode
   (ATM) or Frame Relay.

Table of Contents

   1. Scope and Introduction ..........................................3
   2. Security Requirements of VPN Networks ...........................4
      2.1. Address Space, Routing, and Traffic Separation .............4
      2.2. Hiding the Core Infrastructure .............................5
      2.3. Resistance to Attacks ......................................5
      2.4. Impossibility of Label Spoofing ............................6
   3. Analysis of BGP/MPLS IP VPN Security ............................6
      3.1. Address Space, Routing, and Traffic Separation .............6
      3.2. Hiding of the BGP/MPLS IP VPN Core Infrastructure ..........7
      3.3. Resistance to Attacks ......................................9
      3.4. Label Spoofing ............................................11
      3.5. Comparison with ATM/FR VPNs ...............................12
   4. Security of Advanced BGP/MPLS IP VPN Architectures .............12
      4.1. Carriers’ Carrier .........................................13
      4.2. Inter-Provider Backbones ..................................14
   5. What BGP/MPLS IP VPNs Do Not Provide ...........................16
      5.1. Protection against Misconfigurations of the Core
           and Attacks ’within’ the Core .............................16
      5.2. Data Encryption, Integrity, and Origin Authentication .....17
      5.3. Customer Network Security .................................17
   6. Layer 2 Security Considerations ................................18
   7. Summary and Conclusions ........................................19
   8. Security Considerations ........................................20
   9. Acknowledgements ...............................................20
   10. Normative References ..........................................20
   11. Informative References ........................................20

1.  Scope and Introduction

   As Multiprotocol Label Switching (MPLS) is becoming a more widespread
   technology for providing IP virtual private network (VPN) services,
   the security of the BGP/MPLS IP VPN architecture is of increasing
   concern to service providers and VPN customers.  This document gives
   an overview of the security of the BGP/MPLS IP VPN architecture that
   is described in RFC 4364 [1], and compares it with the security of
   traditional layer-2 services such as ATM or Frame Relay.

   The term "MPLS core" is defined for this document as the set of
   Provider Edge (PE) and provider (P) routers that provide a BGP/MPLS
   IP VPN service, typically under the control of a single service
   provider (SP).  This document assumes that the MPLS core network is
   trusted and secure.  Thus, it does not address basic security
   concerns such as securing the network elements against unauthorised
   access, misconfigurations of the core, or attacks internal to the
   core.  A customer that does not wish to trust the service provider
   network must use additional security mechanisms such as IPsec over
   the MPLS infrastructure.

   This document analyses only the security features of BGP/MPLS IP
   VPNs, not the security of routing protocols in general.  IPsec
   technology is also not covered, except to highlight the combination
   of MPLS VPNs with IPsec.

   The overall security of a system has three aspects: the architecture,
   the implementation, and the operation of the system.  Security issues
   can exist in any of these aspects.  This document analyses only the
   architectural security of BGP/MPLS IP VPNs, not implementation or
   operational security issues.

   This document is targeted at technical staff of service providers and
   enterprises.  Knowledge of the basic BGP/MPLS IP VPN architecture as
   described in RFC 4364 [1] is required to understand this document.
   For specific Layer 3 VPN terminology and reference models refer to
   [11].

   Section 2 of this document specifies the typical VPN requirements a
   VPN user might have, and section 3 analyses how RFC 4364 [1]
   addresses these requirements.  Section 4 discusses specific security
   issues of multi-AS (Autonomous System) MPLS architectures, and
   section 5 lists security features that are not covered by this
   architecture and therefore need to be addressed separately.  Section
   6 highlights potential security issues on layer 2 that might impact
   the overall security of a BGP/MPLS IP VPN service.  The findings of
   this document are summarized in section 7.

2.  Security Requirements of VPN Networks

   Both service providers offering any type of VPN services and
   customers using them have specific demands for security.  Mostly,
   they compare MPLS-based solutions with traditional layer 2-based VPN
   solutions such as Frame Relay and ATM, since these are widely
   deployed and accepted.  This section outlines the typical security
   requirements for VPN networks.  The following section discusses if
   and how BGP/MPLS IP VPNs address these requirements, for both the
   MPLS core and the connected VPNs.

2.1.  Address Space, Routing, and Traffic Separation

   Non-intersecting layer 3 VPNs of the same VPN service are assumed to
   have independent address spaces.  For example, two non-intersecting
   VPNs may each use the same 10/8 network addresses without conflict.
   In addition, traffic from one VPN must never enter another VPN.  This
   implies separation of routing protocol information, so that routing
   tables must also be separate per VPN.  Specifically:

   o  Any VPN must be able to use the same address space as any other
      VPN.
   o  Any VPN must be able to use the same address space as the MPLS
      core.
   o  Traffic, including routing traffic, from one VPN must never flow
      to another VPN.
   o  Routing information, as well as distribution and processing of
      that information, for one VPN instance must be independent from
      any other VPN instance.
   o  Routing information, as well as distribution and processing of
      that information, for one VPN instance must be independent from
      the core.

   From a security point of view, the basic requirement is to prevent
   packets destined to a host a.b.c.d within a given VPN reaching a host
   with the same address in another VPN or in the core, and to prevent
   routing packets to another VPN even if it does not contain that
   destination address.

   Confidentiality, as defined in the L3VPN Security Framework [11], is
   a requirement that goes beyond simple isolation of VPNs and provides
   protection against eavesdropping on any transmission medium.
   Encryption is the mechanism used to provide confidentiality.  This
   document considers confidentiality an optional VPN requirement, since
   many existing VPN deployments do not encrypt transit traffic.

2.2.  Hiding the Core Infrastructure

   The internal structure of the core network (MPLS PE and P elements)
   should not be externally visible.  Whilst breaking this requirement
   is not a security problem in itself, many service providers believe
   it is advantageous if the internal addresses and network structure
   are hidden from the outside world.  An argument is that denial-of-
   service (DoS) attacks against a core router are much easier to carry
   out if an attacker knows the router addresses.  Addresses can always
   be guessed, but attacks are more difficult if addresses are not
   known.  The core should be as invisible to the outside world as a
   comparable layer 2 infrastructure (e.g., Frame Relay, ATM).  Core
   network elements should also not be accessible from within a VPN.

   Security should never rely entirely on obscurity, i.e., the hiding of
   information.  Services should be equally secure if the implementation
   is known.  However, there is a strong market perception that hiding
   of details is advantageous.  This point addresses that market
   perception.

2.3.  Resistance to Attacks

   There are two basic types of attacks: DoS attacks, where resources
   become unavailable to authorised users, and intrusions, where
   resources become available to unauthorised users.  BGP/MPLS IP VPN
   networks must provide at least the same level of protection against
   both forms of attack as current layer 2 networks.

   For intrusions, there are two fundamental ways to protect the
   network: first, to harden protocols that could be abused (e.g.,
   Telnet into a router), and second, to make the network as
   inaccessible as possible.  This is achieved by a combination of
   packet filtering / firewalling and address hiding, as discussed
   above.

   DoS attacks are easier to execute, since a single known IP address
   might be enough information to attack a machine.  This can be done
   using normal "permitted" traffic, but using higher than normal packet
   rates, so that other users cannot access the targeted machine.  The
   only way to be invulnerable to this kind of attack is to make sure
   that machines are not reachable, again by packet filtering and
   optionally by address hiding.

   This document concentrates on protecting the core network against
   attacks from the "outside", i.e., the Internet and connected VPNs.
   Protection against attacks from the "inside", i.e., an attacker who
   has logical or physical access to the core network, is not discussed
   here.

2.4.  Impossibility of Label Spoofing

   Assuming the address and traffic separation discussed above, an
   attacker might try to access other VPNs by inserting packets with a
   label that he does not "own".  This could be done from the outside,
   i.e., another Customer Edge (CE) router or from the Internet, or from
   within the MPLS core.  The latter case (from within the core) will
   not be discussed, since we assume that the core network is provided
   securely.  Should protection against an insecure core be required, it
   is necessary to use security protocols such as IPsec across the MPLS
   infrastructure, at least from CE to CE, since the PEs belong to the
   core.

   Depending on the way that CE routers are connected to PE routers, it
   might be possible to intrude into a VPN that is connected to the same
   PE, using layer 2 attack mechanisms such as 802.1Q-label spoofing or
   ATM VPI/VCI spoofing.  Layer 2 security issues will be discussed in
   section 6.

   It is required that VPNs cannot abuse the MPLS label mechanisms or
   protocols to gain unauthorised access to other VPNs or the core.

3.  Analysis of BGP/MPLS IP VPN Security

   In this section, the BGP/MPLS IP VPN architecture is analysed with
   respect to the security requirements listed above.

3.1.  Address Space, Routing, and Traffic Separation

   BGP/MPLS allows distinct IP VPNs to use the same address space, which
   can also be private address space (RFC 1918 [2]).  This is achieved
   by adding a 64-bit Route Distinguisher (RD) to each IPv4 route,
   making VPN-unique addresses also unique in the MPLS core.  This
   "extended" address is also called a "VPN-IPv4 address".  Thus,
   customers of a BGP/MPLS IP VPN service do not need to change their
   current addressing plan.

   Each PE router maintains a separate Virtual Routing and Forwarding
   instance (VRF) for each connected VPN.  A VRF includes the addresses
   of that VPN as well as the addresses of the PE routers with which the
   CE routers are peering.  All addresses of a VRF, including these PE
   addresses, belong logically to the VPN and are accessible from the
   VPN.  The fact that PE addresses are accessible to the VPN is not an
   issue if static routing is used between the PE and CE routers, since
   packet filters can be deployed to block access to all addresses of
   the VRF on the PE router.  If dynamic routing protocols are used, the
   CE routers need to have the address of the peer PE router in the core
   configured.  In an environment where the service provider manages the

   CE routers as CPE, this can be invisible to the customer.  The
   address space on the CE-PE link (including the peering PE address) is
   considered part of the VPN address space.  Since address space can
   overlap between VPNs, the CE-PE link addresses can overlap between
   VPNs.  For practical management considerations, SPs typically address
   CE-PE links from a global pool, maintaining uniqueness across the
   core.

   Routing separation between VPNs can also be achieved.  Each VRF is
   populated with routes from one VPN through statically configured
   routes or through routing protocols that run between the PE and CE
   router.  Since each VPN is associated with a separate VRF there is no
   interference between VPNs on the PE router.

   Across the core to the other PE routers separation is maintained with
   unique VPN identifiers in multiprotocol BGP, the Route Distinguishers
   (RDs).  VPN routes including the RD are exclusively exchanged between
   PE routers by Multi-Protocol BGP (MP-BGP, RFC 2858 [8]) across the
   core.  These BGP routing updates are not re-distributed into the
   core, but only to the other PE routers, where the information is kept
   again in VPN-specific VRFs.  Thus, routing across a BGP/MPLS network
   is separate per VPN.

   On the data plane, traffic separation is achieved by the ingress PE
   pre-pending a VPN-specific label to the packets.  The packets with
   the VPN labels are sent through the core to the egress PE, where the
   VPN label is used to select the egress VRF.

   Given the addressing, routing, and traffic separation across an BGP/
   MPLS IP VPN core network, it can be assumed that this architecture
   offers in this respect the same security as a layer-2 VPN.  It is not
   possible to intrude from a VPN or the core into another VPN unless
   this has been explicitly configured.

   If and when confidentiality is required, it can be achieved in BGP/
   MPLS IP VPNs by overlaying encryption services over the network.
   However, encryption is not a standard service on BGP/MPLS IP VPNs.
   See also section 5.2.

3.2.  Hiding of the BGP/MPLS IP VPN Core Infrastructure

   Service providers and end-customers do not normally want their
   network topology revealed to the outside.  This makes attacks more
   difficult to execute: If an attacker doesn’t know the address of a
   victim, he can only guess the IP addresses to attack.  Since most DoS
   attacks don’t provide direct feedback to the attacker it would be
   difficult to attack the network.  It has to be mentioned specifically

   that information hiding as such does not provide security.  However,
   in the market this is a perceived requirement.

   With a known IP address, a potential attacker can launch a DoS attack
   more easily against that device.  Therefore, the ideal is to not
   reveal any information about the internal network to the outside
   world.  This applies to the customer network and the core.  A number
   of additional security measures also have to be taken: most of all,
   extensive packet filtering.

   For security reasons, it is recommended for any core network to
   filter packets from the "outside" (Internet or connected VPNs)
   destined to the core infrastructure.  This makes it very hard to
   attack the core, although some functionality such as pinging core
   routers will be lost.  Traceroute across the core will still work,
   since it addresses a destination outside the core.

   MPLS does not reveal unnecessary information to the outside, not even
   to customer VPNs.  The addressing of the core can be done with
   private addresses (RFC 1918 [2]) or public addresses.  Since the
   interface to the VPNs as well as the Internet is BGP, there is no
   need to reveal any internal information.  The only information
   required in the case of a routing protocol between PE and CE is the
   address of the PE router.  If no dynamic routing is required, static
   routing on unnumbered interfaces can be configured between the PE and
   CE.  With this measure, the BGP/MPLS IP VPN core can be kept
   completely hidden.

   Customer VPNs must advertise their routes to the BGP/MPLS IP VPN core
   (dynamically or statically), to ensure reachability across their VPN.
   In some cases, VPN users prefer that the service provider have no
   visibility of the addressing plan of the VPN.  The following has to
   be noted: First, the information known to the core is not about
   specific hosts, but networks (routes); this offers a degree of
   abstraction.  Second, in a VPN-only BGP/MPLS IP VPN network (no
   Internet access) this is equal to existing layer-2 models, where the
   customer has to trust the service provider.  Also, in a Frame Relay
   or ATM network, routing and addressing information about the VPNs can
   be seen on the core network.

   In a VPN service with shared Internet access, the service provider
   will typically announce the routes of customers who wish to use the
   Internet to his upstream or peer providers.  This can be done
   directly if the VPN customer uses public address space, or via
   Network Address Translation (NAT) to obscure the addressing
   information of the customers’ networks.  In either case, the customer
   does not reveal more information than would be revealed by a general
   Internet service.  Core information will not be revealed, except for

   the peering address(es) of the PE router(s) that hold(s) the peering
   with the Internet.  These addresses must be secured as in a
   traditional IP backbone.

   In summary, in a pure MPLS-VPN service, where no Internet access is
   provided, information hiding is as good as on a comparable FR or ATM
   network.  No addressing information is revealed to third parties or
   the Internet.  If a customer chooses to access the Internet via the
   BGP/MPLS IP VPN core, he will have to reveal the same information as
   required for a normal Internet service.  NAT can be used for further
   obscurity.  Being reachable from the Internet automatically exposes a
   customer network to additional security threats.  Appropriate
   security mechanisms have to be deployed such as firewalls and
   intrusion detection systems.  This is true for any Internet access,
   over MPLS or direct.

   A BGP/MPLS IP VPN network with no interconnections to the Internet
   has security equal to that of FR or ATM VPN networks.  With an
   Internet access from the MPLS cloud, the service provider has to
   reveal at least one IP address (of the peering PE router) to the next
   provider, and thus to the outside world.

3.3.  Resistance to Attacks

   Section 3.1 shows that it is impossible to directly intrude into
   other VPNs.  Another possibility is to attack the MPLS core and try
   to attack other VPNs from there.  As shown above, it is impossible to
   address a P router directly.  The only addresses reachable from a VPN
   or the Internet are the peering addresses of the PE routers.  Thus,
   there are two basic ways that the BGP/MPLS IP VPN core can be
   attacked:

   1.  By attacking the PE routers directly.
   2.  By attacking the signaling mechanisms of MPLS (mostly routing).

   To attack an element of a BGP/MPLS IP VPN network, it is first
   necessary to know the address of the element.  As discussed in
   section 3.2, the addressing structure of the BGP/MPLS IP VPN core is
   hidden from the outside world.  Thus, an attacker cannot know the IP
   address of any router in the core to attack.  The attacker could
   guess addresses and send packets to these addresses.  However, due to
   the address separation of MPLS each incoming packet will be treated
   as belonging to the address space of the customer.  Thus, it is
   impossible to reach an internal router, even by guessing IP
   addresses.  There is only one exception to this rule, which is the
   peer interface of the PE router.  This address of the PE is the only
   attack point from the outside (a VPN or Internet).

   The routing between a VPN and the BGP/MPLS IP VPN core can be
   configured two ways:

   1.  Static: In this case, the PE routers are configured with static
       routes to the networks behind each CE, and the CEs are configured
       to statically point to the PE router for any network in other
       parts of the VPN (mostly a default route).  There are two sub-
       cases: The static route can point to the IP address of the PE
       router or to an interface of the CE router (e.g., serial0).
   2.  Dynamic: A routing protocol (e.g., Routing Information Protocol
       (RIP), OSPF, BGP) is used to exchange routing information between
       the CE and PE at each peering point.

   In the case of a static route that points to an interface, the CE
   router doesn’t need to know any IP addresses of the core network or
   even of the PE router.  This has the disadvantage of needing a more
   extensive (static) configuration, but is the most secure option.  In
   this case, it is also possible to configure packet filters on the PE
   interface to deny any packet to the PE interface.  This protects the
   router and the whole core from attack.

   In all other cases, each CE router needs to know at least the router
   ID (RID, i.e., peer IP address) of the PE router in the core, and
   thus has a potential destination for an attack.  One could imagine
   various attacks on various services running on a router.  In
   practice, access to the PE router over the CE-PE interface can be
   limited to the required routing protocol by using access control
   lists (ACLs).  This limits the point of attack to one routing
   protocol, for example, BGP.  A potential attack could be to send an
   extensive number of routes, or to flood the PE router with routing
   updates.  Both could lead to a DoS, however, not to unauthorised
   access.

   To reduce this risk, it is necessary to configure the routing
   protocol on the PE router to operate as securely as possible.  This
   can be done in various ways:

   o  By accepting only routing protocol packets, and only from the CE
      router.  The inbound ACL on each CE interface of the PE router
      should allow only routing protocol packets from the CE to the PE.
   o  By configuring MD5 authentication for routing protocols.  This is
      available for BGP (RFC 2385 [6]), OSPF (RFC 2154 [4]), and RIP2
      (RFC 2082 [3]), for example.  This avoids packets being spoofed
      from other parts of the customer network than the CE router.  It
      requires the service provider and customer to agree on a shared
      secret between all CE and PE routers.  It is necessary to do this
      for all VPN customers.  It is not sufficient to do this only for
      the customer with the highest security requirements.

   o  By configuring parameters of the routing protocol to further
      secure this communication.  For example, the rate of routing
      updates should be restricted where possible (in BGP through
      damping); a maximum number of routes accepted per VRF and per
      routing neighbor should be configured where possible; and the
      Generalized TTL Security Mechanism (GTSM; RFC 3682 [10]) should be
      used for all supported protocols.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容