Network Working Group F. Baker Request for Comments: 3704 Cisco Systems Updates: 2827 P. Savola BCP: 84 CSC/FUNET Category: Best Current Practice March 2004
Network Working Group F. Baker Request for Comments: 3704 Cisco Systems Updates: 2827 P. Savola BCP: 84 CSC/FUNET Category: Best Current Practice March 2004
Ingress Filtering for Multihomed Networks
多宿网络的入口过滤
Status of this Memo
本备忘录的状况
This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.
本文件规定了互联网社区的最佳现行做法,并要求进行讨论和提出改进建议。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (2004). All Rights Reserved.
版权所有(C)互联网协会(2004年)。版权所有。
Abstract
摘要
BCP 38, RFC 2827, 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. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular. This memo updates RFC 2827.
BCP 38,RFC 2827,旨在通过拒绝具有伪造地址的流量访问网络,限制分布式拒绝服务攻击的影响,并帮助确保流量可追踪到其正确的源网络。作为保护互联网免受此类攻击的副作用,实施该解决方案的网络还可以保护自己免受此类攻击和其他攻击,例如对网络设备的欺骗管理访问。在某些情况下,这可能会产生问题,例如,多宿主。本文档描述了当前的入口过滤操作机制,检查了与入口过滤相关的一般问题,并特别深入研究了对多宿主的影响。本备忘录更新了RFC 2827。
Table of Contents
目录
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Different Ways to Implement Ingress Filtering . . . . . . . . 4 2.1 Ingress Access Lists . . . . . . . . . . . . . . . . . . . 4 2.2 Strict Reverse Path Forwarding . . . . . . . . . . . . . . 5 2.3 Feasible Path Reverse Path Forwarding . . . . . . . . . . 6 2.4 Loose Reverse Path Forwarding . . . . . . . . . . . . . . 6 2.5 Loose Reverse Path Forwarding Ignoring Default Routes . . 7 3. Clarifying the Applicability of Ingress Filtering . . . . . . 8 3.1 Ingress Filtering at Multiple Levels . . . . . . . . . . . 8 3.2 Ingress Filtering to Protect Your Own Infrastructure . . . 8 3.3 Ingress Filtering on Peering Links . . . . . . . . . . . . 9 4. Solutions to Ingress Filtering with Multihoming . . . . . . . 9 4.1 Use Loose RPF When Appropriate . . . . . . . . . . . . . . 10 4.2 Ensure That Each ISP's Ingress Filter Is Complete . . . . 11 4.3 Send Traffic Using a Provider Prefix Only to That Provider 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Conclusions and Future Work . . . . . . . . . . . . . . . . . 13 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 8.2. Informative References . . . . . . . . . . . . . . . . . 14 9. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 15 10. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 16
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Different Ways to Implement Ingress Filtering . . . . . . . . 4 2.1 Ingress Access Lists . . . . . . . . . . . . . . . . . . . 4 2.2 Strict Reverse Path Forwarding . . . . . . . . . . . . . . 5 2.3 Feasible Path Reverse Path Forwarding . . . . . . . . . . 6 2.4 Loose Reverse Path Forwarding . . . . . . . . . . . . . . 6 2.5 Loose Reverse Path Forwarding Ignoring Default Routes . . 7 3. Clarifying the Applicability of Ingress Filtering . . . . . . 8 3.1 Ingress Filtering at Multiple Levels . . . . . . . . . . . 8 3.2 Ingress Filtering to Protect Your Own Infrastructure . . . 8 3.3 Ingress Filtering on Peering Links . . . . . . . . . . . . 9 4. Solutions to Ingress Filtering with Multihoming . . . . . . . 9 4.1 Use Loose RPF When Appropriate . . . . . . . . . . . . . . 10 4.2 Ensure That Each ISP's Ingress Filter Is Complete . . . . 11 4.3 Send Traffic Using a Provider Prefix Only to That Provider 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. Conclusions and Future Work . . . . . . . . . . . . . . . . . 13 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 8.2. Informative References . . . . . . . . . . . . . . . . . 14 9. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 15 10. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 16
BCP 38, RFC 2827 [1], 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. There are cases when this may create problems, e.g., with multihoming. This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering and delves into the effects on multihoming in particular.
BCP 38,RFC 2827[1]旨在通过拒绝具有伪造地址的流量访问网络来限制分布式拒绝服务攻击的影响,并帮助确保流量可追踪到其正确的源网络。作为保护互联网免受此类攻击的副作用,实施该解决方案的网络还可以保护自己免受此类攻击和其他攻击,例如对网络设备的欺骗管理访问。在某些情况下,这可能会产生问题,例如,多宿主。本文档描述了当前的入口过滤操作机制,检查了与入口过滤相关的一般问题,并特别深入研究了对多归宿的影响。
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. The filtering includes but is in no way limited to the traffic whose source address is a so-called "Martian Address" - an address that is reserved [3], 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.
RFC 2827建议ISP通过丢弃从客户网络未合法使用的源地址进入其网络的流量来监控其客户的流量。过滤包括但不限于源地址为所谓“火星地址”(Martian address)的流量,该地址为保留地址[3],包括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或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 this case, the attacked sites can protect themselves by proper filtering, by verifying that their prefixes are not used in the source addresses in packets received from the Internet. In other attacks, the source address 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.
入口过滤过程背后的原因是,分布式拒绝服务攻击经常欺骗其他系统的源地址,在字段中放置一个随机数。在某些攻击中,此随机数在目标网络内确定,同时攻击一台或多台机器,并导致这些机器使用ICMP消息或其他流量攻击其他机器;在这种情况下,受攻击的站点可以通过适当的过滤来保护自己,方法是验证从Internet接收的数据包的源地址中没有使用它们的前缀。在其他攻击中,源地址实际上是一个随机的32位数字,导致攻击源难以追踪。如果离开边缘网络并进入ISP的通信量仅限于其合法发送的通信量,则可以在一定程度上减轻攻击:具有随机或不正确源地址的通信量可以在造成重大损害之前被抑制,并且攻击可以很容易地追溯到至少其源网络。
This document is aimed at ISP and edge network operators who 1) would like to learn more of ingress filtering methods in general, or 2) are already using ingress filtering to some degree but who would like to expand its use and want to avoid the pitfalls of ingress filtering in the multihomed/asymmetric scenarios.
本文档针对的是ISP和边缘网络运营商,他们1)希望了解更多的一般入口过滤方法,或2)已经在某种程度上使用入口过滤,但希望扩大其使用范围,并希望避免多址/非对称场景中入口过滤的陷阱。
In section 2, several different ways to implement ingress filtering are described and examined in the generic context. In section 3, some clarifications on the applicability of ingress filtering methods are made. In section 4, ingress filtering is analyzed in detail from the multihoming perspective. In section 5, conclusions and potential future work items are identified.
在第2节中,描述了几种实现入口过滤的不同方法,并在通用上下文中进行了研究。在第3节中,对入口过滤方法的适用性进行了一些澄清。在第4节中,从多归宿的角度详细分析了入口过滤。第5节确定了结论和未来可能的工作项目。
This section serves as an introduction to different operational techniques used to implement ingress filtering as of writing this memo. The mechanisms are described and analyzed in general terms, and multihoming-specific issues are described in Section 4.
本节介绍了在撰写本备忘录时用于实施入口过滤的不同操作技术。一般情况下对这些机制进行了描述和分析,第4节描述了多归宿的具体问题。
There are at least five ways one can implement RFC 2827, with varying impacts. These include (the names are in relatively common usage):
实施RFC 2827的方法至少有五种,影响各不相同。这些名称包括(这些名称的用法比较常见):
o Ingress Access Lists
o 入口访问列表
o Strict Reverse Path Forwarding
o 严格反向路径转发
o Feasible Path Reverse Path Forwarding
o 可行路径反向路径转发
o Loose Reverse Path Forwarding
o 松散反向路径转发
o Loose Reverse Path Forwarding ignoring default routes
o 松散反向路径转发忽略默认路由
Other mechanisms are also possible, and indeed, there are a number of techniques that might profit from further study, specification, implementation, and/or deployment; see Section 6. However, these are out of scope.
其他机制也是可能的,事实上,有许多技术可能从进一步的研究、规范、实现和/或部署中获益;见第6节。然而,这些都超出了范围。
An Ingress Access List is a filter that checks the source address of every message received on a network interface 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 RFC 2827 [1], and in some sense the most deterministic one.
入口访问列表是一个过滤器,它根据可接受的前缀列表检查网络接口上接收的每条消息的源地址,丢弃任何与过滤器不匹配的数据包。虽然这绝不是实现入口过滤器的唯一方法,但它是RFC 2827[1]提出的方法,并且在某种意义上是最确定的方法。
However, Ingress Access Lists are typically maintained manually; for example, forgetting to have the list updated at the ISPs if the set of prefixes changes (e.g., as a result of multihoming) might lead to discarding the packets if they do not pass the ingress filter.
然而,入口访问列表通常是手动维护的;例如,如果前缀集发生变化(例如,由于多重归宿),忘记在ISP处更新列表可能会导致丢弃未通过入口过滤器的数据包。
Naturally, this problem is not limited to Ingress Access Lists -- it is inherent to Ingress Filtering when the ingress filter is not complete. However, usually Ingress Access Lists are more difficult to maintain than the other mechanisms, and having an outdated list can prevent legitimate access.
当然,这个问题并不局限于入口访问列表——当入口过滤器不完整时,它是入口过滤固有的。然而,通常入口访问列表比其他机制更难维护,并且具有过时的列表可能会阻止合法访问。
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 (FIB) - and if the packet is received on the interface which would be used to forward the traffic to the source of the packet, it passes the check.
严格反向路径转发(Strict RPF)是实现入口过滤器的一种简单方法。它在概念上与使用访问列表进行入口过滤相同,只是访问列表是动态的。这也可用于避免重复配置(例如,维护静态路由或BGP前缀列表过滤器和接口访问列表)。程序是在转发信息库(FIB)中查找源地址,如果在用于将流量转发到数据包源的接口上接收到数据包,则通过检查。
Strict Reverse Path Forwarding is a very reasonable approach in front 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.
在任何边缘网络中,严格的反向路径转发是一种非常合理的方法;特别是,当网络边缘使用BGP宣传多个前缀时,它远远优于入口访问列表。它是一种简单、廉价、快速、动态的过滤器。
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.
但是严格的反向路径转发本身也存在一些问题。首先,该测试仅适用于路由对称的地方——一个方向的IP数据报和另一个方向的响应确定地遵循相同的路径。虽然这在与ISP的边缘网络接口上很常见,但ISP之间却毫无共同之处,因为ISP通常使用非对称的“烫手山芋”路由。此外,如果BGP携带前缀,并且ISP在其策略下未公布或不接受某些合法前缀,则其效果与使用不完整访问列表进行的入口过滤相同:由于过滤路由器的转发信息库中缺少路由,某些合法流量被过滤。
There are operational techniques, especially with BGP but somewhat applicable to other routing protocols as well, to make strict RPF work better in the case of asymmetric or multihomed traffic. The ISP assigns a better metric which is not propagated outside of the router, either a vendor-specific "weight" or a protocol distance to prefer the directly received routes. With BGP and sufficient machinery in place, setting the preferences could even be automated, using BGP Communities [2]. That way, the route will always be the best one in the FIB, even in the scenarios where only the primary connectivity would be used and typically no packets would pass
有一些操作技术,特别是使用BGP,但在某种程度上也适用于其他路由协议,以使严格的RPF在不对称或多址流量的情况下工作得更好。ISP分配了一个更好的指标,该指标不会传播到路由器之外,即供应商特定的“权重”或协议距离,以选择直接接收的路由。有了BGP和足够的机制,甚至可以使用BGP社区自动设置首选项[2]。这样,即使在仅使用主要连接且通常没有数据包通过的情况下,该路由也将始终是FIB中的最佳路由
through the interface. This method assumes that there is no strict RPF filtering between the primary and secondary edge routers; in particular, when applied to multihoming to different ISPs, this assumption may fail.
通过接口。该方法假设主边缘路由器和次边缘路由器之间没有严格的RPF过滤;特别是,当应用于不同ISP的多宿时,这一假设可能会失败。
Feasible Path Reverse Path Forwarding (Feasible RPF) is an extension of Strict RPF. The source address is still looked up in the FIB (or an equivalent, RPF-specific table) but instead of just inserting one best route there, the alternative paths (if any) have been added as well, and are valid for consideration. The list is populated using routing-protocol specific methods, for example by including all or N (where N is less than all) feasible BGP paths in the Routing Information Base (RIB). Sometimes this method has been implemented as part of a Strict RPF implementation.
可行路径反向路径转发是严格RPF的一种扩展。源地址仍在FIB(或等效的RPF特定表)中查找,但不是仅在那里插入一个最佳路由,而是添加了替代路径(如果有),并可供考虑。使用特定于路由协议的方法填充该列表,例如,通过在路由信息库(RIB)中包括全部或N条(其中N小于全部)可行BGP路径。有时,此方法已作为严格RPF实现的一部分实现。
In the case of asymmetric routing and/or multihoming at the edge of the network, this approach provides a way to relatively easily address the biggest problems of Strict RPF.
在网络边缘的非对称路由和/或多宿的情况下,这种方法提供了一种相对容易地解决严格RPF最大问题的方法。
It is critical to understand the context in which Feasible RPF operates. The mechanism relies on consistent route advertisements (i.e., the same prefix(es), through all the paths) propagating to all the routers performing Feasible RPF checking. For example, this may not hold e.g., in the case where a secondary ISP does not propagate the BGP advertisement to the primary ISP e.g., due to route-maps or other routing policies not being up-to-date. The failure modes are typically similar to "operationally enhanced Strict RPF", as described above.
理解可行的RPF运作的环境至关重要。该机制依赖于向执行可行RPF检查的所有路由器传播的一致路由广告(即,通过所有路径的相同前缀)。例如,例如,由于路由地图或其他路由策略不是最新的,在次要ISP没有将BGP广告传播到主要ISP的情况下,这可能不成立。故障模式通常类似于上文所述的“操作增强型严格RPF”。
As a general guideline, if an advertisement is filtered, the packets will be filtered as well.
作为一般准则,如果广告被过滤,则数据包也将被过滤。
In consequence, properly defined, Feasible RPF is a very powerful tool in certain kinds of asymmetric routing scenarios, but it is important to understand its operational role and applicability better.
因此,正确定义的可行RPF在某些非对称路由场景中是一个非常强大的工具,但更好地理解其操作作用和适用性非常重要。
Loose Reverse Path Forwarding (Loose RPF) is algorithmically similar to strict RPF, but differs in that it checks only for the existence of a route (even a default route, if applicable), not where the route points to. Practically, this could be considered as a "route presence check" ("loose RPF is a misnomer in a sense because there is no "reverse path" check in the first place).
松散反向路径转发(Loose-Reverse-Path-Forwarding,Loose-RPF)在算法上类似于严格的RPF,但不同之处在于它只检查路由的存在(即使是默认路由,如果适用),而不检查路由指向的位置。实际上,这可以被视为“路由存在检查”(“松散RPF”在某种意义上是一个误称,因为首先没有“反向路径”检查)。
The questionable benefit of Loose RPF 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.
松散RPF的好处在非对称路由情况下是值得怀疑的:如果根本没有路由(例如到“火星地址”或当前未路由的地址),则数据包会被丢弃,但如果存在路由,则不会被丢弃。
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, in most cases, rendering the mechanism useless as an ingress filtering mechanism.
然而,松散反向路径转发存在问题。由于它牺牲了方向性,它失去了将边缘网络的流量限制为合法来源于该网络的流量的能力,在大多数情况下,这使得该机制作为入口过滤机制毫无用处。
Also, many ISPs use default routes for various purposes such as collecting illegitimate traffic at so-called "Honey Pot" systems or discarding any traffic they do not have a "real" route to, and smaller ISPs may well purchase transit capabilities and use a default route from a larger provider. At least some implementations of Loose RPF check where the default route points to. If the route points to the interface where Loose RPF is enabled, any packet is allowed from that interface; if it points nowhere or to some other interface, the packets with bogus source addresses will be discarded at the Loose RPF interface even in the presence of a default route. If such fine-grained checking is not implemented, presence of a default route nullifies the effect of Loose RPF completely.
此外,许多ISP出于各种目的使用默认路由,例如在所谓的“蜜罐”系统中收集非法流量,或丢弃他们没有“真正”路由的任何流量,较小的ISP很可能会购买运输能力,并使用较大提供商提供的默认路由。至少有一些松散RPF的实现会检查默认路由指向的位置。如果路由指向启用松散RPF的接口,则允许从该接口发送任何数据包;如果它不指向任何地方或指向其他接口,则即使存在默认路由,具有虚假源地址的数据包也将在松散RPF接口处丢弃。如果未实现这种细粒度检查,则默认路由的存在将完全消除松散RPF的影响。
One case where Loose RPF might fit well could be an ISP filtering packets from its upstream providers, to get rid of packets with "Martian" or other non-routed addresses.
松散的RPF很适合的一种情况可能是ISP过滤来自其上游提供商的数据包,以去除带有“火星”或其他非路由地址的数据包。
If other approaches are unsuitable, loose RPF could be used as a form of 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. Of course, this mechanism would only show if the source addresses used are "martian" or other unrouted addresses -- not if they are from someone else's address space.
如果其他方法不合适,松散RPF可以用作合同验证的一种形式:另一个网络可能正在证明它提供了适当的入口过滤规则,因此进行过滤的网络只需验证事实,并在检测到任何可能显示违反合同的包时作出反应。当然,这种机制只会显示所使用的源地址是否是“火星”或其他未路由的地址,而不会显示它们是否来自其他人的地址空间。
The fifth implementation technique may be characterized as Loose RPF ignoring default routes, i.e., an "explicit route presence check". 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 only to catch traffic with bogus source addresses, with an extensive (or even full) list of explicit routes to cover legitimate traffic.
第五实现技术可以被描述为忽略默认路由的松散RPF,即“显式路由存在性检查”。在这种方法中,路由器在路由表中查找源地址,并在找到路由时保留数据包。但是,在查找中,将排除默认路由。因此,该技术主要适用于以下场景:默认路由仅用于捕获具有虚假源地址的流量,并包含大量(甚至全部)显式路由列表以覆盖合法流量。
Like Loose RPF, this is useful in places where asymmetric routing is found, such as on inter-ISP links. However, like Loose RPF, since it sacrifices directionality, it loses the ability to limit an edge network's traffic to traffic legitimately sourced from that network.
与松散的RPF一样,这在发现不对称路由的地方非常有用,例如在ISP间链路上。然而,与松散的RPF一样,由于它牺牲了方向性,它失去了将边缘网络的流量限制为合法来源于该网络的流量的能力。
What may not be readily apparent is that ingress filtering is not applied only at the "last-mile" interface between the ISP and the end user. It's perfectly fine, and recommended, to also perform ingress filtering at the edges of ISPs where appropriate, at the routers connecting LANs to an enterprise network, etc. -- this increases the defense in depth.
可能不明显的是,入口过滤并不仅仅应用于ISP和最终用户之间的“最后一英里”接口。在适当的情况下,在ISP的边缘、将LAN连接到企业网络的路由器等处,也可以执行入口过滤,这是非常好的,并且是推荐的——这增加了防御的深度。
Because of wider deployment of ingress filtering, the issue is recursive. Ingress filtering has to work everywhere where it's used, not just between the first two parties. That is, if a user negotiates a special ingress filtering arrangement with his ISP, he should also ensure (or make sure the ISP ensures) that the same arrangements also apply to the ISP's upstream and peering links, if ingress filtering is being used there -- or will get used, at some point in the future; similarly with the upstream ISPs and peers.
由于入口过滤的广泛部署,问题是递归的。入口过滤必须在使用它的任何地方工作,而不仅仅是在前两方之间。也就是说,如果用户与其ISP协商一项特殊的入口过滤安排,他还应确保(或确保ISP确保)相同的安排也适用于ISP的上游和对等链路,前提是入口过滤正在那里使用,或将来某个时候将被使用;与上游ISP和对等方类似。
In consequence, manual models which do not automatically propagate the information to every party where the packets would go and where ingress filtering might be applied have only limited generic usefulness.
因此,不能将信息自动传播到数据包将要去的每一方以及可能应用入口过滤的每一方的手动模型只有有限的通用性。
Another feature stemming from wider deployment of ingress filtering may not be readily apparent. The routers and other ISP infrastructure are vulnerable to several kinds of attacks. The threat is typically mitigated by restricting who can access these systems.
来自更广泛部署入口过滤的另一个特性可能并不明显。路由器和其他ISP基础设施容易受到多种攻击。通常通过限制谁可以访问这些系统来缓解威胁。
However, unless ingress filtering (or at least, a limited subset of it) has been deployed at every border (towards the customers, peers and upstreams) -- blocking the use of your own addresses as source addresses -- the attackers may be able to circumvent the protections of the infrastructure gear.
但是,除非在每个边界(面向客户、对等方和上游)部署了入口过滤(或至少是其有限子集)——阻止使用您自己的地址作为源地址——否则攻击者可能能够绕过基础设施设备的保护。
Therefore, by deploying ingress filtering, one does not just help the Internet as a whole, but protects against several classes of threats to your own infrastructure as well.
因此,通过部署入口过滤,不仅可以帮助整个互联网,还可以保护您自己的基础设施免受几类威胁。
Ingress filtering on peering links, whether by ISPs or by end-sites, is not really that much different from the more typical "downstream" or "upstream" ingress filtering.
对等链路上的入口过滤,无论是通过ISP还是通过终端站点,实际上与更典型的“下游”或“上游”入口过滤没有太大区别。
However, it's important to note that with mixed upstream/downstream and peering links, the different links may have different properties (e.g., relating to contracts, trust, viability of the ingress filtering mechanisms, etc.). In the most typical case, just using an ingress filtering mechanism towards a peer (e.g., Strict RPF) works just fine as long as the routing between the peers is kept reasonably symmetric. It might even be considered useful to be able to filter out source addresses coming from an upstream link which should have come over a peering link (implying something like Strict RPF is used towards the upstream) -- but this is a more complex topic and considered out of scope; see Section 6.
然而,需要注意的是,对于混合的上游/下游和对等链路,不同的链路可能具有不同的属性(例如,与合同、信任、入口过滤机制的可行性等相关)。在最典型的情况下,只要对等方之间的路由保持合理的对称性,就可以对对等方使用入口过滤机制(例如,严格的RPF)。它甚至可能被认为是有用的,能够过滤掉来自应该通过对等链路的上游链路的源地址(这意味着类似于对上游使用严格的RPF的东西)——但这是一个更复杂的主题,被认为超出了范围;见第6节。
First, one must ask why a site multihomes; for example, the edge network might:
首先,人们必须问,为什么一个网站有多个家庭;例如,边缘网络可能:
o use two ISPs for backing up the Internet connectivity to ensure robustness,
o 使用两个ISP备份Internet连接以确保健壮性,
o use whichever ISP is offering the fastest TCP service at the moment,
o 使用目前提供最快TCP服务的ISP,
o need several points of access to the Internet in places where no one ISP offers service, or
o 在没有ISP提供服务的地方需要多个互联网接入点,或者
o be changing ISPs (and therefore multihoming only temporarily).
o 正在更改ISP(因此多主机只能暂时更改)。
One can imagine a number of approaches to working around the limitations of ingress filters for multihomed networks. Options include:
可以想象,有许多方法可以克服多宿网络入口过滤器的限制。选择包括:
1. Do not multihome.
1. 不要住在家里。
2. Do not use ingress filters.
2. 不要使用入口过滤器。
3. Accept that service will be incomplete.
3. 接受服务将是不完整的。
4. On some interfaces, weaken ingress filtering by using an appropriate form of loose RPF check, as described in Section 4.1.
4. 在某些接口上,如第4.1节所述,通过使用适当形式的松散RPF检查来削弱入口过滤。
5. Ensure, by BGP or by contract, that each ISP's ingress filter is complete, as described in Section 4.2.
5. 按照第4.2节所述,通过BGP或合同确保每个ISP的入口过滤器完整。
6. Ensure that edge networks only deliver traffic to their ISPs that will in fact pass the ingress filter, as described in Section 4.3.
6. 如第4.3节所述,确保边缘网络仅向其ISP提供实际上将通过入口过滤器的流量。
The first three of these are obviously mentioned for completeness; they are not and cannot be viable positions; the final three are considered below.
其中前三个明显是为了完整性而提到的;它们不是也不可能是可行的立场;最后三项考虑如下。
The fourth and the fifth must be ensured in the upstream ISPs as well, as described in Section 3.1.
如第3.1节所述,上游ISP也必须确保第四个和第五个。
Next, we now look at the viable ways for dealing with the side-effects of ingress filters.
接下来,我们来看看处理入口过滤器副作用的可行方法。
Where asymmetric routing is preferred or is unavoidable, ingress filtering may be difficult to deploy using a mechanism such as strict RPF which requires the paths to be symmetrical. In many cases, using operational methods or feasible RPF may ensure the ingress filter is complete, like described below. Failing that, the only real options are to not perform ingress filtering, use a manual access-list (possibly in addition to some other mechanisms), or to using some form of Loose RPF check.
在非对称路由是首选或不可避免的情况下,使用要求路径对称的严格RPF等机制可能难以部署入口过滤。在许多情况下,使用操作方法或可行的RPF可确保入口过滤器完整,如下所述。如果做不到这一点,唯一的实际选择是不执行入口过滤,使用手动访问列表(可能除了一些其他机制之外),或者使用某种形式的松散RPF检查。
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.
根本不提供任何入口过滤器基本上是信任下游网络自己的行为,这不是最明智的做法。然而,特别是在有数百或数千个前缀的大型网络中,维护手动访问列表的要求可能太高了。
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.
在边缘网络和ISP之间使用松散RPF似乎不是一个好的选择,因为它会失去测试的方向性。这就主张要么在上游网络中使用完整的过滤器,要么在下游网络中确保上游网络拒绝的数据包永远不会到达它。
Therefore, the use of Loose RPF cannot be recommended, except as a way to measure whether "martian" or other unrouted addresses are being used.
因此,不建议使用松散RPF,除非作为衡量是否正在使用“火星”或其他未路由地址的方法。
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.
对于边缘网络,如果使用多宿来增强稳定性或根据测量的ISP行为不时更改路由,最简单的方法是确保其ISP在路由中实际携带其地址。这通常要求边缘网络使用独立于提供商的前缀,并与具有BGP的ISP交换路由,以确保其前缀向上游传送到主要的运输ISP。当然,这意味着边缘网络的规模和技术能力将有资格从其RIR中获得单独的地址分配和自治系统编号。
There are a number of techniques which make it easier to ensure the ISP's ingress filter is complete. Feasible RPF and Strict RPF with operational techniques both work quite well for multihomed or asymmetric scenarios between the ISP and an edge network.
有许多技术可以更容易地确保ISP的入口过滤器是完整的。可行的RPF和具有操作技术的严格RPF对于ISP和边缘网络之间的多宿或不对称场景都非常有效。
When a routing protocol is not being used, but rather the customer information is generated from databases such as Radius, TACACS, or Diameter, the ingress filtering can be the most easily ensured and kept up-to-date with Strict RPF or Ingress Access Lists generated automatically from such databases.
当不使用路由协议,而是从诸如Radius、TACACS或Diameter之类的数据库生成客户信息时,入口过滤可以最容易地得到保证,并通过从此类数据库自动生成的严格RPF或入口访问列表保持最新。
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.
对于使用基于提供商的寻址且其ISP实施入口过滤器(他们应该这么做)的较小边缘网络,第三种选择是将来自给定提供商地址空间的流量路由到该提供商。
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. Alternatively, a set of tunnels could be configured instead of multiple connections to the same ISP [4][5]. This way the edge routers are configured to first inspect the source address of a packet destined to an ISP and shunt it into the appropriate tunnel or interface toward the ISP.
这不是一个复杂的过程,但需要仔细规划和配置。为了健壮性,边缘网络可以选择通过两个或多个不同的存在点(POP)连接到其每个ISP,以便如果一个POP或线路发生中断,可以使用到同一ISP的另一条链路。或者,可以配置一组隧道,而不是同一ISP的多个连接[4][5]。这样,边缘路由器被配置为首先检查发送给ISP的数据包的源地址,并将其分流到通向ISP的适当隧道或接口中。
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 of sending it to an ISP.
如果彻底应用这样的场景,以便在边缘网络中为网络使用的每个前缀选择一个出口路由器,则来自任何其他前缀的流量可以被立即丢弃,而不是发送给ISP。
Ingress filtering is typically performed to ensure that traffic arriving on one network interface legitimately comes from a computer residing on a network reachable through that interface.
通常执行入口过滤以确保到达一个网络接口的流量合法地来自驻留在可通过该接口访问的网络上的计算机。
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. Therefore, ingress filtering should be done at multiple levels, with different level of granularity.
执行的源入口过滤越接近实际,越有效。人们可能希望第一跳路由器能够确保来自其相邻终端系统的流量得到正确的寻址;更远的路由器只能确保在指定的前缀内有这样的系统。因此,入口过滤应该以不同的粒度级别在多个级别上进行。
It bears to keep in mind that while one goal of ingress filtering is to make attacks traceable, it is impossible to know whether the particular attacker "somewhere in the Internet" 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 widely 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.
不同入口过滤类型的安全性和适用性存在很大差异。
o 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.
o 入口访问列表通常需要手动维护,但如果操作得当,则最安全;通常,如果没有严格的RPF选项,则当配置不是太动态时,入口访问列表最适合在边缘和ISP之间使用;如果使用的前缀数量较少,则在ISP之间使用;或者作为额外的保护层使用。
o 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 many cases, a simple strict RPF can be augmented by operational procedures in the case of asymmetric traffic patterns, or the feasible RPF technique to also account for other alternative paths.
o 严格的RPF检查是实现入口过滤的一种非常简单和可靠的方法。它通常适用于边缘网络和ISP之间。在许多情况下,简单的严格RPF可以通过不对称流量模式下的操作程序或可行的RPF技术来增强,以同时考虑其他备选路径。
o Feasible Path RPF check is an extension of Strict RPF. It is suitable in all the scenarios where Strict RPF is, but multihomed or asymmetric scenarios in particular. However, one must remember that Feasible RPF assumes the consistent origination and
o 可行路径RPF检查是严格RPF的一个扩展。它适用于所有需要严格RPF的场景,尤其是多宿主或不对称场景。然而,必须记住,可行的RPF假设始发和终止的一致性
propagation of routing information to work; the implications of this must be understood especially if a prefix advertisement passes through third parties.
向工作场所传播路由信息;必须理解这一点的含义,尤其是当前缀广告通过第三方时。
o 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 can only be used as a contract verification, that the other network has performed at least some ingress filtering.
o 松散的RPF主要过滤掉未路由的前缀,如火星地址。它可以应用于上游接口,以减少源地址未路由的DoS攻击的规模。在下游接口中,它只能用作合同验证,以确认其他网络至少执行了一些入口过滤。
When weighing the tradeoffs of different ingress filtering mechanisms, the security properties of a more relaxed approach should be carefully considered before applying it. Especially when applied by an ISP towards an edge network, there don't seem to be many reasons why a stricter form of ingress filtering would not be appropriate.
在权衡不同入口过滤机制的利弊时,在应用更宽松的方法之前,应仔细考虑其安全特性。特别是当ISP将其应用于边缘网络时,似乎没有太多理由说明更严格的入口过滤形式不合适。
This memo describes ingress filtering techniques in general and the options for multihomed networks in particular.
本备忘录描述了一般的入口过滤技术,特别是多址网络的选项。
It is important for ISPs to implement ingress filtering to prevent spoofed addresses being used, both to curtail DoS attacks and to make them more traceable, and to protect their own infrastructure. This memo describes mechanisms that could be used to achieve that effect, and the tradeoffs of those mechanisms.
ISP必须实施入口过滤,以防止使用伪造地址,从而减少DoS攻击,使其更具可追踪性,并保护其自身的基础设施。本备忘录描述了可用于实现该效果的机制,以及这些机制的权衡。
To summarize:
总结如下:
o Ingress filtering should always be done between the ISP and a single-homed edge network.
o 应始终在ISP和单个托管边缘网络之间进行入口过滤。
o Ingress filtering with Feasible RPF or similar Strict RPF techniques could almost always be applied between the ISP and multi-homed edge networks as well.
o 使用可行的RPF或类似的严格RPF技术的入口过滤几乎总是可以应用于ISP和多宿边缘网络之间。
o Both the ISPs and edge networks should verify that their own addresses are not being used in source addresses in the packets coming from outside their network.
o ISP和边缘网络都应验证其自身的地址未在来自其网络外部的数据包的源地址中使用。
o Some form of ingress filtering is also reasonable between ISPs, especially if the number of prefixes is low.
o ISP之间的某种形式的入口过滤也是合理的,特别是在前缀数量较少的情况下。
This memo will lower the bar for the adoption of ingress filtering especially in the scenarios like asymmetric/multihomed networks where the general belief has been that ingress filtering is difficult to implement.
该备忘录将降低采用入口过滤的门槛,特别是在非对称/多址网络等场景中,通常认为入口过滤难以实施。
One can identify multiple areas where additional work would be useful:
可以确定多个额外工作有用的领域:
o Specify the mechanisms in more detail: there is some variance between implementations e.g., on whether traffic to multicast destination addresses will always pass the Strict RPF filter or not. By formally specifying the mechanisms the implementations might get harmonized.
o 更详细地指定机制:实现之间存在一些差异,例如,到多播目标地址的流量是否总是通过严格的RPF过滤器。通过正式指定机制,实现可能会得到协调。
o Study and specify Routing Information Base (RIB) -based RPF mechanisms, e.g., Feasible Path RPF, in more detail. In particular, consider under which assumptions these mechanisms work as intended and where they don't.
o 更详细地研究和指定基于路由信息库(RIB)的RPF机制,例如可行路径RPF。特别是,在这些假设下考虑这些机制的工作意图和他们没有。
o Write a more generic note on the ingress filtering mechanisms than this memo, after the taxonomy and the details or the mechanisms (points above) have been fleshed out.
o 在分类法和细节或机制(上面的要点)充实之后,就入口过滤机制编写一份比本备忘录更一般的说明。
o Consider the more complex case where a network has connectivity with different properties (e.g., peers and upstreams), and wants to ensure that traffic sourced with a peer's address should not be accepted from the upstream.
o 考虑网络具有不同属性(例如,对等体和上游流)的更复杂的情况,并且希望不应该从上游接收来自对等体地址的流量。
Rob Austein, Barry Greene, Christoph Reichert, Daniel Senie, Pedro Roque, and Iljitsch van Beijnum reviewed this document and helped in improving it. Thomas Narten, Ted Hardie, and Russ Housley provided good feedback which boosted the document in its final stages.
Rob Austein、Barry Greene、Christoph Reichert、Daniel Senie、Pedro Roque和Iljitsch van Beijnum审查了该文件,并帮助改进了该文件。Thomas Narten、Ted Hardie和Russ Housley提供了良好的反馈,推动了文件的最后阶段。
[1] 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.
[1] Ferguson,P.和D.Senie,“网络入口过滤:击败利用IP源地址欺骗的拒绝服务攻击”,BCP 38,RFC 2827,2000年5月。
[2] Chandrasekeran, R., Traina, P. and T. Li, "BGP Communities Attribute", RFC 1997, August 1996.
[2] Chandrasekeran,R.,Traina,P.和T.Li,“BGP社区属性”,RFC 1997,1996年8月。
[3] IANA, "Special-Use IPv4 Addresses", RFC 3330, September 2002.
[3] IANA,“特殊用途IPv4地址”,RFC 3330,2002年9月。
[4] Bates, T. and Y. Rekhter, "Scalable Support for Multi-homed Multi-provider Connectivity", RFC 2260, January 1998.
[4] Bates,T.和Y.Rekhter,“多宿多提供商连接的可扩展支持”,RFC 2260,1998年1月。
[5] Hagino, J. and H. Snyder, "IPv6 Multihoming Support at Site Exit Routers", RFC 3178, October 2001.
[5] Hagino,J.和H.Snyder,“站点出口路由器的IPv6多主支持”,RFC 3178,2001年10月。
Fred Baker Cisco Systems Santa Barbara, CA 93117 US
美国加利福尼亚州圣巴巴拉市弗雷德·贝克思科系统公司,邮编:93117
EMail: fred@cisco.com
EMail: fred@cisco.com
Pekka Savola CSC/FUNET Espoo Finland
佩卡·萨沃拉CSC/芬兰福内·埃斯波
EMail: psavola@funet.fi
EMail: psavola@funet.fi
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78 and except as set forth therein, the authors retain all their rights.
版权所有(C)互联网协会(2004年)。本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
本文件及其包含的信息是按“原样”提供的,贡献者、他/她所代表或赞助的组织(如有)、互联网协会和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights 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; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.
Acknowledgement
确认
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC编辑功能的资金目前由互联网协会提供。