摘要:外部网络威胁尽管形势严峻,但来自内部网络本身的威胁有时却更难防范。该文探讨如何发掘内部网络设备(主要为二三层交换机)的功能,防范来自内部网络的威胁。这些威胁主要为非法DHCP服务器、ARP欺骗、用户私设IP地址、用户私接交换机、用户连接失误造成的网络环路等。从网络设备层面杜绝这些威胁,会使内部网络本身更加“安静”,从而也更安全稳定流畅。
关键词:网络设备安全;交换机;DHCP-SNOOPING;ARP-DETECTION;IP;MSTP
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)17-4004-05
计算机网络对来自外部(internet)网络威胁的防范工作,主要由路由防火墙来完成。不可否认,防范外部网络的威胁非常重要。如何配置路由防火墙(及入侵检测系统等)来防范这些威胁,也已经形成很多固定的模式,介绍探讨这方面的文章书籍也不在少数。
不过来自内部网络的威胁同样不可小视,俗话说,堡垒最容易从内部攻破。内部网络的威胁主要包括非法DHCP服务器、ARP欺骗、用户私设IP地址、用户私接交换机、用户连接失误造成的网络环路等。有些是用户无意识的行为(例如ARP攻击,用户主机可能中了ARP病毒),但有些却有可能是有意为之(例如私设DHCP服务器,造成其他用户获取到错误的IP地址)。
这些威胁都能造成内部网络的不稳定,使用户的网络使用体验变差。对于这些威胁的防范,路由防火墙通常无能为力。但是,有一点,因为这些威胁是通过内部网络设备(主要为交换机)在用户主机之间形成干扰的,所以如果网络设备支持对这些威胁的防范(具有相应的功能),我们就能在用户级别掐灭这些干扰因素。该文主要是基于此交换机层面,来对如何防范这些威胁作一些探讨。
我校校园网初期的网络设备主要来自北电(Nortel),因为是其较早时期的设备(2004年左右),所以基本上不具备对此类威胁的防范(尽管也可网管,但不具备这些功能)。不过,于2011年1月份期间,我校将所有的网络设备都进行了更换,品牌主要为H3C。当时厂商的技术人员仅仅是将校园网络调通,设备的很多安全功能并没有启用。我在仔细阅读了相关的技术文档之后,发现这些设备均可对上述威胁做到有效防范,于是逐渐启用了这些功能。该文也是对此过程中的一些心得体会,做一个归纳总结。
本校校园网络大致拓扑图如图1所示。
因为这些功能的启用主要是在交换机上进行,所以本文以核心交换机至1号楼主教学楼之间的交换机为例描述即可,如图2 所示,图中以主教学楼中的5台交换机作为代表,其中s-build-1为汇聚层,另外4台为接入层,其余尚有十几台未在图中显示的也属于接入层。其他楼层交换机相关的配置大致相同。
图1 本校校园网络大致拓扑图
1 防范非法DHCP服务器
用户如果私设DHCP服务器(不管是因为学习DHCP而无意的造成,还是有意的搞破坏),将会对其端口所属VLAN段中所有用户主机形成干扰。我校在更换网络设备以前,常有这样的情况发生。
通过逐一查找交换机中的mac-address表,或许可以将其“抓住”,但这样太麻烦,严重增加管理工作量,而且是一种事后被动的防范措施。而启用交换机的dhcp-snooping功能,可以轻松地实现对非法DHCP服务器的主动防范。
1.1 Dhcp-snooping简要原理分析
Dhcp-snooping的原理比较简单。客户端在与DHCP服务器获取IP地址的过程中,总共有4个阶段。如果有非法DHCP服务器存在,客户端就可能接收到非法DHCP服务器的“DHCP-Offer”及“DHCP-ACK”消息,从而获取到错误的IP地址。配置交换机的dhcp-snooping功能时,一般是将接入层和汇聚层交换机的上行端口设置为trust端口,其余端口默认为非trust,这样非法DHCP服务器的“DHCP-Offer”及“DHCP-ACK”消息将被隔离,不会被客户端接收到,从而起到了防范非法DHCP服务器的作用。
1.2 配置交换机的dhcp-snooping功能
对应到本校图2 中所示交换机的dhcp-snooping配置如下:
1) 在系统视图模式下,启用主教学楼中所有接入层交换机的dhcp-snooping功能:
system-view //进入系统视图
dhcp-snooping //开启dhcp-snooping功能
2) 将这些交换机的上行端口设置为trust端口,以s-teac-2交换机为例,配置如下 :
interface GigabitEthernet1/1/1
dhcp-snooping trust //设置该端口为可信端口
启用dhcp-snooping功能是本文后续其他防范措施的前提和基础,这也是首先描述该功能的原因。
2 防范ARP欺骗
曾经一段时期,防范ARP欺骗是一件令网络管理员非常头疼的事情。一台中了ARP病毒的主机,常常会搅得整个网段中的主机不得安宁。典型表现是用户感觉上网缓慢,且时断时续。
2.1 防范ARP欺骗的原理分析
开启ARP入侵检测功能后,如果ARP报文中的源MAC 地址、源IP 地址、接收ARP 报文的端口编号以及端口所在VLAN与DHCP Snooping表或手工配置的IP静态绑定表表项一致,则认为该报文是合法的ARP报文,进行转发,否则认为是非法ARP报文,直接丢弃。
2.2 实施ARP欺骗防范的过程步骤
1) 开启交换机ARP入侵检测功能
开启交换机ARP入侵检测功能的步骤如下(以图2中s-tea-2交换机为例,其余接入层交换机配置与之相似,汇聚层交换机s-build-1不作此配置):
· 开启dhcp-snooping功能(这是前提)
· vlan 11 //进入到VLAN视图模式中
· arp detection enable
注:对属于该VLAN的所有端口启用ARP入侵检测。如果交换机中还有有他vlan,则重复上述命令即可。
· interface g 1/1/1
· arp detection trust
注:将上行接口设置为arp可信任端口,不对进入此接口的arp报文进行arp检测。
因为交换机要将ARP报文(不论是request还是reponse类型的)与dhcp-snooping表比较,所以这也意味着客户端主机需要设置为自动获取IP地址,否则不会在dhcp-snooping表中形成自己的记录,自身将无法正常通信。这从另一个方面也可以起到防止用户私设IP地址的功效。如果某端口下所接主机必需设置为静态IP地址(如电子显示屏、网络打印机等),只需将该端口设置为“arp detection trust”即可。
2) 保护网关
ARP欺骗的各种行为中,最喜欢的莫过于欺骗网关了。这样同网段中被欺骗主机的流量都会统统流向自己,以方便盗取其他主机的隐私,这也正是其他主机感觉上网缓慢并时断时续的原因所在。
开启交换机ARP网关防护功能的步骤如下(以图2中s-tea-2交换机为例,其余同):
· interface g 1/1/1 //进入接口视图模式(上行接口)
· arp filter binding 192.168.12.1 3ce5-a680-a342
· arp filter binding 192.168.28.1 3ce5-a680-a342
· arp filter binding 192.168.32.1 3ce5-a680-a342
注:上述命令表明,凡进入该接口的ARP报文,其源IP地址及源MAC地址不符合上述绑定的,均将被丢弃。经过实验证实,一个接口可以同时绑定最多8条。注意H3C核心交换机为其所有VLAN虚接口IP地址(即为各网段主机的网关)提供的对应MAC地址都是一样的(此处为3ce5-a680-a342),也许它认为这样足够了,反正又不是属于同一个网段。
· interface e 1/0/1 //进入接口视图模式(各下行接口)
· arp filter source 192.168.12.1
注:上述命令表明,进入接口e1/0/1的ARP报文,如果其源IP地址为192.168.12.1,则被认为是欺骗网关ARP报文,并被丢弃,因为该接口下不可能出现源IP地址为192.168.12.1的ARP报文。对各接口均运行上述命令,注意命令中IP地址要与该接口所属的VLAN的虚接口IP地址相一致。
3) ARP报文限速
如果攻击者恶意构造大量ARP报文发往交换机的某一端口,会导致CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪(类似DDOS)。此时可以启用交换机的端口ARP 报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对CPU 的冲击。其配置步骤如下(以图2中s-tea-2交换机为例,其余同):
· interface e 1/0/1 //进入接口视图模式(各下行接口)
· arp rate-limit enable //启用arp限速
· arp rate-limit 15 //接口每秒接收的arp报文若超过15个,则丢弃后续的
注:如果是汇聚层交换机的下行接口,可适当调高rate-limit的值(例如150,默认值为15)。对各下行接口均运行上述命令
· system-view //退回至系统视图模式
· arp protective-down recover enable
· arp protective-down recover interval 300
注:上述命令表明,如果接口接收到的arp报文的速率超过rate-limit指定的值,该接口将自动关闭,并在300秒后自动开启。
当开启此功能后,校园网内确实有少数用户受到影响,这些用户的感觉是,电脑会莫名其妙地断网一段时间(其实大约就是5分钟了),然后又能连接上,然后又断开,如此反复。经检查其系统确实有问题,经过杀毒等措施处理后,就正常了。说明交换机此功能确实有效,并没有“冤枉”用户。
4) 防御ARP洪泛攻击
此防范主要在三层核心交换机的vlan-interface上实施。
通过配置允许学习动态ARP 表项的最大个数。当该VLAN 接口动态学习到的ARP表项超过限定的最大值后,将不进行动态地址表项的学习,从而防止某一VLAN 内的恶意用户发动ARP 泛洪攻击造成的危害。
开启交换机防御ARP洪泛攻击功能的步骤如下(此配置只在图2的核心交换机上进行):
· interface Vlan-interface11 //进入到vlan-interface接口模式
· arp max-learning-num 256 //配置最大ARP学习表项为256
注:如果与VLAN相应的IP段为C类(或更小),则学习表项最大值取256就足够了。在核心交换机中对所有的vlan-interface运行上述命令。endprint
5) 开启ARP报文源MAC一致性检查
这是防范ARP欺骗报文的另一种有效措施。在以太网中(绝大部分的局域网),ARP报文毕竟是要封装在以太网帧(ethernet-frame)中传递的。正常ARP报文的源MAC地址应该与其外包裹的ethernet-frame中的源MAC地址相同,否则就是ARP欺骗报文。这就是ARP报文源MAC一致性检查的原理。
其配置过程如下(以图2中s-tea-2交换机为例,其余同):
· System-view //进入系统视图模式
· arp anti-attack valid-check enable //开启ARP报文源MAC一致性检查
对于防范ARP欺骗,还有一种情况值得考虑,即接入层交换机属于非网管型交换机(或不支持上述功能),那么上述防范ARP欺骗的措施都无法施行了。
机房是这样的一个典型例子。机房中的交换机大部分是简易不具备网管功能的。事实上机房是被ARP欺骗骚扰最多的区域。
我对此的应对措施是:多划分VLAN。尽量每个机房分别对应一个VLAN(当然要在核心交换机上配置相应虚接口的IP地址)。这样的话,即便出现ARP欺骗,也顶多影响到一个机房,其他机房不受影响,毕竟ARP伪造报文是按OSI第二层原理运行的。缩小了范围,寻找ARP欺骗的源主机也不再是难事。
3 防止用户私设IP地址
用户私设静态IP地址的后果可能是:(1)造成IP地址冲突;(2)破坏IP地址的分配原则;(3)IP地址设置错误,用户上不了网。
3.1 原理简要分析
配置交换机,使其对进入其接口的任何数据包,都要与dhcp-snooping表相对比,若不符则丢弃。用户主机若不设置自动获取IP,则不会在dhcp-snooping表中形成自身的IP地址表记录,因而数据报文肯定被丢弃!
3.2 配置步骤
只在接入层交换机中实施,以图2中s-tea-2交换机为例,其余同:
· 开启dhcp-snooping功能(这是前提)
· interface Ethernet1/0/1 //进入接口模式
· ip check source ip-address mac-address //启用源IP及MAC地址检查
注:在所有需要启用的接口上运行上述命令。若接口下所接主机需要静态IP地址,则不要启用。
4 防止用户误操作形成环路
在图2中,主机pc-tea-1与主机pc-tea-5有可能在一个办公室,而且其主人可能就隔了一张办公桌。如果一条网线就在这办公桌下,一端在pc-tea-1主人的办公桌处,另一端刚好在pc-tea-5主人的办公桌处,两位主人都以为那个网线头是自己主机的,于是都插入到自己办公桌的网线模块座中。过了一会,所有老师的办公电脑都断网了!用户很正常的一个不经意的动作,就可导致网络瘫痪,这是让人无法接受的。
这是本人所经历并解决的一次网络事故。那时我认识到,网络设备即便没有设计为环状(以提供冗余),仅仅只是单一的树状分枝,也是有必要启用STP的(这可能就是思科交换机默认已启用了STP的原因吧)。H3C交换机默认并没有启用STP!
4.1 实施步骤
将图2主教学楼中所有的交换机启用MSTP,并配置为一个MSTP区域(zone),每个VLAN分别对应一个instance。配置如下:
· system-view
· stp enable
· stp region-configuration //进入region-configuration模式
· region-name building-1
· revision-level 0
· instance 1 vlan 11
· instance 2 vlan 28
· instance 3 vlan 32
· active region-configuration
在图2所示主教学楼中所有的交换机上运行上述相同命令。
然后在s-build-1中运行下述命令(system-view模式下),将其指定为该区域内所有instance的主根。
· stp instance 0 root primary
· stp instance 1 root primary
· stp instance 2 root primary
· stp instance 3 root primary
如果你不想麻烦,在所有交换机上只运行一句“stp enable”也是可以的。
5 防止用户私接交换机
实现此目的比较容易,启用交换机的port-security可达到目的。配置如下(只需在接入层交换机中实施,以图2中s-tea-2交换机为例,其余同):
· system-view
· port-security enable //启用port security
· port-security timer disableport 300 //若有违反,临时禁用端口300秒
在所有要防止用户私接交换机的端口上运行下述命令。
· interface e 1/0/1
· port-security max-mac-count 1 //只允许一台主机接入
· port-security port-mode autolearnendprint
· port-security intrusion-mode disableport-temporarily
6 网络设备本身的安全
校园网中,任何一台主机运行“telnet 自己主机网关”,都能得到响应。这个响应当然是来自核心交换机。H3C交换机默认情况下响应任何对自己的telnet请求。用户尽管不知道用户名和密码,但让恶意用户这样无休止的尝试是不能让人接受的。
可以使用访问控制列表来防范这种威胁,配置如下(以图2的核心交换机配置为例,其余同):
首先创建合适的ACL,只响应来自合法IP地址telnet,如下所示。
· acl number 2000 name limit-telnet-access
· step 10
· rule 0 permit source 192.168.100.0 0.0.0.255
· rule 10 permit source 192.168.12.181 0
· rule 20 deny
然后在vty接口上实施该规则,如下所示。
· user-interface vty 0 15
· acl 2000 inbound
· authentication-mode scheme
· idle-timeout 30 0
7 结束语
自从在校园网内部网络的交换机层面实施本文前述的各种规则之后,效果确实是不错。合理发掘网络设备本身的功能,充分发挥其最大效能,将使你的网络更加稳健流畅。
以上所述是本人在管理校园内部网络时的心得体会,希望能够得到同行的指教或对同行有所帮助。
参考文献:
[1] 华三通信技术有限公司.S7500E系列以太网交换机操作手册-Release 6600系列(V1.00)[M].华三通信技术有限公司,2009,5.
[2] 华三通信技术有限公司. E126/E126A以太网交换机操作手册[M].华三通信技术有限公司,2010,4.
[3] cisco. CCNP BSCI Student Guide Version 3.0 Vol.1(2006)[M].cisco,2006,6.
[4] Charles M.Kozierok. TCP/IP指南(卷I):底层核心协议[M].北京:人民邮电出版社,2008,5.
[5] Douglas E.Comer.用TCP/IP进行网际互联第I卷-原理、协议与结构[M].5版.北京:电子工业出版社,2008,11.endprint
· port-security intrusion-mode disableport-temporarily
6 网络设备本身的安全
校园网中,任何一台主机运行“telnet 自己主机网关”,都能得到响应。这个响应当然是来自核心交换机。H3C交换机默认情况下响应任何对自己的telnet请求。用户尽管不知道用户名和密码,但让恶意用户这样无休止的尝试是不能让人接受的。
可以使用访问控制列表来防范这种威胁,配置如下(以图2的核心交换机配置为例,其余同):
首先创建合适的ACL,只响应来自合法IP地址telnet,如下所示。
· acl number 2000 name limit-telnet-access
· step 10
· rule 0 permit source 192.168.100.0 0.0.0.255
· rule 10 permit source 192.168.12.181 0
· rule 20 deny
然后在vty接口上实施该规则,如下所示。
· user-interface vty 0 15
· acl 2000 inbound
· authentication-mode scheme
· idle-timeout 30 0
7 结束语
自从在校园网内部网络的交换机层面实施本文前述的各种规则之后,效果确实是不错。合理发掘网络设备本身的功能,充分发挥其最大效能,将使你的网络更加稳健流畅。
以上所述是本人在管理校园内部网络时的心得体会,希望能够得到同行的指教或对同行有所帮助。
参考文献:
[1] 华三通信技术有限公司.S7500E系列以太网交换机操作手册-Release 6600系列(V1.00)[M].华三通信技术有限公司,2009,5.
[2] 华三通信技术有限公司. E126/E126A以太网交换机操作手册[M].华三通信技术有限公司,2010,4.
[3] cisco. CCNP BSCI Student Guide Version 3.0 Vol.1(2006)[M].cisco,2006,6.
[4] Charles M.Kozierok. TCP/IP指南(卷I):底层核心协议[M].北京:人民邮电出版社,2008,5.
[5] Douglas E.Comer.用TCP/IP进行网际互联第I卷-原理、协议与结构[M].5版.北京:电子工业出版社,2008,11.endprint
· port-security intrusion-mode disableport-temporarily
6 网络设备本身的安全
校园网中,任何一台主机运行“telnet 自己主机网关”,都能得到响应。这个响应当然是来自核心交换机。H3C交换机默认情况下响应任何对自己的telnet请求。用户尽管不知道用户名和密码,但让恶意用户这样无休止的尝试是不能让人接受的。
可以使用访问控制列表来防范这种威胁,配置如下(以图2的核心交换机配置为例,其余同):
首先创建合适的ACL,只响应来自合法IP地址telnet,如下所示。
· acl number 2000 name limit-telnet-access
· step 10
· rule 0 permit source 192.168.100.0 0.0.0.255
· rule 10 permit source 192.168.12.181 0
· rule 20 deny
然后在vty接口上实施该规则,如下所示。
· user-interface vty 0 15
· acl 2000 inbound
· authentication-mode scheme
· idle-timeout 30 0
7 结束语
自从在校园网内部网络的交换机层面实施本文前述的各种规则之后,效果确实是不错。合理发掘网络设备本身的功能,充分发挥其最大效能,将使你的网络更加稳健流畅。
以上所述是本人在管理校园内部网络时的心得体会,希望能够得到同行的指教或对同行有所帮助。
参考文献:
[1] 华三通信技术有限公司.S7500E系列以太网交换机操作手册-Release 6600系列(V1.00)[M].华三通信技术有限公司,2009,5.
[2] 华三通信技术有限公司. E126/E126A以太网交换机操作手册[M].华三通信技术有限公司,2010,4.
[3] cisco. CCNP BSCI Student Guide Version 3.0 Vol.1(2006)[M].cisco,2006,6.
[4] Charles M.Kozierok. TCP/IP指南(卷I):底层核心协议[M].北京:人民邮电出版社,2008,5.
[5] Douglas E.Comer.用TCP/IP进行网际互联第I卷-原理、协议与结构[M].5版.北京:电子工业出版社,2008,11.endprint