设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 325|回复: 1
收起左侧

如何保障网络安全?防止MAC地址泛洪造成MAC地址表填满

[复制链接]
发表于 2021-7-8 09:52:01 | 显示全部楼层 |阅读模式
◆◆端口安全技术
Port-Security◆◆

01
MAC地址表的泛洪攻击

黑客在PC上利用工具伪造大量的无效源MAC地址向交换机泛洪,交换机进行不断的学习,从而交换机MAC地址列表(也叫做CAM列表)被填满

当交换机的MAC地址表被填满后,这样正常的主机的MAC地址在经过老化之后,就无法再添加到MAC地址表中,导致之后的数据都变成了广播

交换机此时就像一个集线器,收到的流量数据帧会被泛洪到所有端口

此时黑客就能监听PC泛洪的流量,达到收集流量样本或者为了发起DOS(拒绝服务)攻击。

Port-Security:在交换机的Access接口开启

设置白名单地址:在一个接入接口上限制学习到的MAC地址数量的上限,同时接口也会缓存之前学习到PC的MAC地址并加入白名单;当该接口学习到的MAC地址超过上限时,交换机就会将该地址加入黑名单并开启惩罚机制,主要有三种:

1、shutdown:是默认处理方式;将接口置为error-disable状态,相当于关闭端口,同时交换机会提示日志。

若端口进入error-disable状态时,默认情况下不会自动恢复,恢复的方法有:
手动恢复,进入该端口,先shutdown端口,然后再no shutdown端口,即可恢复为正常状态。

自动恢复,设置error-disable计时器,端口进入error-disable状态时开始计时,计时器超出后端口状态自动恢复。

2、restrict:将违规的MAC地址的分组丢弃,但端口处于UP状态,交换机记录违规分组(相当于计入征信);同时交换机会提示日志。

3、protect:将违规的MAC地址的分组丢弃,但端口处于UP状态,交换机不记录违规分组,交换机也不会提示日志。

如果有非管理员使用电脑连接到交换机的接入接口,然后通过老化MAC地址表项连接上网,登录到交换机修改或者删除某些配置;为提高交换机的管理安全:

配置静态绑定的MAC地址:手工在接口配置静态的MAC地址并加入白名单。

如果所在企业的网络规模非常的大,我们手动去绑定地址的办法就有点不太现实了,所以说,这个时候我们需要用到端口安全的sticky(粘连)特性,sticky特性能动态的将交换机接口学习到的MAC加入到运行配置中,形成绑定关系。

接入身份认证802.1x认证:

802.1x协议起源于IEEE的无线局域网协议802.11

以太网并不提供接入认证,只要用户能接入局域网控制设备就可以访问局域网中的设备或资源

802.1X是基于Client/Server模式的访问控制和认证协议,根据用户ID或设备对网络客户端进行用户身份认证,提高以太网接入的安全性。

认证架构NAC:

请求者系统RPC:请求者通常是支持802.1x认证的用户终端设备,用户通过启动客户端软件发起802.1x认证。

认证系统NAS:认证系统通常为支持802.1x协议的网络设备,它为请求者提供服务端口,该端口可以是物理端口也可以是逻辑端口,一般在用户接入设备(如LAN Switch和AP)上实现802.1x认证。

认证服务器:使用AAA服务器结合ACS 5.2/ISE 2.2软件实现认证和授权功能。

请求者和认证系统之间运行802.1x定义的EAPoL (Extensible Authentication Protocol over LAN)协议;

当认证系统工作于中继方式时,认证系统与认证服务器之间也运行EAP协议,EAP帧中封装认证数据,将该协议承载在其它高层次协议中(如 RADIUS),以便穿越复杂的网络到达认证服务器

认证系统收到EAPoL消息并转换为其它认证协议(如 RADIUS),传递用户认证信息给认证服务器系统。

认证系统每个物理端口内部包含有受控端口和非受控端口,非受控端口始终处于双向连通状态,主要用来传递EAPoL协议帧,可保证接收认证请求者发出的EAPoL报文

受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。

认证过程:

1、客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;

2、接入设备向客户端发送EAP-Request/Identity报文,要求客户端出示用户名;

3、客户端回应一个EAP-Response/Identity给接入设备的请求,包括用户名;

4、接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给AAA认证服务器;

5、认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;

6、接入设备通过EAP-Request/MD5-Challenge发给客户端,要求客户端认证;

7、客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5后的Challenged-Pass-word,在
EAP-Response/MD5-Challenge回给接入设备;

8、接入设备将Challenge、Challenged Password和用户名一起送到认证服务器,由RADIUS服务器进行认证。

9、RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

10、如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;

11、如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

12、RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。

认证模式:基于端口认证模式和基于MAC地址认证

基于端口认证模式:在模式下只要连接到端口的某个设备通过认证,其他设备则不需要认证,就可以访问网络资源。

基于MAC地址认证:该模式下连接到同一端口的每个设备都需要单独进行认证。

对无法进行802.1X验证的硬件设备配置Mac Address Bypass(MAB)功能

当启用IEEE 802.1x认证的端口连接的设备是打印机(或者其他无法进行交互认证的设备)时,应当使用此特性。

原理:如果交换机等待客户端返回IEEE 802.1x认证的EAPOL响应包超时,交换机就会尝试使用基于Mac地址的免认证特性来识别客户端,当某个IEEE 802.1x认证端口启用Mac地址的免认证特性时,交换机就会使用Mac地址作为客户端的身份标记,把客户端的Mac地址作为用户名和密码发送给认证服务器RADIUS-access/request帧,认证服务器有一个允许使用网络的客户端MAC地址数据库,如果认证通过,交换机就会让客户端使用网络

如果认证失败且未定义失败动作时,交换机会把端口分配到一个预先指定的Guest Vlan。

*只能够在已经启用了IEEE 802.1x认证的端口使用基于mac地址的免认证特性。

*如果配置了Guest VLAN,当客户端属于一个非法的mac时,只有未在Lanenfocer上设置失败动作的时候,交换机才会把客户端分配到Guest VLAN。

02
基于VLAN的攻击

由于思科交换机的接口默认是开启DTP协议,接口工作在Auto协商的模式,当它接收到DTP帧后,会自动协商成为Trunk链路,恶意终端设备通过模拟DTP报文欺骗交换机,就可以访问和接收所有放行VLAN的数据。

*把接入接口配置为access模式

*接口关闭DTP协商

*在全局或接口开启BPDU GUARD或者接口开启BPDU FILTER,前者收到BPDU直接关闭接口,较强硬,后者完全忽略BPDU数据包,较温和。

基于双层标签实现VLAN跳转攻击:恶意终端系统发送双层802.1Q标签的数据帧,接收到该帧的第一台交换机会剥离第一层标签,如果Trunk的Native VLAN等于该层的标签中的VLAN ID,交换机就会把这个包含第二层的数据帧从Trunk转发出去,接收到该帧的第二台交换机则会根据这第二层的VLAN标记转发到目的VLAN中去。

ISL属于思科专有技术,是设备中使用的扩展分组报头的紧凑形式,每个分组总会获得一个标记,没有标识丢失风险,因而可以提高安全性。

*严格限制交换机的Access接口不能收到带有vlan标记的数据帧
*把所有未使用的接口配置为Access
*所有未使用的接口放入一个VLAN中,这个VLAN不承载任何数据流量
*NATIVE VLAN与任何数据VLAN不相同。
*手工指定Trunk模式,不要Auto和Desirable
*在Trunk上排除放行NATIVE VLAN

基于VTP的VLAN攻击
恶意黑客通过连接到交换机,并在自己的计算机和交换机之间建立一条中继,就可以充分利用VTP,黑客可以发送VTP消息到配置版本号高于当前的VTP服务器,这会导致所有交换机都与恶意黑客的计算机进行同步,从而把所有非默认的VLAN从VLAN数据库中移除出去;这样黑客就可以让VTP为己所用,移除网络上的所有VLAN(除了默认的VLAN外),这样他就可以进入其他每个用户所在的同一个VLAN上。

03欺骗攻击

DHCP的欺诈攻击DHCP Sproofing:


                               
登录/注册后可看大图

DHCP Sproofing同样是一种中间人攻击方式

DHCP是提供IP地址分配的服务,当局域网中的PC设置为自动获取IP,就会在启动后发送广播包请求IP地址,DHCP服务器(如路由器)会分配一个IP地址给PC

攻击者可以通过伪造大量的IP请求包,消耗掉现有DHCP服务器的IP资源,当有PC请求IP的时候,DHCP服务器就无法分配IP(黑客在局域网内,PC会先收到黑客分配的IP地址)

这时攻击者可以伪造一个DHCP服务器给PC分配网关地址,PC发送的任何数据都会经过黑客主机;此时黑客就能监听PC发送的流量,达到收集流量样本或者发起拒绝服务DDOS攻击。

DHCP嗅探/snooping:

通过建立和维护DHCP Snooping绑定表,包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息,通过这张表来判定IP地址或者mac地址是否合法,通过过滤不可信任的DHCP信息来限制用户连接到网络的

当交换机开启了 DHCP-Snooping后,会对DHCP报文进行侦听,并从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息,形成一张DHCP Snooping绑定表(可以手工指定)

另外DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口

信任端口可以正常接收并转发DHCP Offer报文,而不信任端口会将接收到的DHCP Offer报文丢弃,这样交换机可以对假冒DHCP Server进行屏蔽,确保客户端从合法的DHCP Server获取IP地址。

在一个交换区块内的所有交换机上面都启用,先在全局启用DHCP Snooping,然后针对有使用者PC的VLAN进行启用

启用了DHCP Snooping的接口默认对应两种状态,信任接口trust或非信任接口untrust

在交换机上,将连接合法DHCP服务器的接口配置为trust,trust接口上可以收发的来自DHCP server/client的全部报文

而untrust接口(默认状态)上收到的来自DHCP server的报文被过滤掉(可以收发DHCP客户端发送的报文,也可以发送DHCP服务器产生的报文),就可以防止非法的DHCP server接入。

部署了DHCP Snooping了交换机本地,会维护一张DHCP snooping的绑定数据库(binding database),用于保存侦听到的DHCP交互的表项,信息包括(针对untrust接口的):MAC地址、IP地址(DHCP分配的)、租期、绑定类型、VLAN号、接口编号(DHCP客户端也就是连接客户端PC的untrust接口)

DHCP snooping banding databse除了可以做一些基本的安全接入控制,还能够用于防ARP欺骗等一系列的防范攻击解决方案。

DHCP中继代理信息选项option 82:是DHCP报文中的一个选项,其编号为82;


                               
登录/注册后可看大图

Code:82 LEN:长度,Ag Inf field,不包含code及len字段的长度。

Option 82中可包含多个suboption:


                               
登录/注册后可看大图

Subopt:子选项编号,如果是circuit ID则值为1,remote ID则值为2

Len:Sub-option Value的字节个数,不包括Sub opt和Len字段的两个字节

Option 82子选项1:即Circuit ID,它表示接收到的DHCP请求报文来自的电路标识,这个标识只在中继代理节点内部有意义,在服务器端不可以解析其含义,只作为一个不具含义的标识使用。一般情况下,默认是接收到DHCP请求报文的接入交换机Vlan ID加接入二层端口名称,如Vlan 2+Ethernet0/0/10

通常子选项1与子选项2要共同使用来标识DHCP客户端的信息

基于Option 82可以实现基于策略的DHCP的地址分发。

Option 82子选项2:即Remote ID,一般情况下为插入该option82信息的接入层交换机的MAC地址。

一台支持DHCP snooping的交换机,如果在其untrust接口上,收到来自下游交换机发送的、且带有option 82的DHCP报文,则默认的动作是丢弃这些报文。

如果该交换机开启了DHCP snooping并且带有option 82的DHCP报文是在trusted接口上收到的,则交换机接收这些报文,但是不会根据报文中包含的相关信息建立DHCP bingding databse表项。

DHCP snooping防范DHCP的饥饿攻击:DHCP Starvation是用虚假的MAC地址广播DHCP请求

如果发送了大量的请求,攻击者可以在一定时间内耗尽DHCP Servers可提供的地址空间

DHCP snooping可以帮助防范DHCP Starvation,

限制一个untrust接口每分钟最多可以接收多少disscover个报文。
最后

太阁老师的个人微信

添加太阁老师个人微信领取:太阁免费视频资料、NA综合实验配置文件拓扑图及模拟器、太阁独家实验手册、网工必读书籍等

                               
登录/注册后可看大图


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-27 02:00 , Processed in 0.059382 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表