配置路由器控制层面安全策略

2018-03-03 12:56:20
网络安全和信息化 2018年12期
关键词:列表攻击者路由器

控制层面的作用

既然在网络设备中运行各种网络协议,就必然需要为其设置各种参数,这其实都是由管理层面控制的。控制层面通过这些参数来执行一些命令,来控制网络中的结构信息。数据层面将相应的用户数据从对应的接口使用合适的方式转发出去。

综上所述,对于路由器来说,控制层面运行路由或组播进程,并为数据层面构建了路由或转发表,控制层面是基于进程级别运行的,在一些慢速的路径上需要共享CPU资源,即在控制层面运行一些协议时,需要占用一定的CPU资源。默认情况下,控制层面会共享主CPU队列。对于路由器中的CPU来说,管理进程、路由进程、慢速数据路径等都会消耗资源。

管理进程会通过Telnet、SSH等方式来对路由器进行各种管理操作。路由进程属于控制层面,因为涉及路由计算操作,也会占用一定CPU资源。也就是说,控制层面需要和管理进程和慢速数据路径共享CPU资源。

控制层面面临的威胁

在控制层面是存在一些安全威胁的,包括慢速路径的DoS攻击和路由协议欺骗等。前者主要是通过发送大量的垃圾数据来加剧路由器CPU的资源消耗。对于一些思科路由器来说,存在CEF快速转发机制,可以将数据快速转发出去,而无需经过CPU处理。但是对于不支持CEF的路由器来说,所有的数据必须经过CPU处理,攻击者可以发送大量的垃圾数据包,来极大的消耗CPU的占用率以实现攻击的目的。

对于这种攻击手段,可以使用多种方法进行防御。例如使用ACL控制列表,在对应的接口上拦截所有的攻击数据包。也可以通过COPP(Control Plane Policing)和 CPPR(Control Plane Protrction)技术,来保护路由器避免此类攻击。

对于后者来说,是很常见的攻击手法。例如两台路由器彼此可以正常的交换路由信息。但是对于以太网来说,是多路访问的环境,允许接入其他的网络设备。这样攻击者可以将自己的路由器连接进来,并将自己伪装成合法地址,向目标路由器发送虚假的路由更新消息,以非法获取传输的数据。

对于此类攻击,有多种方法加以应对。例如路由器本身具有安全认证和过滤功能,就可以有效解决问题,当然使用数据层面的ACL控制列表以及COPP和CPPR等技术,也可以对其进行防御。因为在路由器上会面对各种安全威胁,所以在配置路由协议时,最好进行合理的规划。例如在进行路由协议的拓扑规划和配置时,要能识别一些合法的对等体,即不同的设备之间通过安全认证的方式来建立邻居关系等。对网络协议所需的资源进行评估,并通过各种方法取消对于不需要的资源。

在设计网络拓扑时,要保留合法的路由信息,对于不合法的路由信息,可以通过路由过滤等手段将其清除。对于不信任的对等体和网络边缘,要考虑部署相应的对策。在部署一个网络时,建议至少实施一个层次的控制层面的安全保护。即在数据传递的过程中,数据每经过一个设备,都会进行封装或解封装操作。在进行封装时(如传输层封装、网络层封装等),要考虑在每一层上为其添加安全保护。例如,在网络层配置控制层面的保护等。如果条件许可,推荐进行冗余层次的保护,这样可以实现深度防御。路由协议是一个可传递的受信任的分布式系统,应在所有的设备上都提供相同层面的保护。

在路由器中部署COPP控制策略

使用基于架构的ACL控制列表的方法可以对控制层面进行保护,不过这是比较“古老”的方法。一般来说,都是思科的ISO环境下去部署控制层面下的安全策略(即 COPP)。根据以上分析可以知道,控制层面主要负责管理网络设备之间运行的路由或交换协议信息的。针对这些特定的信息,很有可能会被一些攻击者利用,对网络安全造成危害。

例如对于一台路由器的某个接口下运行了OSPF协议,在其下连接的不是一个合法的用户而是一个攻击者,攻击者就可能会伪装一些OSPF的信息,并和该路由器交换OSPF信息,这就会对该路由器上正常的OSFP数据造成扰乱和破坏,进而对该设备进行攻击,如果不及时进行处置,就对网络安全造成不可忽视的威胁。

利用COPP控制层面监管技术,可以对进行有效防御。COPP可以在网络设备上开启一个虚拟的控制层面的接口,当有一些流量进入该控制接口时,COPP可以识别这些流量的类型,对于非法的流量可以进行限制措施,来保护控制层面的安全。也就是说,在该虚拟接口上,COPP可以通过过滤和限速等手段,将不正常的流量直接过滤,或对其进行限速。COPP提供基本的资源保护功能,可以允许或拒绝关于控制层面的访问,这明显优于控制列表功能,因为ACL只能对数据包执行最基本的通过或丢弃的简单处理。

COPP可以针对控制层面的流量进行限制处理,其比本地接口或基于构建的控制列表更易于管理,COPP需要在一个虚拟的控制层面接口配置服务策略,COPP的配置并不复杂,首先需要创建Traffic Classes对流量进行分类,来描述关于控制层面的有效流量。之后创建一个流量策略,对控制层面流量进行允许、拒绝或限速处理,最后将该策略应用到对应的虚拟控制层面接口上。

注意,控制层面接口输入全局接口,分为主接口和子接口。对于COPP来说一般应用到主接口上,因为COPP是基于全局接口运作,所以可以按照预设的策略,对整个路由器上的所有跟控制层面有关的流量进行处理,而CPPR一般应用在子接口上。

实例分析COPP的配置方法

这里使用简单的例子来说明如何配置和管理COPP。在网络中存在R1和R2两台路由器,在其上分别启用Loopback0的环回口,地址分别为172.16.1.10/24和172.16.2.10/24,两 台路由器分别通过地址为10.1.1.1/24和10.1.1.2/24的fa0/0端口连接到同一台交换机上的两个接口上,并将其配置为同一个VLAN,这样两者就可以正常通讯。在该网络中部署OSPF协议,在R1和R2互联网段设置为OSPF区域0,在R1的环回口设置为OSPF区域1,在R2的环回口设置为OSPF区域2。

在R1的控制台上执行“route ospf 100”、“routeid 172.16.1.10”、“network 172.16.1.10 0.0.0.0 aera 1”、“network 10.1.1.1 0.0.0.0 0”、“end” 等 命令,在R2的控制台上执行“route ospf 100”、“routeid 172.16.2.10”、“network 172.16.2.10 0.0.0.0 aera 2”、“network 10.1.1.2 0.0.0.0 area 0”、“end”等命令,完成以上配置操作。为了让其收敛的更快速,可在R2上执行“conf t”、“inter f/0”、“ip ospf priority 0”命令,将该接口的优先级设置为0,让其不参与OSPF的DR和BDR的选举。执行“show ip ospf neighbor”命令,显示其邻居关系已经建立。执行“show ip route ospf”命令,显示相关的路由信息。

当然,路由器之所以可以学到OSPF路由,其实就是路由器的控制层面来实现的。准备好了实验环境后,就可以对COPP进行配置了。例如在R2上执行“ip accesslist extened copp-ospf”命令,创建名为“copp-ospf”的扩展访问控制列表,执行“permit ospf 12.1.1.0 0.0.0.255 any”命令,允许指定的地址向任何地方发送数据。执行“exit”、“classmap copp-ospf-class”命令,建一个名为“copp-ospfclass”的 Class-map。执行“match access-group name copp-ospf”、“exit” 命 令,使其匹配名为“copp-ospf”的访问列表。执行“policymap copp-policy” 命 令,创 建 名 为“copp-policy”的Policy-map。在其配置模式下执行“class coppospf-class”命令,调用上述Class-map。接下来就可以为其定义各种行为,例如设置带宽、丢弃等。执行“police rate 100 pps conform-action transmit exceed-action drop”命令,表示当数据包进入该路由器的控制层面时,当速率不超过每秒100个时对其放行,当超过时将其丢弃。

执 行“exit”、“class class-default”命 令,定义默认的Class,其针对的是除了上述设置的所有跟控制层面相关的内容。执行“police rate 10 pps conform-action transmit exceed-action drop”命令,表示针对这些内容进行限速,当其速度不超过10个每秒时放行否则丢弃。执行exit”,“control-plane”命令,进入COPP主接口配置界面。执行“service-policy input copp-policy”、“end”命令,针对进入的流量设置上述策略。之后执行“show policy-map control-policy all”命令,可以查看数据包匹配信息。执行“debug control-plane all” 命令,查看被过滤掉的数据包信息。对应的,执行“conf t”,“no class copp-ospfclass”命令,可以取消上述控制策略。当然,对于RIP、EIGRP等其他网络协议,也可以创建同样的策略,对控制层面的流量进行处理。

使用Telnet命令,可以对目标路由器进行管理操作。例如,在R1上开启一个VTY控制台,为其设置密码并允许登录,就可以执行Telnet连接。在有些情况下,可能不希望随意使用Telnet进行连接,这就可以使用控制层面安全策略进行管控。这样,当对R1进行Telnet连接时,将连接的数据包丢弃。在进行Telnet连接时,每输入一个字符,就会向R1发送一个数据包。基于此原理,只要在R1的控制层面进行限速处理,就会让Telnet连接无法进行。在R1全局配置模式下执行“line vty 0 4”、“pas xxx”、“login”命令,开启VTY控制台,设置密码为“xxx”。

执 行“ip access-list extended telnet”命令,创建名为“telnet”的扩展访问控制列表。执行“permit tcp host 10.1.1.1.2 any eq 23”命令,允许从指定的IP访问R1的Telnet端口。 执 行“exit”、“classmap telnet-class”命 令,创 建 名 为“telnet-class”的Class-map。 执 行“match access-group name telnet”命令,使之匹配名为“telnet”的访问控制列表。 执 行“exit”、“policymap telnet-policy”命令,创建名为“telnet-policy”的Policy-map。执行“police rate 1 pps conformaction transmit exceedaction drop”命令,对于速率超过每秒一个的数据包执行丢弃处理。执行“exit”、“exit”、“control-plane”、“service-policy input telnet-policy”命令,针对进入的流量设置预定的策略。

这样,当试图使用Telnet访问R1的话,其速度就变得很缓慢,如果将上述命令执行“police rate 1 pps conform-action drop”,那么就将彻底禁用Telnet连接。

猜你喜欢
列表攻击者路由器
巧用列表来推理
买千兆路由器看接口参数
科教新报(2022年24期)2022-07-08 02:54:21
基于微分博弈的追逃问题最优策略设计
自动化学报(2021年8期)2021-09-28 07:20:18
学习运用列表法
扩列吧
正面迎接批判
爱你(2018年16期)2018-06-21 03:28:44
你所不知道的WIFI路由器使用方法?
有限次重复博弈下的网络攻击行为研究
不含3-圈的1-平面图的列表边染色与列表全染色
无线路由器辐射可忽略