mac地址是唯一的吗,mac地址能随便修改吗

  

  端口安全技术   

  

  Port-Security   

  

  01   

  

  MAC地址表的洪水攻击   

  

  黑客利用PC上的工具伪造大量无效的源MAC地址充斥交换机,交换机不断学习,以至于交换机MAC地址列表(也叫CAM列表)被填满。   

  

  当交换机的MAC地址表被填满时,正常主机的MAC地址在老化后无法添加到MAC地址表中,导致后续数据被广播。   

  

  这时候交换机就像一个hub,接收到的流量数据帧会泛洪到所有端口。   

  

  此时,黑客可以监控PC泛洪流量来收集流量样本或发起DOS(拒绝服务)攻击。   

  

  端口安全:在交换机的接入接口打开。   

  

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

  

  1.关机:默认处理方式;将接口设置为错误禁用状态相当于关闭端口并交换机会提示日志。   

  

  如果端口进入错误禁用状态,默认情况下不会自动恢复。恢复方法有:   

  

  手动恢复,进入端口,先关端口,再关端口,再恢复正常状态。   

  

  自动恢复:设置错误禁用定时器。当端口进入错误禁用状态时,它将开始计时。定时器超时后,端口状态会自动恢复。   

  

  2.restrict:丢弃非法MAC地址的数据包,但端口处于UP状态,交换机记录非法数据包(相当于计入信用);同时交换机会提示日志。   

  

  3.保护:丢弃非法MAC地址的数据包,但端口处于UP状态。交换机不会记录非法数据包,也不会提示日志。   

  

  如果非管理员使用电脑连接交换机的接入接口,然后通过老化的MAC地址列表连接互联网,登录交换机修改或删除部分配置;要提高交换机的管理安全性:   

  

  配置静态绑定MAC地址:在接口上手动配置静态MAC地址,并将其添加到白名单中。   

  

  如果企业的网络规模很大,我们手动绑定地址有点不现实。所以,这时候我们就需要利用端口安全的粘性特性,可以将交换机接口学习到的MAC动态添加到运行配置中,形成绑定关系。   

  

  接入身份认证802.1x认证:   

  

  82.1x协议源于IEEE的WLAN协议802.11。   

  

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

  

  802.1X是一种基于客户机/服务器模式的访问控制和认证协议,根据用户ID或设备对网络客户机进行认证,提高了以太网访问的安全性。   

  

  认证架构NAC:   

  

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

  

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

  

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

  

  由802.1x定义的eapol(局域网上的可扩展认证协议)协议在请求者和认证系统之间运行;   

  

  当认证系统工作在中继模式时,认证系统和认证服务器也运行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个报文。

相关文章