思科运营商路由系统CRS-1的安全性
2008-04-22
- 思科运营商路由系统和它的分布式、模块化Cisco IOS XR软件微内核架构可以通过跨越管理、控制和数据面板的内嵌检测、访问控制和流程隔离技术,支持高度安全、持续的系统运营。
服务供应商利润面临的威胁
对于服务供应商而言,网络安全与业务发展息息相关。由于病毒、入侵、操作错误和软件配置错误所导致的安全事件可能会导致广泛的相关成本提高和一系列后果,例如服务中断、经济损失、客户不满、生产率降低,甚至媒体关注。为了保护收入和利润,服务供应商必须保护他们的基础设施,为安全连接、威胁防范和终端保护提供可管理的服务。
为了在一个安全威胁(例如拒绝服务[DDoS]攻击)层出不穷和策略日益复杂的环境中保持很高的可用性,服务供应商希望采用新的路由和交换解决方案。这些解决方案应当可以提供有效、内嵌、基于硬件的安全检测,从而建立自我防御网络。这些新的不间断系统运营解决方案必须支持:
访问隔离、故障隔离和内存保护
无缝的软件和硬件恢复
配置和管理保护
主动、迅速的响应
思科运营商路由系统
思科运营商路由系统(CRS-1)是一个多机架路由平台,采用了一个模块化、分布式的微内核操作系统——Cisco IOS XR。
在设计CRS-1时,思科的开发人员利用了Cisco IOS软件的互联网安全经验。Cisco IOS XR软件的模块化架构在逻辑上和物理上都具有分布式的特性(如图1所示),因而可以在创建一个高度可用的、安全的路由平台和网络方面提供巨大的优势。分散的软件组件(子系统)被部署为独立的软件流程,运行在它们自己的受保护的内存地址空间中。这可以在发生安全事件时实现真正的故障隔离和分区,防止一个子系统中发生的故障对其他的子系统造成不利影响。
与像FreeBSD UNIX这样的单内核架构不同,网络堆栈(例如TCP)作为一个单独的进程,在微内核之外运行。因此,即使TCP堆栈受到安全威胁,系统仍然可以正常运行。在需要恢复服务时,相关流程会自动重启,不需要人为干预。此外,模块化软件架构和服务中软件升级(ISSU)支持让用户可以在不关闭整个系统的情况下,迅速地安装一个补丁。
在Cisco IOS XR软件中保持深入的故障隔离和实现安全检测的关键是,它在三个面板之间对流程进行了逻辑分配。每个面板都采用了自己的访问控制机制,以实现网络的安全运行。这三个面板分别是:
控制面板
数据面板
管理面板控制面板保护
所有路由控制信息都在控制面板进行交换,这使得控制面板及其组件成为了一个攻击目标。因为控制面板的永续性取决于CPU的处理能力和可扩展性,所以针对CPU的“资源耗尽式”攻击并不少见。
为了支持可扩展性和性能,CRS-1控制面板采用了分布式、冗余的路由处理器——对称式多处理器(SMP)CPU。在正常情况下,CRS-1所传输的流量由它的线卡以线速进行处理。但是,在发生意外情况时,分组被转发到路由器本身。这些包括路由协议、互联网控制消息协议(ICMP)和网络管理分组在内的“转移分组”将从线卡分组处理器发送到线卡CPU或者路由处理器CPU。
为了防止控制面板在一个开放的环境中遭受DoS攻击,CRS-1在线卡和它的分组处理器中分配了多种层次化的安全功能。这些功能包括:
动态控制面板保护(DCPP)
自动控制面板拥塞过滤器
控制面板生存时间(TTL)完整性检查(RFC 3682,通用TTL安全机制(GTSM))
边界网关协议(BGP)路由协议过滤和路由策略语言(RPL)
动态控制面板保护
由于违反规定的行为(例如入侵者转移或者分析网络流量)所导致的未经授权的或者恶意的路由更新可能会威胁网络安全。部署基于报文摘要算法5(MD5)的相邻路由器身份验证是避免伪装的一种常用方法,它实际上确保了路由器从某个可靠的来源获得可靠的信息——但是这仅仅是第一步。如果伪装的BGP分组开始涌向路由器,接收路径访问控制列表(ACL)和模块化QoS CLI(MQC)速率限制能够准确地控制这些分组的传输。但是,ACL和MQC控制并不是自动进行的。如果BGP对等主机关机或者重启,第四层端口编号就会随着每个进程的重新建立而改变。因此,网络设计人员一直在寻找一种自动、动态的方式来准许经过设置的BGP对等进程和丢弃未经设置的进程。
为此,CRS-1为线卡分组处理提供了一个DCPP方法。利用DCPP,经过正确设置的BGP对等进程会自动获得足够的资源,而未经设置的进程则会被丢弃或者获得最低限度的处理。这种准许-拒绝模式建立在静态设置的IP地址和动态的第四层端口号之间的关联关系的基础上。在身份验证和建立最大限度的准入控制之前,需要为初始连接设置不同的资源策略。控制面板分组必须经过是一个多层次的事先筛选流程,直到得到一个内部搜索表的授权之后,它们才会获得足够的资源。这种自动化的流程可以节约网络管理员为了其他关键任务进行手动设置所需要的时间。
自动控制面板拥塞过滤器
在严重的DoS或者DDoS攻击导致线卡超出CRS-1的插槽容量时,控制机制会以特定用途集成电路(ASIC)的速度执行,将超出线卡容量的分组导入第三层模块化服务卡(MSC)上的硅分组处理器,从而确保控制面板分组得到优先处理。在网络管理员利用其他安全工具安装缓解方案以解决问题时,这种功能可以保持拓扑的完整性。
控制面板TTL完整性检查(RFC 3682,GTSM)
大部分控制协议对等进程都建立在相邻或者直连的路由器之间。在GTSM(过去被称为BGP TTL安全破解[BTSH])出现之前,从非定向对等节点发往路由器的BGP分组必须由路由器CPU进行处理。在生成大量这类分组时,它会导致一个严重的DDoS攻击,从而耗尽CPU资源。现在,管理员可以利用GTSM对BGP对等分组进行TTL检查,从而在MSC SPP中有效地阻止所有非定向BGP伪装分组。
这些技术还可用于很多其他的应用,例如标签分发协议(LDP)和资源预留协议(RSVP)。RSVP可以利用通用GTSM的功能。由于CRS-1采用了完全可编程的MSC架构,GTSM对于其他应用协议的支持可以被方便地添加到MSC。
BGP路由协议过滤和RPL
BGP是互联网上最基础的路由协议之一。不幸的是,如果BGP在没有采用适当的前缀过滤措施的情况下遭受攻击,互联网上将会出现大量的“垃圾”流量。因此,前缀过滤多年以来一直是互联网服务供应商(ISP)行业的最佳实践之一。(如需了解更多信息,请访问http://www.ispbook.com)
但是,随着路由策略的日益复杂和每台对等路由器必须交互的对等主机的不断增多,服务供应商在如何成功地部署前缀过滤方面面临着艰巨的挑战。为此,思科推出了RPL,并将其集成到了Cisco IOS XR软件中。针对大规模路由配置而开发的RPL具有一些重要的功能,可以改进传统路由图中的设置,以及ACL或者面向前缀列表的配置。
第一项改进是模块化的策略组件。这样,通用的策略模块可以独立地定义和维护。这些通用模块可用于其他策略模块,以构成完整的策略,从而减少需要维护的配置信息。另外,可以为这些通用策略模块设置参数。这使得网络管理员可以将那些具有相同结构,但是特定参数不同的策略作为独立的策略模块进行维护。例如,三个除了本地优先值以外完全相同的策略可以表示为一个统一的策略,并使用不同的本地优先值作为策略的参数。
RPL还采用了集合的概念。它是可以被用于路由属性匹配和设置操作中的类似数据的容器。有多种不同的集合类型,例如前缀集合、公共集合、as-path集合和扩展公共集合,它们包含了相应的群组。这些集合分别类似于传统的Cisco IOS软件配置中的前缀列表、公共列表、as-path列表和扩展公共列表,但是两者之间存在一个重要的区别。集合并不包括Cisco IOS软件配置中的“接受”和“拒绝”的概念。集合仅仅是数据的容器。大部分集合还拥有一个内嵌变量,它允许在完全在内部指定的数据值,而不需要引用某个只包含部分数据的特定集合。
决策——例如接受还是丢弃路由——完全取决于所制定的策略。RPL让用户可以将匹配的操作符(可能使用集合数据)和传统布尔逻辑操作符(“与”、“或”和“非”)集成到复杂的条件表达式中。所有匹配操作符都会返回一个“真”或“伪”结果。这些条件表达式的执行和相关操作都可以由用户所指定的、简单的“if-then,else-if,else”结构控制。这使得策略的评估路径可以完全由用户设置。
随着RPL的采用,对等策略预计将会比现有的、基于路由图的对等语句更加模块化和更有效率。RPL可以提供必要的可扩展性,使得用户能够通过一个多机架路由系统(例如CRS-1)与数千个对等主机进行对等通信。
数据面板保护
数据面板可以接收、处理和传输网络组件之间的网络数据,控制进出路由器的大量网络流量。为了防止数据面板流量遭受已知的攻击,CRS-1的转发引擎中内置了一些缺省的完整性检查(基于互联网行业积累的知识)。此外,CRS-1还提供了多种功能和工具,例如ACL、单播反向路径转发(uRPF)和NetFlow记帐,并在MSC上进行专门的输入和输出处理。
ACL——ACL(包括IPv4和IPv6)是很多路由器数据面板应用——例如分组分类、速率限制、统计和审核——的一个重要组成部分。它实际上是一个针对分组的准许-拒绝操作符。 Cisco CRS-1的设计目的是满足最严格的性能和可扩展性要求,因而它能够在网络负载繁重的情况下以线速处理ACL。例如,在处理200万个路由和500个BGP对等主机的同时,CRS-1可以在不影响性能的情况下处理数千个ACL及其条目。
热词搜索:
上一篇:配置路由器成为你安全防范的堡垒
下一篇:高手实测无线路由器的安全功能