局域网安全的脆弱性与防护技术研究

2022-04-06 09:01劳翠金
无线互联科技 2022年20期
关键词:客户机局域网攻击者

劳翠金,秦 燊

(柳州城市职业学院 信息工程系,广西 柳州 545000)

0 引言

建立在TCP/IP 之上的局域网由于协议本身的脆弱性,给攻击者留下了入侵的机会。 以太网中的数据传输信道是共享信道,如果局域网采用集线器连接,因为集线器接收到信号后会将信号从所有接口转发出去,发给局域网中的所有主机,主机若被设为监听模式,即使收到的信号不是发给自己的,也会接收下来,从而达到侦听网络数据,非法窃取他人账号、密码等信息和借此进行其他非法操作,损害他人利益的目的。如果局域网连接使用的不是集线器而是交换机,虽然能避免以上广播转发的后果,但攻击者仍可基于ARP协议及交换机生成MAC 地址表的原理,伪造“IP 地址与MAC 地址对应关系”,实施中间人攻击。 另外,攻击者还可利用局域网对DHCP 服务器缺少验证机制,通过攻击DHCP 服务器,进而将伪造的缺省网关和DNS服务器地址发给用户,达到中间人攻击和网络钓鱼等目的。 文章主要探讨如何有针对性地加强其防御能力及相关技术手段。 涉及的安全防护措施和技术手段,均可通过运行EVE-NG 虚拟化平台进行验证[1]。

1 针对MAC 地址泛洪攻击的防护

1.1 端口镜像技术

网络管理员运用端口镜像技术,可对网络流量进行监控,将流经交换机各端口的流量转发到网络安全管理员监控的端口。 以Catalyst 2950 系列的交换机为例,命令“monitor session 1 source interface g0/1”指定源端口,命令“monitor session 1 destination interface g0/2”指定目的端口,源端口g0/1 的流量将会被镜像到管理员所在的目标端口g0/2 上,由管理员进行监控和分析。

因为攻击者没有交换机的管理权限,故攻击者无法采用以上方法对局域网上的流量进行监控和捕获诸如密码等重要信息。 但攻击者却可采用MAC 地址泛洪等攻击达到该目的。 下文先探讨攻击者的做法,再给出解决方案。 这涉及交换机的工作原理及MAC 地址表。

1.2 MAC 地址泛洪攻击的原理

局域网中的电脑互通时,源电脑先根据目标电脑的IP 地址,获得其对应的MAC 地址,然后,再通过源MAC 地址和目标MAC 地址进行通信。 通信需经过中间设备交换机的中转。 交换机查找其MAC 地址表中是否存有目标MAC 地址的条目,若有,则可找到出接口;若无,则交换机会通过广播的方式,把这个数据帧从除了入接口之外的其他所有接口广播出去,收到这个数据帧的电脑如果发现数据帧的目标MAC 地址与自己的MAC 地址不同,则会将其丢弃,如果发现接收到的数据帧的目标MAC 地址是自己的MAC 地址,就接收并处理该数据帧。

交换机上的MAC 地址表存有MAC 地址与接口的对应关系,但刚开始时是空的。 当有数据帧到达交换机时,交换机会将源MAC 与交换机中的MAC 地址表中的条目进行对比,如果在MAC 地址表中找不到包含这个源MAC 地址的条目,交换机就会将这个源MAC地址与对应的入接口作为一个新的条目,存入MAC 地址表。 以后一旦有目的MAC 地址与MAC 地址表中已有的MAC 地址一致的数据帧进入交换机,交换机就可以将其从查到的对应接口转发出去[2]。

然而,交换机的MAC 地址表的存储空间毕竟是有限的,当攻击者虚构大量的源MAC 地址的数据帧,并发往交换机中时,交换机将会将这些虚构的源MAC 地址记录到自己的MAC 地址表中,最终导致交换机的MAC 地址表爆满,使交换机无法存储新的MAC 地址及其与相应接口的对应关系。 此后,如果还有新的数据流经过交换机,因为交换机无法从MAC 地址表中查找到其相应的目标MAC 地址,所以交换机只能像集线器一样,将数据帧广播出去。 包括攻击者在内的电脑,都会收到这些广播信息,攻击者通过抓包软件,捕获和分析这些信息。

因为交换机的MAC 地址表容量是有限的,所以攻击者若在kali linux 上打开多个命令行窗口,同时运行macof 命令,伪造大量的源MAC 地址来占满交接机的MAC 地址表空间,则经由此交换机的数据的转发只能通过广播进行,此时通过抓包就可以捕获到网络上的所有流量了。

1.3 MAC 地址泛洪攻击的防御

防御MAC 地址泛洪攻击的常用方法,是配置交换机端口的port-security 属性。 通过交接机端口的portsecurity 属性可限制每个端口可连接的MAC 地址数量,还能限制相同的MAC 地址是否允许出现在不同的端口列表中。 对不符合port-security 属性的违规行为,可配置为将相应的端口关闭,也可配置为将违规帧丢弃,从而避免出现MAC 地址泛洪的不良影响。 进入交换机端口使用“switchport port-security”命令,可开启交换机端口的port-security 属性,阻止端口遭受MAC 地址的泛洪攻击。 开启port-security 后,一个交换机端口默认只能连接一个MAC 地址;相同的MAC 地址不允许同时出现在不同的端口的列表中。 如果相同的MAC地址在不同的交换机端口列表中出现,交换机会将这种情况视为违规。 违规帧的处理方式有以下3 种[2]。

第一种违规帧的处理方式是protect,会将违规帧丢弃,而且不发送任何告警信息;第二种违规帧的处理方式是restrict,会将违规帧丢弃,同时发送告警信息;第三种违规帧的处理方式是shutdown,会将出现违规帧的端口关闭,将端口的状态置为errordisable,同时,发送告警信息。 例如,通过“switchport port - security violation shutdown”命令,可将违规帧的处理方式设置为“shutdown”;通过“switchport port-security maximum 2”命令,将端口允许连接的最大MAC 地址数量设置为2 个。

配置了相关的防护命令后,若攻击者发动攻击,交换机会进行主动防御,此时,可在交换机上通过“show port-security interface g1/0”命令,查看交换机g1/0 接口的port-security 状态,可以看到,虽然攻击者发起大量的伪造源MAC 地址,想占满交换机的MAC 地址表的空间,但由于源MAC 地址数超过了2,端口因违规而被关闭,达到了防御的目的。 网络管理员为了进一步追踪攻击者,可通过“show port-security address”命令,查看port-security 上的地址信息,从而追踪到攻击者并进行追责。 如果交换机的端口因遭受攻击,进行主动防御而关闭了,当网络安全管理员处理好相关问题后,需要对该端口进行恢复处理:先使用 “no switchport port-security”命令,关闭这个端口的port-security 属性,再用“shutdown”命令关闭这个端口,最后用“no shutdown”命令启用这个端口。

2 针对DHCP 攻击的防护技术

2.1 DHCP 攻击的原理

除了MAC 地址泛洪攻击,局域网站的DHCP 服务器也容易受到攻击。 正常的DHCP 服务器接收到客户机获取地址的请求后,会从地址池中取出IP 地址分配给客户机,同时还会把相关的子网掩码、网关地址、DNS服务器地址等信息,一并分配给客户机,具体如下。

首先,客户机向局域网发送DHCP Discover 广播请求,向DHCP 服务器申请IP 地址、子网掩码、缺省网关、DNS 服务器等信息。

如果局域网中存在多台DHCP 服务器,每台服务器都会从自身地址池的可用IP 地址中取出一个,连同相关的子网掩码、网关地址、DNS 服务器地址,回应给客户机。 客户机收到DHCP 服务器的回应后,选择其中一个服务器分配的地址等信息,并作出响应。 没有被客户机接收的DHCP 服务器会把打算分配出去的IP地址回收到地址池中;被客户机接收的DHCP 服务器则返回确认信息给客户机,客户机最终正式获得该DHCP 服务器分配的IP 地址、子网掩码、网关地址、DNS 地址等信息,进行正常的网络通信。

然而,若有攻击者通过kali 的“pig.py 网卡类型及编号”命令不断地向正规DHCP 服务器申请IP 地址,则会耗尽正规DHCP 服务器地址池中的所有IP 地址,导致正规DHCP 服务器无法再为正常用户分配地址,此时,若攻击者启用自己控制的恶意DHCP 服务器,就可以在给客户机分配IP 地址的同时,给客户机分配恶意的网关信息或恶意的DNS 服务器地址信息。 若客户机获取的是恶意网关地址,客户机访问外网的所有数据都会经过攻击者控制的恶意网关进行转发,攻击者就可以把自己当作中间人,在恶意网关上采取抓包等方式,截获受害客户机访问外网的所有数据流量;若客户机获取的是恶意DNS 的地址,受害者打算访问正规网站时,却被恶意DNS 服务器引导到钓鱼网站,导致账号、密码等信息泄露。

2.2 DHCP 攻击的防御

针对这样的DHCP 服务攻击,作为网络安全管理员,可采用DHCP Snooping 技术来限制交换机端口发送用于分配IP 地址的数据包,限制每秒钟通过交换机端口的DHCP 包的数量,从而对DHCP 攻击进行防御[3]。

(1) 设置交换机的时区和时间。 因为DHCP Snooping 技术涉及DHCP 服务器所分配IP 地址的租用时间,所以要先用命令“clock timezone”和“clock set”设置好交换机所属的时区及当前时间。

(2)激活DHCP snooping。 先通过命令“ip dhcp snooping”在全局激活DHCP snooping,然后通过“ip dhcp snooping vlan id 号”在特定的VLAN 中进一步激活。

(3) 指定DHCP Snooping 数据库的存放位置。DHCP 的租用时间、客户端的MAC 地址、IP 地址、所属vlan、所连的交换机端口等相关信息,除了可临时存储到交换机的内存中,还可存储到DHCP Snooping 数据库中。 可使用“ip dhcp snooping database flash:/文件名”命令,指定DHCP Snooping 数据库的存放位置。

(4)设置信任端口。 对于正规的DHCP 服务器所连接的端口,可通过命令“ip dhcp snooping trust”将其指派成信任端口。 信任端口可发送所有的DHCP 包,包括DHCP 的请求包和对外分配IP 地址的DHCP 包。

(5)对非信任端口进行DHCP 限速。 未明确指派的则为非信任端口,非信任端口只能发送DHCP Discover 和DHCP Request 这样的DHCP 请求包,不能发送用于分配IP 地址的DHCP OFFER 和DHCP ACK包。 连接到非信任端口的恶意DHCP 服务器,是无法分配IP 地址给客户机的。 可对非信任端口应进行DHCP 限速,限制每秒DHCP 包的数量,命令是“ip dhcp snooping limit rate 速率值”。

进行以上配置后,若遭受针对DHCP 服务的攻击,受攻击的交换机端口会主动关闭,网络管理员追究攻击者的责任、进行相关处理后,需要恢复被关闭的端口,恢复的方法是:先进入该接口,然后用shutdown 命令关闭该接口,再用no shutdown 命令重新打开该接口。

3 结语

若没有配置交换机端口的port-security 属性对MAC 地址泛洪攻击进行防御,攻击者可在局域网中实施攻击后,通过抓包捕获包括密码在内的各种信息。若没有启用DHCP Snooping 对DHCP 攻击进行防御,正规服务器遭受针对DHCP 服务的攻击后,将会耗尽地址池中的地址。 攻击者会进一步使用伪造的DHCP服务器为客户分配虚假的网关或DNS 服务器,对客户实施中间人攻击或钓鱼网站攻击等,可见局域网中必要防范的重要性。

猜你喜欢
客户机局域网攻击者
基于微分博弈的追逃问题最优策略设计
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
正面迎接批判
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
有限次重复博弈下的网络攻击行为研究
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”
基于Web数据提高访问速度的方法