交换安全

本文深入探讨了交换机面临的安全威胁,包括MAC地址漂移、DHCP仿冒攻击、ARP欺骗及IP地址欺骗,提出了多种解决方案,如端口安全、DHCP Snooping、DAI和IP Source Guard,以增强网络安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.交换机是我们在二层传输的主要设备,而交换机的转发依赖于CAM表,CAM表中总是会记录最新的MAC地址。那麽就带来了交换安全中的第一个问题MAC被修改的问题
在这里插入图片描述
如图所示,C将自己的MAC地址发送给交换机,交换机的CAM表中会记录C这个MAC对应的是接口3,而如果黑客B在声称MAC地址C是他,并发C的MAC地址给交换机,那麽交换机又会将MAC地址C对应的接口记录为接口2。这就导致A发给C的数据来到交换机上,交换机会根据自己的CAM表转发给黑客B的设备。如果黑客B在将MAC地址A发送给交换机,交换机又会将MAC地址C对应的接口记录为接口2,那麽C发给A的数据也会被交换机转发到黑客B上。由此我们可以发现,交换机这个设备其实是一个比较傻的设备,如果黑客B一直告诉他新的MAC地址那麽他就会一直记录下去,直至CAM记录满了,那麽正常的单播帧数据来到交换机上交换上,因为交换机的CAM表中无此记录,所以交换机当他为未知单播帧处理洪泛他,那麽黑客B也能收到该数据。
我们把MAC地址自动修改的现象叫做MAC地址漂移,MAC地址被修改带来的安全问题有:中间人攻击(攻击的目标是交换机)、广播风暴(二层出现环路了,环路对于二层来讲是致命的)。
解决方案:
1)在交换机上静态的安全MAC地址(将MAC地址和端口进行静态绑定)

sw1(config)#mac-address-table static 00d0.d3bd.d001 vlan 1 int f0/1

同时开启对接口惩罚措施:

sw1(config)#int f0/1
sw1(config-if)#shutdown
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 1
sw1(config-if)#switchport port-security        
sw1(config-if)#switchport port-security maximum 1               //设置接口的最大接收数                                            
sw1(config-if)#switchport port-security violation shutdown         //设置惩罚措施                                                
sw1(config-if)#switchport port-security mac-address 00d0.bab2.2611                                                             
sw1(config-if)#no shutdown

惩罚措施:
1>protect—当新计算机接入时,如果该端口的MAC条目超过最大数量,则这个新的计算机将无法接入,而原有的计算机不受影响,交换机也不发送警告信息;
2>restrict–当新计算机接入时,如果该端口的MAC条目超过最大数量,则这个新的计算机无法接入,并且交换机将发送警告信息;
3>shutdown–当新计算机接入时,如果该端口的MAC条目超过最大数量,则该端口将会被关闭,则这个新的计算机和原有的计算机都无法接入网络,这时需要接入原有的计算机并在交换机中的该端口下使用。

静态绑定MAC地址的缺点: 静态安全MAC地址可以使得交换机的接口(f0/1)只能接入某一固定的计算机,然而需要使用“switchport port-security mac-address 00d0.bab2.2611”命令,这样就需要一一查出计算机的MAC地址来在交换机上进行绑定,这是一个巨大的工作量,极其的不方便。
解决方案:
2)粘滞安全MAC地址(让交换机自动记录该接口接收到的第一个MAC地址,并进行绑定)

sw1(config)#default int f0/1
sw1(config)#int f0/1
sw1(config-if)#shutdown
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 1
sw1(config-if)#switchport port-security
sw1(config-if)#switchport port-security maximum 1
sw1(config-if)#switchport port-security violation shutdown
sw1(config-if)#switchport port-security mac-address sticky   //配置交换机接口自动粘滞MAC地址功能
sw1(config-if)#no shutdown

一般被惩罚的接口通过show interface XX 可以查看到该接口的状态呈现errdisable;

sw1(config)#errdisable recovery cause psecure-violation      //允许交换机自动恢复因端口安全而关闭的端口
sw1(config)#errdisable recovery interval 60       //配置交换机60s后自动恢复端口

3)端口阻塞:
如果在交换机的CAM表中没有发现目标条目,则交换机将向相同VLAN(同一广播域)中的所有端口广播(范洪)未知单播或组播流量。给受保护端口转发未知单播或组播流量,这将可能出现安全问题。使用端口阻塞特性可以阻塞正在转发未知单播或多播流量的接口。

SW1(config)#int f0/0
SW1(config-if)#switchport block multicast         //阻塞组播流量
SW1(config-if)#switchport block unicast           //阻塞未知单播流量

4)风暴控制:
在接口上开启风暴控制,设置风暴的阀值,如果接口的风暴流量超过阀值则实施惩罚措施使用的对象可以是unicast、multicast、broadcast等。

sw1(config)#int f0/1
sw1(config-if)#storm-control broadcast level bps/pps/percent    //设置风暴阀值
sw1(config-if)#storm-control action shutdown                    //设置惩罚措施

2.DHCP(仿冒攻击、耗尽资源攻击)
在这里插入图片描述
如图所示在局域网内,经常使用DHCP服务器为用户分配IP地址,由于DHCP服务器和客户端之间没有认证机制,网络攻击的另一种办法是伪装有效DHCP服务器发出的响应。在DHCP工作原理中,客户端以广播的方法来寻找服务器,并且只采用第一个到达的网络配置参数,所以如果在网络中存在多台DHCP服务器(有一台或更多台是非授权的),谁先应答,客户端就采用其提供给的网络配置参数。假如非授权的DHCP服务器先应答,这样客户端获得的网络参数即是非授权的,客户端可能获取不正确的IP地址、网关和DNS等信息。在实际攻击中,攻击者还很可能恶意从授权的DHCP服务器上反复申请IP地址,导致授权的DHCP服务器消耗了全部地址,出现DHCP饥饿(正常的DHCP请求无法获取到IP地址)。
**仿冒攻击:**假设PC A想要去DHCP获取一个IP地址,那麽他的第一个请求包进入交换机,交换机是会洪泛的,黑客与PC A处于同一交换机之下,那麽他也会收到这个请求包,如果他充当DHCP服务器来给PC A回一个IP地址,PC A就会采用黑客给予他的地址,当真正的DHCP服务器给的地址发给PC A时,PC A不会采纳,黑客如果告诉PC A他是网关的话,那麽PC A上网的所有数据流量都会先到达黑客的网卡之上。
**耗尽资源:**如果黑客以大量的垃圾MAC地址耗尽DHCP地址池中的资源,那麽PC A将无法拿到IP地址。
通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC Address)字段来判断客户端的MAC地址。正常情况下该CHADDR字段和发送请求报文的客户端真实的源MAC地址是相同的。入侵者可以利用伪造源MAC的方式发送DHCP请求,但这种攻击可以使用Cisco交换机的端口安全特性来防止。但是如果入侵者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以入侵者可以通过大量发送伪造CHADDR值的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。当与伪造的DHCP服务器配合使用时,入侵者就可以伪装成DHCP服务器响应客户端DHCP请求,DHCP欺骗设备将入侵者指定为默认网关或默认域名服务器(DNS)服务器。如果指定为网关,客户机将把数据包转发给攻击设备,而攻击设备则接着将数据包发送到所要的目的地,这称为中间人攻击,可能完全无法被察觉。即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。
解决方案: DHCP Snooping,在交换机上配置DHCP Snooping防止攻击,DHCP Snooping的基本原理是交换机监听DHCP数据帧,对于不信任的接口将拒绝接收DHCP Offer包(DHCP服务器的响应包,而DHCP客户只会发送特定类型的DHCP包。默认配置完DHCP Snooping交换机上的所有接口都为非信任接口,我们应当配置与DHCP服务器相连的接口为信任接口)。

sw1(config)#ip dhcp snooping//开启snooping后所有的接口对于DHCP包都检查检查,所有接口不能发出OFFER和ACK,发出就实施惩罚策略(信任接口除外)
sw1(config)#ip dhcp snooping vlan 100
sw1(config)#int e0
sw1(config-if)#ip dhcp snooping trusted
sw1(config-if)#ip dhcp snooping limit rate 100//设定端口一秒钟只能发送100个包,减缓DHCP的starvation
sw1(config)#ing e1
sw1(config-if)#ip dhcp snooping untrusted

3.ARP欺骗攻击
ARP协议是一般是用来获取目的计算机或者网关的MAC地址的,通信发起方以广播方式发送ARP请求,拥有目的IP地址或者网关IP地址的工作站给予ARP应答,送回自己的IP和MAC地址。ARP协议支持一种无请求ARP功能,同一网段上的所有工作站收到主动ARP广播后会将发送者的MAC地址和其宣布的IP地址保存,覆盖以前Cache的同一IP地址和对应的MAC地址。由于ARP无任何身份真实校验机制,攻击者发送误导的主动式ARP使网络流量经过恶意攻击者的计算机,攻击者就成为了通信双方的中间人,达到窃取甚至篡改数据的目加粗样式的。攻击者发送的主动模式ARP采用发送方私有MAC地址而非广播地址,通信接收方根本不会知道自己的IP地址被取代。
ARP欺骗攻击的解决方案: 启用DAI(Dynamic ARP Inspection 动态ARP检查)可以防止ARP欺骗,它可以帮助保证接入交换机只传递“合法的”ARP请求和应答信息。
DAI的优点: DAI是动态使用的,相连的客户端主机不需要进行任何设置上的改变。对于没有使用DHCP的服务器,个别机器可以采用静态添加DHCP绑定表或ARP access-list的方法实现。另外,通过DAI可以控制某个端口的ARP请求报文频率。一旦ARP请求频率超过预先设定的阀值,立即关闭该端口。该功能可以阻止网络扫描工具的使用,同时对有大量ARP报文特征的病毒或攻击也可以起到阻断作用。
DAI动态的ARP检查可以借助DHCP Snooping所产生的绑定关系表(这张表内容包含IP地址、接口、MAC地址等)来进行检查。

SW1(config)#ip arp inspection vlan 1                         //在Vlan1启用DAI
SW1(config)#ip arp inspection  validate src-mac dst-mac ip         //检查ARP(请求和响应)报文中的源MAC地址、目的MAC地址、源IP地址和DHCP Snooping绑定中的信息是否一致
SW1(config)#int f0/1
SW1(config-if)#ip arp inspection trust              //配置本接口为信任接口
SW1(config)#int range f0/11 - 12
SW1(config-if)#ip arp inspection limit none//取消ARP包的默认限制默认15个包/秒
SW1(config-if)#ip arp inspection limit 10   //设置ARP包的限制10个包/秒        

4.IP地址欺骗攻击
IP地址欺骗是指行动产生的IP数据包为伪造的源IP地址,以便冒充其它系统或发件人的身份;这也是黑客进行DoS(Denial of Service 拒绝服务)攻击时经常同时使用的一种手段。
解决方案:最主要的是找到信任源;

1)IP SOURCE GUARD(IP源保护技术):利用已有的信任IP与接口记录关系来检测交换机上收到的数据包是否与信任表一致,一致则放行,不一致就阻塞该接口。(慎用,会让交换机检查IP包,交换机的数据接收量可是非常巨大的,这样增大交换机的负荷,严重影响交换机的性能)。所以配置时启用的接口不能过多,一般只在特定的接口上设置。

SW1(config)#int f0/2
SW1(config-if)#ip verify source port-security        //在本接口启用IPSG功能
SW1(config)#int range f0/3 - 4
SW1(config-if)#ip verify source port-security
SW1#ip source binding 0023.04e5.b221 vlan 1 172.16.1.3 int f0/3

2)做认证(建议使用)
802.1X(做管理的)和AAA(认证、授权、统计)服务器(CISCO有一台专门的服务器做这个ISE)结合起来彻底的解决大规模IP地址欺骗的问题,即让每一台电脑上网的时候做身份认证。例如:微软的LDAP协议(域控的协议)。

总结:对于交换安全的学习,我们要学会从源头去寻找不安全因素存在的原因,并且在源头实施策略,保障数据传输的安全。(注意:同时要考虑不能太大的影响设备的性能)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值