第9章 锐捷园区网安全功能的规划和部署
第9章 锐捷园区网安全功能的规划和部署
9.1、常见的网络安全漏洞
从网络模型来看,在各层的网络安全漏洞有:
z物理层――线路的安全、物理设备的安全、机房的安全;
z链路层――MAC地址欺骗/泛洪、ARP欺骗、STP攻击、DHCP攻击;
z网络层――IP地址扫描/欺骗/攻击;
z传输层――面向连接和非连接的攻击,也就是端口扫描;
z应用层――Web服务、电子邮件、FTP,病毒对系统的攻击;
由于物理层涉及的主要是设备、线路等硬件,故不列入本章的考虑范围。
9.2、基本安全部署
在园区网的实施和部署中,根据各自的不同情况和实际需要,可以有多种的安全部署方案。锐捷网络推荐采用的基本安全部署有以下几种:
z扩展ACL过滤;
z STP的BPDU报文过滤和防卫;
z三层设备的IP防扫描;
z防ARP欺骗;
9.2.1、扩展ACL过滤
由于很多的病毒是根据操作系统和软件的漏洞,通过特定TCP/UDP端口进行感染和传播的。比如冲击波、震荡波、SQL蠕虫等就是通过特定的TCP/UDP端口进行传播的。
针对这种情况,锐捷网络在S21系列以上的交换机和各款路由器上,通过扩展ACL对常用的病毒端口进行过滤。
由于锐捷网络交换机和路由器的ACL配置是有所区别的,下面分别进行说明。
9.2.1.1、交换机的ACL过滤
在锐捷网络交换机上创建ACL时, 可以用字符串也可以用数字来命名ACL,一般可采用字符串+数字的方式加以命名,以便于识别;至于是标准ACL还是扩展ACL,是通过字段来识别的,如标准ACL用standard识别,扩展ACL用extended识别。
下例的配置显示如何在交换机上创建一条扩展ACL,名字为anti-virus,并将这条ACL应用到fastEthernet 0/1端口的in方向:
Switch#configure terminal
Switch(config)#ip access-list extended anti-virus
Switch(config-ext-nacl)#deny tcp any any eq 135
Switch(config-ext-nacl)#deny tcp any any eq 136
Switch(config-ext-nacl)#deny tcp any any eq 137
Switch(config-ext-nacl)#deny tcp any any eq 138
Switch(config-ext-nacl)#deny tcp any any eq 139
Switch(config-ext-nacl)#deny tcp any any eq 445
Switch(config-ext-nacl)#deny tcp any any eq 593
Switch(config-ext-nacl)#deny tcp any any eq 4444
Switch(config-ext-nacl)#deny tcp any any eq 5554
Switch(config-ext-nacl)#deny tcp any any eq 9995
Switch(config-ext-nacl)#deny tcp any any eq 9996
Switch(config-ext-nacl)#deny udp any any eq 135
Switch(config-ext-nacl)#deny udp any any eq 136
Switch(config-ext-nacl)#deny udp any any eq 137
Switch(config-ext-nacl)#deny udp any any eq 138
Switch(config-ext-nacl)#deny udp any any eq 139
Switch(config-ext-nacl)#deny udp any any eq 445
Switch(config-ext-nacl)#deny udp any any eq 593
Switch(config-ext-nacl)#deny udp any any eq 1434
Switch(config-ext-nacl)#deny udp any any eq 4444
Switch(config-ext-nacl)#deny udp any any eq 5554
Switch(config-ext-nacl)#deny udp any any eq 9995
Switch(config-ext-nacl)#deny udp any any eq 9996
Switch(config-ext-nacl)#permit ip any any
Switch(config-ext-nacl)#exit
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#ip access-group anti-virus in
Switch(config-if)#^Z
Switch#
注意事项:
z任意一条扩展ACL的最后都默认隐含了一条deny ip any any 的ACE表项。如果您不想让该隐含ACE起作用,则您必须手工设置一条permit ip any any的ACE表项,以让不符合其它所有ACE匹配条件的报文通过;
z在有些应用中还会用到上述的一些端口,比如TCP/UDP的137、138,此时就要将这些端口从扩展ACL中去掉;
9.2.1.2、路由器的ACL过滤
路由器的标准ACL和扩展ACL是通过数字来区分的,1-99是标准ACL,100-199是扩展ACL。
下例的配置显示如何在路由器上创建一条扩展ACL,名字为100,并将这条ACL应用到fastEthernet 1/1端口的in和out方向:
NBR# configure terminal
NBR(config)#access-list 100 deny tcp any any eq 135
NBR(config)#access-list 100 deny tcp any any eq 136
NBR(config)#access-list 100 deny tcp any any eq 137
NBR(config)#access-list 100 deny tcp any any eq 138
NBR(config)#access-list 100 deny tcp any any eq 139 NBR(config)#access-list 100 deny tcp any any eq 445 NBR(config)#access-list 100 deny tcp any any eq 593 NBR(config)#access-list 100 deny tcp any any eq 4444 NBR(config)#access-list 100 deny tcp any any eq 5554 NBR(config)#access-list 100 deny tcp any any eq 9995 NBR(config)#access-list 100 deny tcp any any eq 9996 NBR(config)#access-list 100 deny udp any any eq 135 NBR(config)#access-list 100 deny udp any any eq 136 NBR(config)#access-list 100 deny udp any any eq 137 NBR(config)#access-list 100 deny udp any any eq 138 NBR(config)#access-list 100 deny udp any any eq 139 NBR(config)#access-list 100 deny udp any any eq 445 NBR(config)#access-list 100 deny udp any any eq 593 NBR(config)#access-list 100 deny udp any any eq 1434 NBR(config)#access-list 100 deny udp any any eq 4444 NBR(config)#access-list 100 deny udp any any eq 5554 NBR(config)#access-list 100 deny udp any any eq 9995 NBR(config)#access-list 100 deny udp any any eq 9996 NBR(config)#access-list 100 permit ip any any
NBR(config)#interface fastEthernet 1/1
NBR(config-if)#ip acc
NBR(config-if)#ip access-group 100 in
NBR(config-if)#ip access-group 100 out
NBR(config-if)#end
NBR#
9.2.2、STP的BPDU报文防卫和过滤
STP报文:
大家都知道生成树协议是用来避免链路环路产生的广播风暴、并提供链路冗余备份的协议。
在某些网络应用环境中,为了实现链路的备份,往往会采用生成树协议,此时网络中就会存在大量的BPDU报文;同时,接入层设备的端口随着用户电脑的开关机和网线的插拔,也会发送BPDU报文,影响生成树的拓扑结构发生变化。
当然也不排除有人恶意发送虚假的BPDU报文,以扰乱网络拓扑和链路架构,充当网络根节点,以获取信息。
生成树的攻击:
为了防范这两种情况的出现,可以在与生成树无关的端口上,也就是不参与生成树计算的端口上,启用BPDU Filter和Guard功能。
BPDU Filter和Guard既可以在全局模式下启用,也可以在单个接口下启用。
锐捷网络建议直接在单个端口下启用BPDU guard、BPDU filter,而不要在全局模式下启用这2个功能;同时,为了减少端口等待forwarding的过程,可以设置该端口为Port Fast。 注意:在配置BPDU Filter/Guard和Port Fast时,一定要开启STP协议,这样才会生效。 下例的配置显示如何在端口上开启BPDU guard、BPDU filter、portfast:
Switch#configure terminal
Switch(config)#spanning-tree
Switch(config)#interface range fastEthernet 0/1-24
Switch(config-if-range)#spanning-tree bpdufilter enabled
Switch(config-if-range)#spanning-tree bpduguard enabled
Switch(config-if-range)#spanning-tree portfast
Switch(config)#^Z
Switch#
9.2.3、三层设备的IP防扫描
众所周知,许多黑客攻击、网络病毒入侵都是从扫描网络内活动的主机开始的,大量的扫描报文也急剧占用了网络带宽,导致正常的网络通讯无法进行。而且,互联网上扫描的工
具多如牛毛。
为此,锐捷网络的三层交换机提供了防扫描的功能,用以防止黑客扫描和类似“冲击波病毒”的攻击,以减轻三层交换机的CPU负担。
目前发现的扫描攻击有两种:
z目的IP地址不断变化的扫描,锐捷网络称为“scan dest ip attack”。这种扫描攻击是最危害网络的,不但消耗网络带宽,增加交换机的负担,更是大部分黑客攻
击手段的起手工具。
z目的IP地址不存在的扫描,锐捷网络称为“same dest ip attack”。这种攻击主要是通过增加交换机CPU的负担来实现的。对三层交换机来说,如果目的IP地址
存在,则报文的转发会通过交换芯片直接转发,不会占用交换机CPU的资源;而如
果目的IP地址不存在,那么交换机CPU会定时去尝试连接,如果存在大量的这种
尝试连接,也会消耗CPU资源。当然,这种攻击的危害比第一种小得多了。
以上这两种攻击,锐捷网络锐捷网络的三层交换机都可以通过在接口上调整相应的攻击阀值、攻击主机隔离时间等参数,来减轻其对网络的影响。
另外,还可以根据网络中可监控的主机数,在全局模式下设置可监控攻击主机的最大值,以达到更好地保护系统的要求。
下例显示如何在三层交换机上配置IP防扫描的步骤:
z在全局配置模式下,设置监控攻击主机的最大数目为250,一般来说,这个数目可设为实际运行的主机数/20,其取值范围为1-500,缺省值为100;
z在接口fastEthernet 0/1上,配置对变化的目的IP进行扫描攻击的最大阀值为50个报文,其取值范围为1-1000,缺省值为10个;
z在接口fastEthernet 0/1上,配置对不存在的目的IP进行扫描攻击的最大阀值为个100报文,其取值范围为1-2000,缺省值为20个;
z在接口fastEthernet 0/1上,配置对非法攻击用户的隔离时间为300秒,其取值范围为30-3600秒,缺省值为120秒;
Switch#configure terminal
Switch(config)#system-guard detect-maxnum 250
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#system-guard scan-ip-attack-packets 50
Switch(config-if)#system-guard same-ip-attack-packets 100
Switch(config-if)#system-guard isolate-time 300
Switch(config-if)#^Z
Switch#show system-guard
detect maxnum number : 250
isolated host number : 0
inteface state isolate time same-attack-pkts scan-attack-pkts
--------- -------- ------------- ---------------- ------------------
Fa0/1 ENABLE 300 100 50
Fa0/2 DISABLE 120 20 10
……
Fa0/24 DISABLE 120 20 10
9.2.4、防ARP欺骗
ARP的工作模式:
局域网中同一网段两台PC通讯,一台PC B要和另一台PCA通讯,首先需要知道PC A 的MAC地址。
PC B先查找机器缓存中存贮的ARP表(IP和MAC对应关系表),该表为动态刷新的。如果没有必须先发出一个ARP请求的广播报文,询问大家:IP地址是PC A的MAC地址是多少?
局域网里的PC都会收到ARP请求报文,并查看自己的IP是否是PC A,如果是则响应,反馈ARP响应报文,响应报文中有PC A的MAC地址:MAC A。
ARP协议的缺陷:
按照RFC的规定,PC在发ARP响应时,不需要一定要先收到ARP请求报文,局域网中任何一台PC都可以向网络内其它PC通告:自己就是PC A和MAC A的对应关系,这就给攻击者带来可乘之机 !
由于ARP协议的缺陷,导致攻击者很容易发送虚假的ARP请求报文和响应报文,来扰乱局域网中被攻击主机的ARP表,从而使得网络中的合法主机无法正常上网或通讯中断。
针对这种ARP欺骗,锐捷网络锐捷网络在S21系列交换机推出了以下防范措施:
z使用Anti-ARP-Spoofing命令在端口上检测网关的IP地址,从而保证交换机下联端口的主机无法进行网关ARP欺骗;
强烈建议在所有接入交换机的下联端口配置防ARP欺骗!
下例显示的是如何在S21交换机的所有端口上配置防ARP欺骗,网关地址是192.168.0.1: Switch#configure terminal
Switch(config)#interface range fastEthernet 0/1-24
Switch(config-if-range)#Anti-ARP-Spoofing ip 192.168.10.1
Switch(config-if-range)#end
Switch#
9.3、按需安全部署
在某些网络环境中还会用到DHCP服务、组播等应用,这都给那些别有用心的人带来了新的机会,他们可以通过各种方式对网络进行攻击,以扰乱合法用户的正常上网和业务使用,还可能对网络设备进行攻击。下面分别介绍几种防范的方式:
z防DHCP攻击;
z端口安全;
z组播源端口检查;
z授权IP管理;
9.3.1、防DHCP攻击
DHCP攻击一般可以分为2种:
z恶意用户通过更换MAC地址的方式向DHCP Server发送大量的DHCP请求,以消耗DHCP Server可分配的IP地址为目的,使得合法用户的IP请求无法实现;
z伪装DHCP Server,为合法用户的IP请求分配不正确的IP地址、网关、DNS等错误信息,不仅影响合法用户的正常通讯,还导致合法用户的信息都发往非法DHCP Server,严重影响合法用户的信息安全。
针对这2种攻击,锐捷网络锐捷网络通过DHCP Relay来指定合法DHCP Server的IP地址,再利用扩展ACL对DHCP的请求报文和响应报文进行控制,在DHCP客户端只允许发送DHCP 请求报文,不允许发送DHCP响应报文,在DHCP服务端,只允许特定的服务器IP地址发送响应报文。
下例显示的是合法DHCP服务器地址为192.168.0.250,客户端联在交换机的0/1-0/23端口,DHCP服务器联在交换机的0/24端口,如何防范DHCP攻击的配置:
Switch#configure terminal
Switch(config)#service dhcp
Switch(config)#ip helper-address 192.168.0.250
Switch(config)#ip access-list extended dhcp-client
Switch(config-ext-nacl)#deny udp any eq 67 any eq 68
Switch(config-ext-nacl)#permit ip any any
Switch(config-ext-nacl)#exit
Switch(config)#ip access-list extended dhcp-server
Switch(config-ext-nacl)#permit udp host 192.168.0.250 eq 67 any eq 68
Switch(config-ext-nacl)#deny udp any eq 67 any eq 68
Switch(config-ext-nacl)#permit ip any any
Switch(config-ext-nacl)#exit
Switch(config)#interface range fastEthernet 0/1-23
Switch(config-if-range)#ip access-group dhcp-client in
Switch(config-if-range)#exit
Switch(config)#interface fastEthernet 0/24
Switch(config-if)#ip access-group dhcp-server in
Switch(config-if)#^Z
Switch#sh ip access-lists
Extended IP access list: dhcp-client
deny udp any eq bootps any eq bootpc
permit ip any any
Extended IP access list: dhcp-server
permit udp host 192.168.0.250 eq bootps any eq bootpc
deny udp any eq bootps any eq bootpc
permit ip any any
Switch#sh ip access-group
Interface inbound access-list outbound access-list
---------- -------------------------------- -------------------------------- Fa0/1 dhcp-client
……
Fa0/23 dhcp-client
Fa0/24 dhcp-server
Switch#
9.3.2、端口安全
MAC攻击:
所谓端口安全,是指你可以通过限制允许访问交换机上某个端口的MAC地址以及IP地址(可选)来实现对该端口输入的严格控制。当你为安全端口(打开了端口安全功能的端口)配置了一些安全地址后,则除了源地址为这些安全地址的报文外,这个端口将不转发其它任何报文。此外,你还可以限制一个端口上能包含的安全地址最大个数,如果你将最大个数设置为1,并且为该端口配置一个安全地址,则连接到这个端口的工作站(其地址为配置的安全地址)将独享该端口的全部带宽。
为了增强安全性,你可以将MAC地址和IP地址绑定起来作为安全地址。当然你也可以只指定MAC地址而不绑定IP地址,反之亦然。
端口安全:
这里重点要指出产生违例后的3种处理模式:
z protect:当安全地址个数满后,安全端口将丢弃未知名地址(不是该端口的安全地址中的任何一个)的包,这也是缺省配置;
z restrict:当违例产生时,将发送一个Trap通知;
z shutdown:当违例产生时,将关闭端口并发送一个Trap通知。
配置端口安全时有如下一些限制:
z一个安全端口不能是一个aggregate port;
z一个安全端口不能是SPAN的目的端口;
z一个安全端口只能是一个access port;
z端口安全和802.1x认证端口是互不兼容的,不能同时启用;
z安全地址是有优先级的,从低到高的顺序是:
单MAC地址;
单IP地址/MAC地址+IP地址(谁后设置谁生效);
z单个端口上的最大安全地址个数为128个;
z在同一个端口上不能同时应用绑定IP的安全地址和安全ACL,这两种功能是互斥的;
z支持绑定IP地址的数量是有限制的。详细的参数见下表:
序号 设备型号 支持绑定IP地址的最大值 备 注
1 S21系列 百兆端口20个,千兆端口110个;包括IP+MAC绑定/单IP的绑定
2 S3550系列 百兆端口20个,千兆端口110个;
3 S3750系列 百兆端口20个,千兆端口120个;
4 S3760系列 整机支持1000个;
端口安全的这种特性在应对其它的网络攻击时,也能发挥很大的作用。
z在端口上同时绑定IP和MAC地址,也可以防ARP欺骗;
z在端口上绑定MAC地址,并限定安全地址数为1,可以防恶意DHCP请求。
下例显示在S21交换机上作端口安全的操作步骤:
z在fastethernet 0/1口上,配置最大安全地址的个数为1,违例的处理模式是protect;
z在fastethernet 0/2口上,绑定MAC地址为00d0.f801.a2b3的主机,违例的处理模式为restrict;
z在fastethernet 0/3口上,绑定IP地址为192.168.100.23的主机,违例的处理模式为protect;
z在fastethernet 0/4口上,绑定MAC地址为00d0.f80b.1234、IP地址为192.168.0.10的主机,违例的处理模式为shutdown;
Switch#configure terminal
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security maximum 1
Switch(config-if)#switchport port-security violation protect
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security mac-address 00d0.f801.a2b3
Switch(config-if)#switchport port-security violation restrict
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security ip-address 192.168.100.23
Switch(config-if)#switchport port-security violation protect
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security mac-address 00d0.f80b.1234 ip-address
192.168.0.10
Switch(config-if)#switchport port-security violation shutdown Switch(config-if)#^Z
Switch#show port-security
Secure Port MaxSecureAddr(count) CurrentAddr(count) Security Action ------------ -------------------- ------------------ ----------------
Fa0/1 1 0 Protect
Fa0/2 128 1 Restrict
Fa0/3 128 1 Protect
Fa0/4 128 1 Shutdown
Switch#show port-security address
Vlan Mac Address IP Address Type Port Remaining Age(mins)
---- --------------- --------------- ---------- -------- -------------------
1 - 192.168.100.23 Configured Fa0/3 -
1 00d0.f801.a2b3 Configured Fa0/
2 -
1 00d0.f80b.1234 192.168.0.10 Configured Fa0/4 -
9.3.3、组播源端口检查
网络中的用户如果私自架设组播服务器的话,会对网络的正常通讯,网络带宽的利用及信息安全等造成极大的危害;因此,在上规模的网络中,都严格禁止用户私自架设组播服务器的。
针对这种私自架设组播服务器的情况,锐捷网络锐捷网络推出了在S21交换机上启用
IGMP组播源端口检查的功能,从而达到防范非法组播源、提高网络安全性的目的。
IGMP组播源端口检查是指严格限定IGMP组播流的进入端口。当IGMP组播源端口检查关闭时,从任何端口进入的视频流都被视为是合法的,交换机会把它们转发到已注册的成员端口。当IGMP组播源端口检查打开时,只有从指定的路由连接口进入的视频流才被视为是合法的,交换机把它们转发向已注册的成员端口;而其它从非指定的路由连接口进入的视频流被视为是非法的,将被交换机丢弃。
下例显示在S21交换机上配置IGMP Snooping为IVGL模式,路由连接口为fastethernet 0/24口,并打开组播源端口检查:
Switch#configure terminal
Switch(config)#ip igmp snooping ivgl
Switch(config)#ip igmp snooping vlan 1 mrouter interface fastEthernet 0/24 Switch(config)#ip igmp snooping source-check port
Switch(config)#^Z
Switch#sh ip igmp snooping
Igmp-snooping mode : ivgl SVGL vlan-id : 1
SVGL profile number : 0
Source check port : Enabled
Query max respone time : 10(Seconds)
Switch#sh ip igmp snooping mrouter
Vlan Interface State IGMP profile ---- --------- -------- -------------
1 Fa0/24 static 0
Switch#
9.3.4、授权IP管理
在目前实际的网络运行环境中,网络设备的管理可以说是最薄弱的一个环节!大家对网
络病毒、网络欺骗、扫描等攻击会比较重视,因为这些病毒或攻击的影响力比较容易显现出来。其实一旦攻击者成功登录到网络设备上(交换机、路由器、防火墙、IDS/IPS等)后,那么,此前在这些设备上所作的任何安全防范措施都将化为乌有,因此必须高度重视网络设备的安全管理!
为此,锐捷网络锐捷网络在交换机设备的安全管理上,推出了通过检查来访者的IP地址来进行更为细致的访问控制。锐捷网络可以为telnet或Web的访问方式配置一个或多个合法的访问IP地址,只有使用这些合法IP地址的用户才能使用telnet或Web方式访问交换机,使用其它的IP地址访问都将被交换机拒绝。
下例显示在交换机上配置以telnet或Web方式管理交换机的合法用户的IP地址: Switch#configure terminal
Switch(config)#services web host 192.168.0.100
Switch(config)#services web host 192.168.4.26
Switch(config)#services telnet host 192.168.0.100
Switch(config)#services telnet host 192.168.4.26
Switch(config)#^Z
Switch#show running-config
System software version : 1.66 Build Jun 29 2006 Release
Building configuration...
Current configuration : 190 bytes
!
version 1.0
!
hostname Switch
services web host 192.168.0.100 services web host 192.168.4.26 services telnet host 192.168.0.100 services telnet host 192.168.4.26 vlan 1
!
end
Switch#