今天给大家聊一下日常网络设计中需要注意的以太网安全,以太网主要是由交换机组成,要保证以太网的安全就需要在交换机上做必要的安全措施,这些措施包含(但不仅限于):接口安全、防DHCP欺骗、ARP安全、防IP源欺骗;
下面就以上几点进行描述:
交换机接口经常碰到MAC泛洪攻击,MAC泛洪攻击原理如下图:
黑客在STA3上,发送具有虚假源 MAC 地址的帧,每发送一个帧,源MAC改变一次,MAC表就会多一条记录,如此反复直到交换机 MAC 地址表爆满,交换机就无法再学习新的MAC记录。图中交换机的MAC表爆满后,STA4开机,交换机将无法学习STA4在哪个接口。交换机进入称为“失效开放”的模式,开始像集线器一样工作,将要发往STA4的数据帧从除了源端口外的全部接口泛洪出去。
如何解决这个问题?
可以使用接口安全防止MAC地址泛洪,以下为配置命令案例:
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port-security enable
//以上使能接口安全功能
[S1-GigabitEthernet0/0/1]port-security max-mac-num 1
//以上配置接口MAC数量为1
[S1-GigabitEthernet0/0/1]port-security protect-action restrict
//以上配置接口安全保护动作为restrict
也可以配置Sticky MAC,以下为配置命令案例:
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port-security enable
//以上使能接口安全功能
[S1-GigabitEthernet0/0/1]port-security max-mac-num 2
//以上配置接口MAC数量为2
[S1-GigabitEthernet0/0/1]port-security protect-action restrict
//以上配置接口安全保护动作为restrict
[S1-GigabitEthernet0/0/1]port-security mac-address sticky
//以上使能接口自动Sticky MAC功能
[S1-GigabitEthernet0/0/1]port-security mac-address sticky 487b-6bf8-8000 vlan 1
//以上手动配置一条sticky-mac表项
在园区网中经常出现私接路由器及DHCP伪装攻击,在网络中称之为DHCP欺骗。
DHCP欺骗的原理:
DHCP服务是一个没有认证的服务,即客户端和服务器端无法互相进行合法性的验证。DHCP客户端以广播的方法来寻找服务器,并且采用第一个达到的网络配置参数。如果在网络中存在多台DHCP服务器(有一台或更多台是非授权的),谁先应答,客户端就采用其供给的网络配置参数。假如非授权的DHCP服务器先应答,这样客户端最后获得的网络参数即是非授权的,客户端可能获取不正确的IP地址、网关、DNS等信息。
实际攻击中,攻击者通常会先从授权的DHCP服务器反复申请IP地址,导致授权的DHCP服务器消耗了全部IP地址、无法正常工作(称为DHCP耗竭),然后再冒充成授权的DHCP服务器,为客户端分配错误的网络配置参数(称为DHCP欺骗)。
针对DHCP欺骗可以开启DHCP Snooping:
DHCP Snooping防止DHCP耗竭和DHCP欺骗攻击的原理DHCP Snooping配置将交换机的端口分为可信任端口(图中的G0/0/1)和不可信任端口(图中的G0/0/2)。交换机的G0/0/2接口接的是DHCP客户端,DHCP客户端不会发送DHCP 0ffer报文、DHCP ACK报文、DHCP NAK报文,当交换机从一个不可信任端口收到只有DHCP服务器才会发送的报文时,如DHCP 0ffer报文、DHCP ACK报文、DHCP NAK报文,交换机将认为是非法报文并将该报文丢弃。对信任端口(G0/0/1)收到的DHCP报文,交换机将不检查DHCP报文直接转发。
客户端和服务器的DHCP通信需要经过交换机,交换机就能截获它们之间DHCP数据报文。交换机DHCP Snooping功能截获端口的DHCP报文,建立一张包含有用户IP地址、MAC地址、VLAN ID、交换机端口、租用期等信息的一张表。该表是防ARP攻击、防IP欺骗的基础。
查看DHCP Snooping表项:
[S1]display dhcp snooping user-bind all
DHCP Dynamic Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - map vlan
IP Address MAC Address VSI/VLAN(O/I/P) Interface Lease
--------------------------------------------------------------------------
192.168.1.253 5489-9805-01bf 1 /-- /-- GE0/0/2 2020.01.22-16:32
192.168.1.252 5489-981b-710c 1 /-- /-- GE0/0/3 2020.01.22-16:32
print count: 2 total count: 2
配置DHCP Snooping:
[S1]dhcp enable
//全局使能DHCP功能。
[S1]dhcp snooping enable
//全局使能DHCP Snooping功能
[S1]vlan 1
[S1-vlan1]dhcp snooping enable
//VLAN视图下使能DHCP Snooping
[S1]interface GigabitEthernet0/0/1
[S1-GigabitEthernet0/0/1]dhcp snooping trusted //以上配置接口为可信任接口,该接口接DHCP服务器
[S1]interface GigabitEthernet0/0/2
[S1-GigabitEthernet0/0/2]dhcp snooping check dhcp-chaddr enable
//以上配置检查DHCP报文的CHADDR值与源MAC是否一致
[S1-GigabitEthernet0/0/2]dhcp snooping check dhcp-request enable
//以上配置DHCP Request报文检查功能
[S1-GigabitEthernet0/0/2]dhcp snooping check dhcp-rate enable
//以上使能DHCP报文的速率检查功能
[S1-GigabitEthernet0/0/2]dhcp snooping check dhcp-rate 50
//以上配置DHCP报文的上送速率
[S1-GigabitEthernet0/0/2]dhcp snooping sticky-mac //以上配置DHCP Snooping功能的MAC安全
ARP攻击原理:
黑客所控制的计算机B收到计算机A的请求(ARP请求是广播),计算机B人为稍作延时再发送ARP响应,保证这个响应迟于网关的响应到达计算机A,计算机B回答:10.1.1.1和10.1.1.3的MAC均为B.B.B。由于ARP条目会采用最新的响应,因此计算机A就误认为10.1.1.3的MAC为B.B.B了,路由器也误认为10.1.1.1的MAC为B.B.B。
可以使用动态ARP检测(DAI):
DAI基于DHCP Snooping来工作,DHCP Snooping绑定表包括IP地址与MAC地址的绑定信息,并将其与VLAN、交换机端口相关联,DAI可以用来检查接口的ARP请求和应答,确保请求和应答来自真正的MAC、IP所有者。交换机通过检查接口记录的DHCP绑定信息和ARP报文的信息决定是否合法的ARP报文,不合法的ARP报文将被拒绝转发。图中,交换机知道计算机B的IP地址为10.1.1.2、MAC地址为B.B.B、在哪个接口,计算机B发送的虚假ARP报文将被丢弃。
DAI依赖于DHCP Snooping来实现它的功能,DHCP Snooping的配置参见10.1.2小节。设备使能DHCP Snooping功能后,当DHCP用户上线时,设备会自动生成DHCP Snooping绑定表。对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表
配置DAI防止ARP中间人攻击
[S1]dhcp snooping enable
[S1]vlan 1
[S1-vlan1]dhcp snooping enable
//以上在VLAN 1使能DHCP Snooping
[S1-vlan1]user-bind static ip-address 192.168.1.100 mac-address 5489-9389-03BD interface g0/0/4 vlan 1
//以上手动添加静态绑定表,绑定在g0/0/4接口
[S1]interface GigabitEthernet0/0/1
[S1-GigabitEthernet0/0/1]dhcp snooping trusted
//以上配置接口为可信任接口
[S1]interface GigabitEthernet0/0/2
[S1-GigabitEthernet0/0/2]arp anti-attack check user-bind enable
//以上使能ARP报文检查功能
[S1-GigabitEthernet0/0/2]arp anti-attack check user-bind check-item ip-address mac-address vlan
//以上配置ARP报文检查方式,对IP地址、MAC地址、VLAN和接口都进行检查
[S1]interface GigabitEthernet0/0/3
[S1-GigabitEthernet0/0/3]arp anti-attack check user-bind enable
[S1-GigabitEthernet0/0/3]arp anti-attack check user-bind check-item ip-address mac-address vlan
[S1]interface GigabitEthernet0/0/4
[S1-GigabitEthernet0/0/4]arp anti-attack check user-bind enable
[S1-GigabitEthernet0/0/4]arp anti-attack check user-bind check-item ip-address mac-address vlan
//G0/0/3、G0/0/4接口配置和G0/0/2的一样
IP源地址欺骗是黑客进行DoS攻击时经常同时使用的一种手段,黑客发送具有虚假源IP地址的数据包。
IP源防护(IP Source Guard,IPSG)可以防止局域网内的IP地址欺骗攻击。和DAI类似,IPSG也是基于DHCP Snooping进行工作,DHCP Snooping绑定表包括了IP地址与MAC地址的绑定信息,并将其与VLAN、交换机端口相关联,交换机根据DHCP Snooping绑定表的内容来过滤IP报文。客户端发送的IP数据包,只有其源IP地址、MAC地址、VLAN和DHCP Snooping绑定表相符才会被发送,其他IP数据包都将被丢弃。
IPSG依赖于DHCP Snooping来实现它的功能。设备使能DHCP Snooping功能后,当DHCP用户上线时,设备会自动生成DHCP Snooping绑定表。对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表
[S1]dhcp enable
[S1]dhcp snooping enable
[S1]vlan 1
[S1-vlan1]dhcp snooping enable
[S1-vlan1]user-bind static ip-address 192.168.1.100 mac-address 5489-9389-03BD interface g0/0/4 vlan 1
//以上启用DHCP Snooping,并配置静态绑定表,绑定在g0/0/4接口
[S1]interface GigabitEthernet0/0/1
[S1-GigabitEthernet0/0/1]dhcp snooping trusted
//以上配置接口为可信任接口