提到安全攻击,往往想到的是来自局域网之外的攻击,这些攻击来自互联网,针对对象为企业内部网络设备,服务器等;而企业内部的局域网安全问题往往被忽略,常见的几种数据链路层安全攻击有
> MAC地址扩散
>ARP攻击与欺骗
>DHCP服务器欺骗与DHCP地址耗尽
>IP地址欺骗
1.端口安全
Cisco交换机提供一种基于MAC地址控制端口访问权限的安全性,端口安全能够基于MAC地址进行流量限制,可以设定端口允许接入的主机数量(即端口允许的处于活跃的MAC地址数),也可以手动在端口设置MAC地址,只有被绑定的MAC地址的流量才被转发。
端口安全实际是一种网络接入的验证,只有符合设置规则的才能接入局域网,避免未授权的客户端接入网络,使用端口安全可以实现如下功能:
>基于MAC地址限制,允许用户端流量
>避免MAC地址扩散攻击
>避免MAC地址欺骗攻击
2.交换机端口安全的配置
启动交换机端口安全特性
Switch(config-if)#switchport port-security
需要注意:启用端口安全的借口不能是动态协商模式,必须配置借口为接入或干道模式
配置允许访问网络的MAC地址
Switch(config-if)#switchportport-security maximum {Maximum addresses}
配置静态绑定的Mac地址,配置的静态绑定的MAC地址必须小于等于端口允许的最大MAC地址数
Switch(config-if)#switchportport-security mac-address {H.H.H}
3.配置老化时间(在默认情况下,交换机不删除借口获得的MAC地址,如果连街道同意端口的用户段经常发生变化,而就的MAC地址一致保留,这可能导致新连接到端口的客户无法正常通信,Weil解决这个问题,可以配置交换机接口老化时间,让交换机删除一段时间内没有流量的MAC地址)
Switch(config-if)#switchport port-security aging time {time}
交换机提供两种老化时间到期时自动删除动态获悉的Mac地址,
Switch(config-if)#switchport port-security aging type {absolute| inactivity}
启动absolute参数为老化时间到期后,删除所有MAC地址并重新学习,inactivity参数为与端口连接的客户端一段时间(老化时间)没有流量,就将其MAC地址从地址表中删除,需要注意,静态绑定的MAC地址可以正常访问网络,并且不受老化时间的影响;
当然Cisco交换机也提供删除静态绑定的MAC地址的功能,配置命令如下
Switch(config-if)#switchport port-security aging static
4.配置MAC地址违规后的策略
当出现如下情况时,就出现MAC地址违规
>最大安全数目的MAC地址表之外的一个新的MAC地址访问该端口
>一个配置在其他端口安全的Mac地址试图访问这个端口
当出现违规境况时,有三种处理方式,配置命令如下。
Switch(config-if)#switchport port-security violation {protect| restrict | shutdown}
protect 将违规的MAC地址的分组丢弃,但端口处于up状态,将还击不记录违规分组
restrict 将违规的MAC地址的分组丢弃,端口仍处于up状态,交换机记录违规分组
shutdown 端口成为err-disabled状态,相当于关闭端口
----当处于err-disabled状态的端口,默认情况下端口不会自动恢复,恢复端口状态的方法有两种:
~手动恢复:需要进入err-disabled状态的端口,线关闭端口shutdown,然后再开启端口no shutdown,端口恢复位正常状态
~自动恢复:设置err-disabled计时器,端口进入err-disabled状态开始计时,计时器超出后端口状态自动恢复
Switch(config-if)#errdisable recovery cause psecure-violation
Switch(config-if)#errdisable recovery interval {time}
5.配置端口安全的sticky(粘连)特性
当企业内网所有端口均要启用端口安全时,为每一个端口配置静态绑定的MAC地址的工作量是非常大的,这要使用端口的sticky特性,动态地将交换机端口学习到的mac地址转换为sticky mac地址,并将其加入到运行配置中,这样就自动形成了一个端口安全允许的静态mac地址表项,然后保存配置,交换机重启的时候不会重新学习
Switch(config-if)#switchport port-security mac-address sticky
查看端口安全状态
Switch#show port-security interface fastEthernet 0/1
查看处于err-disabled状态的端口的摘要信息
Switch#show interfaces status err-disabled
若要清除接口的MAC地址或全部端口缓存,可以使用以下命令
Switch#clear port-security dynamic {address mac-addr |interface type mod/num}
DHCP监听
DHCP监听(DHCP Snooping)是一种保护DHCP服务器的安全机制,它可以过滤来自网络中的主机或其他设备的非信任DHCP报文,以保证客户端能够从正确的DHCP服务器获得ip地址,DHCP监听可以避免DHCP服务器欺骗和DHCP地址耗尽,还可以限制苦护短发送DHCP请求的速率,从而减缓DHCP资源耗尽攻击,Cisco交换机支持在每个Vlan上启用DHCP监听
DHCP监听将交换机端口分成两种
非信任端口:链接终端的端口,该端口客户端只能发送DHCP请求报文,丢弃来自其他端口的DHCP请求报文
信任端口:链接合法的DHCP服务器或者汇聚端口。
DHCP监听会建立一个DHCP绑定表,一旦一个链接在非信任端口的客户端获得一个合法的ip地址(DHCP Ack),则交换机就会在dhcp绑定表中添加一个条目,主要包括客户端的ip地址,mac地址,端口号,vlan,绑定类型和租约等信息,dhcp绑定表示为进一步部署ip源防护和动态arp检测做的基础
启用DHCP监听
Switch(config)#ip dhcp snooping
设置DHCP监听作用于那个VLAN
Switch(config)#ip dhcp snooping vlan number
配置端口信任或非信任
启用DHCP监听后,默认所有端口为非信任端口
配置端口为信任端口
Switch(config)#ip dhcp snooping trust
DHCP报文中的“选项82”
在启用dhcp监听的交换机上,交换机可以为dhcp报文插入一些选项信息,
选项中主要包括:DHCP请求报文进入设备的端口、属于的Vlan、交换机的MAC等信息
DHCP服务器可以根据这些信息更加精确的为客户端分配IP地址、设置策略等
默认情况下,启用dhcp监听的交换机对所有非信任端口受到的dhcp清酒报文插入选项82信息
报文中插入选项82信息
Switch(config)#ip dhcp snooping information option
限制DHCP报文速率,减缓DHCP耗尽攻击
Switch(config-if)#ip dhcp snooping limitrate rate
启用核实MAC地址功能,避免DHCP耗尽攻击
启用核实MAC地址功能,检测非信任端口的请求报文中源MAC地址和DHCP请求报文中的客户端MAC地址是否相同
Switch(config)#ip dhcp snooping verify mac-address
当非信任端口的DHCP请求报文速率达于规定值时就会出现违规情况,端口处于err-disabled状态,默认情况下不会回复,可以手动恢复,也可以自动恢复
配置err-disabled状态的原因,然后配置计时器,命令如下
Switch(config)#errdisable recovery cause dhcp—rate-limit
Switch(config)#errdisable recovery interval {time}
DHCP监听状态查询
Show ip dhcp snooping //查看当前dhcp监听状态以及各端口情况
Show ip dhcp snoopingbinding //查看dhcp监听绑定表
Clear ip dhcp snooping binding //清楚dhcp监听绑定表
IP源防护
在局域网中,客户可以手动配置或更改ip地址冒充他人或由病毒或攻击软件制造虚假的数据包对网络造成威胁,
Ip源防护原理
是一种基于IP/MAC的端口流量过滤技术
确保客户端不能使用自行指定的IP地址,也不能使用其他客户正在使用的IP地址
以DHCP监听技术为基础
根据DHCP监听绑定表生产一个ip源绑定表,根据ip源绑定表,ip源防护自动在端口加载相应的策略对流量进行检测,符合则发送,不符合则丢弃
只支持二层接口,包括接入接口或干道接口
IP源防护两种过滤策略
源IP地址过滤
根据源IP地址对IP流量进行过滤
源IP和源MAC地址过滤(须启用选项82 )
根据源IP地址和源MAC地址对IP流量进行过滤
启用DHCP监听
Switch(config)#ip dhcp snooping vlan number
启用IP源防护 的源IP地址过滤
Switch(config-if)#ip verify source //Cisco 35系列交换机命令 或
Switch(config-if)#ip verify source vlan dhcp-snooping //Cisco 45/65系列交换机命令
源IP和源MAC地址过滤
首先需要启用端口安全(switchport port-security)
Switch(config-if)#ip verify source port-security //Cisco 35系列交换机命令 或
Switch(config-if)#ip verify source vlan dhcp-snoopingport-security //Cisco 45/65系列交换机命令
对于使用静态IP的主机,手动配置静态IP源绑定
Switch(config)# ip source binding mac-address vlan vlan-numberip-address interface interface-typeinterface-number
查看IP源绑定表
Switch#show ip source binding
查看IP源防护过滤器的状态
Switch#show ip verify source
动态ARP检测(Dynamic ARP inspection,DAI)
DAI是一种与DHCP监听和IP源防护相结合的安全特性,根据DHCP监听绑定表以及IP源防护中静态IP源绑定表的内容对ARP报文进行检测
当arp报文中的MAC地址及ip地址的绑定关系与dhcp监听绑定表或ip源防护配置的静态绑定表中的绑定条目不匹配,或者arp报文进入的端口,vlan等信息与绑定表中的条目不匹配时,则该arp报文时违规报文
可设定ARP报文速率(pps)超出规定值时,交换机会将端口置为err-disable状态
与dhcp监听类似,DAI也将交换机的端口分.0为信任端口与非信任端口,交换机之间互联的端口为信任端口,用户端口为非信任端口,交换机检测非信任端口的所有arp报文
在指定Vlan上启用DAI
Switch(config)#ip arp inspection vlan number
配置信任接口
Switch(config-if)#ip arp inspection trust
限制入站ARP报文的速率
Switch(config-if)#ip arp inspection limit rate packets-per-second
查看启用DAI的端口以及信任状态等信息
Switch#show ip arp inspection interfaces
查看启用DAI的Vlan相关信息
Switch#show ip arp inspection vlan-id
查看启用DAI的Vlan中数据包信息
Switch#show ip arp inspection statistics vlan-id
查看DAI整体情况
Switch#show ip arp inspection
由于启用DAI的交换机端口会将该端口接收到的所有arp数据包都交由cpu进行分析处理,所以当arp报文比较多的时候,将会大量消耗cpu资源,那么交换机认为受到攻击,将该端口置位err-disabled状态造成通信终端,此时
Switch(config)#errdisable recovery cause arp-inspection
Switch(config)#errdisable recovery interval {time}
数据链路层网络安全防护