【实验目的】
通过本实验理解MAC地址泛洪攻击的基本原理,加深对交换机工作原理的理解,掌握应对MAC攻击的基本方法。
【实验任务】
1、按照参考拓扑图构建逻辑拓扑图;
2、通过实验理解MAC地址泛洪攻击的工作原理;
3、通过交换机MAC地址绑定实现对MAC地址泛洪攻击的防御。
【实验背景】
计算机网络的组建,交换机是必不可少的一个设备,我们都会用它来做一些相应的配置,如划分VLAN、VTP、以及生成树这些,但是当我们配置了这些以后呢?我们如何来保证我们局域网内的端口安全呢?这是一个必要的操作。
首先我们来看一下交换机到需要要应对哪些方面的安全隐患: 1).VLAN attacks 2).Spoofing attacks
3).Attacks on switch devices 4).MAC Layer attacks
MAC Layer attacks主要就是MAC地址地址的泛洪攻击。大家都知道交换机需要对MAC地址进行不断的学习,并且对学习到的MAC地址进行存储。MAC地址表有一个老化时间,默认为5分钟,如果交换机在5分钟之内都没有再收到一个MAC地址表条目的数据帧,交换机将从MAC地址表中清除这个MAC地址条目;如果收到,则刷新MAC地址老化时间。因此在正常情况下,MAC地址表的容量是足够使用的。
但如果攻击者通过程序伪造大量包含随机源MAC地址的数据帧发往交换机(有些攻击程序一分钟可以发出十几万分伪造MAC地址的数据帧),交换机根据数据帧中的MAC地址进行学习,一般交换机的MAC地址表的容量也就几千条,交换机的MAC地址表瞬间被伪造的MAC地址填满。交换机的MAC地址表填满后,交换机再收到数据,不管是单播、广播还是组播,交换机都不在学习MAC地址,如果交换机在MAC地址表中找不到目的MAC地址对应的端口,交换机将像集线器一样,向所有的端口广播数据。这样就达到了攻击者瘫痪交换机的目的,攻击者就可以轻而易举的获取全网的数据包,这就是MAC地址的泛洪攻击,而我们的应对方法就是限定映射的MAC地址数量。
【实验背景】
Catalyst Switch 2950-24 1台 PC PC—PT 4台
【实验拓扑图和配置参数表】
表10.1 配置参数表
主机名 PC0 PC1 PC2 PC3 IP地址 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 缺省网关 192.168.1.1 192.168.1.1 192.168.1.1 192.168.1.1 所属网段 192.168.1.0 192.168.1.0 192.168.1.0 192.168.1.0 子网掩码 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0
图10.1 参考拓扑图
【实验步骤】
步骤1 按照给出的参考拓扑图和配置参数表,构建实验拓扑图,完成对PC机的配置,并且测试下网络的连通性。
步骤2 .1 在交换机Fa0/1端口上配置MAC地址绑定: Switch>enable
Switch#configure term
Switch(config)#interface fastethernet0/1
Switch(config-if)#switchport mode access //当连接是主机时,接入链路 Switch(config-if)#switchport port-security //启动端口安全
Switch(config-if)#switchport port-security mac-address 00E0.F7C5.4670 //绑定MAC地址(此处MAC地址为PC0的MAC地址),默认只能绑定一个 Switch(config-if)#switchport port-security violation ?
protect Security violation protect mode //不转发数据
restrict Security violation restrict mode //不转发数据,上报网管平台 shutdown Security violation shutdown mode //关闭接口,并上报网管平台 Switch(config-if)#switchport port-security violation shutdown 下面我们进行下测试,看看能否正常使用。
图10.2 PC0连通性测试
我们测试完之后查看下MAC地址表 Switch#show mac-address-table Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 0001.426d.74cd DYNAMIC Fa0/2 //这一条动态学习到的
1 0001.63bc.d28a DYNAMIC Fa0/3 //这条也是动态学习到的 1 00e0.f7c5.4670 STATIC Fa0/1 //从这可以看出这MAC地址是静态指定的
从这里我们可以看出,PC0能够正常使用。如果我们用PC3代替PC0接到Fa0/1端口上看看有什么效果。
图10.3 发送数据包之前的拓扑图
从上图我们可以看出,PC3接在Fa0/1接口上面,当PC3没有向其他网段发送数据包的时候一切正常,如果发送了数据包会有什么样的反应? 接下来我们进行测试一下
图10.4 PC3连通性测试
图10.5 发送数据包之后的拓扑图
由此可以看出,当交换机的Fa0/1接口接PC0的时候,能够正常使用,但当PC3接入
到交换机的Fa0/1接口之后,PC3向PC2发送数据包的时候,交换机发现PC3的MAC地址不是所指定的MAC地址,所以就执行将此端口shutdown,从上图可以看到PC3 连接的Fa0/1接口已经被shutdown。如何对已经shutdown的端口进行恢复呢在实际应对的时候交换机都可以有缺省恢复时间,但在仿真环境下没有这项功能。
步骤2.2 更换一台交换机然后输入对交换机再进行如下配置: Switch>enable
Switch#configure terminal
Switch(config)#interface fastethernet0/1
Switch(config-if)#switchport mode access //当连接是主机时,接入链路 Switch(config-if)#switchport port-security //启动端口安全
Switch(config-if)#switchport port-security mac-address 00E0.F7C5.4670 Switch(config-if)#switchport port-security violation restrict
再次进行测试的时候交换机的Fa0/1端口就不会出现shutdown的情况了。
图10.6 发送数据包之后的拓扑图
但是在实际中不可能一个端口只绑定一个MAC地址。如果要绑定100条MAC地址,不管是MAC地址的收集还是绑定都是一件非常繁琐的事,所以一种让交换机自动获得接入设备的MAC地址并进行绑定的方法是十分必要的。接下对Fa0/1和Fa0/2接口来我们进行相应的设置:
Switch(config)#interface fastethernet 0/1
Switch(config-if)#switch port-security maximum 3 //设定绑定多个MAC地址
Switch(config-if)#switchport port-security mac-address sticky Switch(config-if)#exit
Switch(config)#interface fastethernet 0/2
Switch(config-if)#switch port-security maximum 3
Switch(config-if)#switch port-security mac-address sticky Switch(config-if)#end
接下来我们测试下PC3到PC1的链路通还是不通,
可以看出通信链路已经可以进行通信了。然后查看下MAC地址表:
Switch#show mac-address-table Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 0001.426d.74cd DYNAMIC Fa0/2 1 0001.63bc.d28a DYNAMIC Fa0/3 1 0090.2bca.63de STATIC Fa0/1 1 00e0.f7c5.4670 STATIC Fa0/1
可以看出交换机的Fa0/1接口自动获取了PC3的MAC地址作为绑定的静态MAC地址,这样PC3才能够通过Fa0/1端口发送数据包。可以看出这样的策略才使得交换机能够在应对MAC地址泛洪攻击的同时不影响正常的通信设备的更换。
【实验思考】
1、在我们进行包测试的时候经常出现的STP类型的数据包属于哪个协议,其应对
的是什么样的问题,在计算机网络中发挥什么样的作用? 2、交换机面临的安全威胁还有哪些?
3、路由器会面临哪些网络安全威胁,有什么样应对策略?
因篇幅问题不能全部显示,请点此查看更多更全内容