目录
第三章 以太网安全
3.1 端口隔离
背景:网络规模逐渐增大,通过VLAN进行网络隔离,将消耗有限的VLAN ID,可以通过端口隔离在相同的VLAN内实现通信隔离
隔离的类型:
- 双向隔离
- 将交换机的端口设置在相同的隔离组中,这些端口之间的通信就被隔离。
- 单向隔离
- 交换机在不同的隔离组中,通过配置单向隔离,实现处于不同隔离组中的接口的通信隔离。
- 在A接口配置与不同隔离组的B接口的单向隔离,则A接口的报文无法到达B,B接口的报文可以到达A
隔离的模式:
- 仅二层隔离,三层互通
- 同一个VLAN下的接口二层隔离,但可以通过三层通信,借助网关通信。
- 二层三层都隔离
- 同一个VLAN下的接口二层三层都隔离。
3.2 MAC地址表项安全
MAC地址表项:MAC地址,VLAN ID,接口编号,类型
3.2.1 MAC地址分类:
- 静态MAC地址,通过手工配置的MAC地址表项,不老化,保存后,设备重启不丢失。多用于交换机与服务器等固定设备或业务。
- mac-address static 5489-98D8-636A GigabitEthernet 0/0/1 vlan 10 //配置静态MAC地址。
- 动态MAC地址,交换机通过动态的学习收到的报文的源MAC地址,收包接口的编号,接口的VLAN形成MAC地址表项,默认老化时间300s,设备重启后丢失。
- 黑洞MAC地址,通过手工配置,收到报文的源MAC地址和目的MAC地址是黑洞MAC则丢弃,不转发。
- mac-address blackhole 5489-98d8-636b vlan 10 //黑洞MAC地址的配置命令。
3.2.2MAC地址表安全
- 禁止MAC地址学习,配合静态MAC地址使用。
- 基于接口的禁止MAC地址学习,默认不禁止学习,如果开启禁止,默认报文处理动作是转发。
- [Huawei-GigabitEthernet0/0/1]mac-address learning disable action discard
- 基于VLAN的禁止MAC地址学习,如果同时配置接口和VLAN的,VLAN优先级更高。
- [Huawei-vlan2] mac-address learning disable
- 限制MAC地址学习数量
- 基于接口
- 配置限制学习Mac地址数量,对超出数量的部分不进行学习
- 配置对超出数量的MAC地址的报文执行动作,默认是丢弃动作,可以配置转发动作。(模拟器默认动作转发)
- 基于VLAN
- 配置基于VLAN的MAC地址学习数量
- 基于接口
3.3 端口安全
3.3.1网络的两个需求:
- 企业需求接入层交换机的端口仅能学习一个MAC地址
- 企业要求员工不允许私自移动位置。
3.3.2 实现方式
通过端口安全实现,接入层交换机接口开启端口安全之后,默认学习一个MAC地址,该MAC地址会转化为安全MAC地址,对于非安全MAC地址的报文,可以进行以下操作。
- restrict:丢弃报文,并告警
- protect:丢弃报文,不告警
- shutdown:关闭接口
3.3.3安全地址的类型
配置端口安全之后,形成的MAC地址:
- 安全动态MAC地址,通过学习动态的MAC地址,转化为安全MAC地址,默认是不老化,配置老化之后,可以进行老化,重启设备丢失。
- 安全静态MAC地址,配置静态MAC地址之后,使能端口安全就会产生安全静态MAC地址,保存配置后,重启设备不丢失,不老化。
- 粘性地址(Sticky MAC),开启端口安全之后,接口下MAC地址转化为安全MAC地址,再开启粘性地址功能,转化为粘性地址,当保存设备配置的时候,粘性地址保存在配置中,重启不丢失,不老化。
3.4 防MAC地址漂移和检测
3.4.1 背景
网络中出现环路、或者是被攻击,会出现同一个MAC地址表项在交换机的不同接口下反复横跳。但是同一个MAC只能出现在同一个VLAN的同一个接口下,后学习到的接口覆盖前学习到的。
3.4.2 解决方法
- 防MAC地址漂移
- 接口下配置MAC学习优先级,高优先级的覆盖低优先。
- mac-learning priority 5 //配置接口下的mac地址学习的优先级
- 接口下配置相同的MAC学习优先级不允许相互覆盖。
- undo mac-learning priority 0 allow-flapping //配置学习优先级为0的MAC地址不允许漂移(后学习到的不允许覆盖前学习到的)
- 接口下配置MAC学习优先级,高优先级的覆盖低优先。
- MAC地址漂移检测
- 基于VLAN配置
- 如果检测到漂移,对出现漂移的端口执行告警,阻断接口,阻塞MAC地址。
- 基于全局配置
- 如果检测到漂移,对出现的接口执行关闭、对出VLAN等操作。
- 基于VLAN配置
3.5 交换机的流量控制
3.5.1 背景
- 网络出现大量的泛洪报文,消耗设备的大量系统资源
- 网络出现大量的已知单播和组播报文,对设备造成瞬间冲击
3.5.2 交换机流量控制
控制模式两种:基于包速率和基于bit速率,对于超出阈值的报文进行丢弃。
1、接口的入方向上:对所有报文(未知单播帧、未知组播帧、广播帧、已知单播帧、已知组播帧)进行流量控制。
2、接口的出方向上:对BUM帧(未知单播帧、未知组播帧、广播帧)进行流量控制。
3、VLAN下对广播报文的流量进行控制。
3.6 风暴控制
当网络中出现环路的时候,网络中就会出现大量的广播报文,组播报文未知单播帧报文(BUM报文),此时在接口下配置风暴控制,当以上流量超过配置的阈值的时候,将执行配置的动作,阻塞报文或者关闭接口。
3.7 DHCP snooping
1.7.1 DHCP Snooping信任功能
作用:预防客户端收到非法的服务器提供的IP地址。
实现方式:
交换机使能DHCP Snooping功能,并将合法的DHCP server 对应的接口设置为信任接口。
交换机收到DHCP的请求报文,从信任接口发送给合法的服务器,不向非信任接口转发。
信任接口收到DHCP Offer、ACK、NAK报文,正常转发;
不信任接口收到DHCP Offer、ACK、NAK报文,丢弃不转发。
参考命令:
[Huawei-GigabitEthernet0/0/1] dhcp snooping enable //使能dhcp Snooping
[Huawei-GigabitEthernet0/0/1] dhcp snooping trusted //使能dhcp Snooping信任接口。
3.7.2 DHCP Snooping绑定表
通过DHCP ACK报文获取客户端的IP地址和MAC地址以及租期,获取配置DHCP Snooping的接口的编号和VLAN。形成DHCP绑定表。
绑定绑包含:IP地址、MAC地址、VLAN ID、接口编号、租期
3.7.3 DHCP 饿死攻击
攻击者通过修改MAC地址,不停发送DHCP Request报文,报文中的CHAddr随着报文的源Mac地址变化而变化,服务器收到发生变化的CHaddr字段的请求报文,都会发送ACK报文分配地址,当地址池中的地址分配完,合法设备将因为地址池中无可用IP地址而申请IP地址失败。
解决方法:使用DHCP Snooping 限制交换机学习MAC地址的数量。防止非法设备修改MAC地址获取IP地址。
3.7.4 DHCP 修改CHAddr字段Dos攻击
DHCP服务器根据说到的请求报文中的CHAddr字段分配IP地址,当收到大量的修改了CHAddr字段的请求报文,服务器将分配大量的IP地址,直到地址池耗尽。
解决方法:交换机使能DHCP Snooping,通过对Chaddr字段和报文的源MAC地址进行匹配检查,如果不相同,则不转发,如果相同,则进行转发。
3.7.5 DHCP 中间人攻击
通过嗅探IP/MAC地址信息,同时欺骗DHCP 客户端和服务器,使得客户端和服务器之间的通信报文都会经过攻击者设备,从而使得攻击者获取相应的信息。
解决方法:交换机使用DHCP Snooping绑定表,检查接收到的报文的源IP地址和对应的MAC地址是否和绑定绑定表中匹配,匹配则转发报文,不匹配则丢弃不进行转发。
3.7.6 IPSG
作用:通过与绑定表进行匹配,避免非法的用户获得上网权限,仅匹配通过的报文可以进行转发,不匹配的丢弃。
- 非法用户修改IP地址获取上网权限。
- IP地址欺骗攻击
绑定表有两种:静态绑定表、DHCP Snooping绑定表
3.8虚拟防火墙
3.8.1 概念
根系统:缺省情况下存在的一个特殊的虚拟系统,缺省对防火墙的配置就是对根系统的配置。
虚拟系统:从根系统中划分出来的虚拟的系统。
虚拟接口:用于虚拟系统之间的通信的,根系统的接口是virtual-if +编号0,其他系统的编号按照占位情况,从1开始向后。
会话表:防火墙根据报文的首包形成会话表记录通信的状态,后续报文根据会话表进行转发,如果存在在会话表中,则转发,不存在在会话表中,则检查是否能创建不能创建则丢弃。会话表机制简略了报文的检查机制,提高了转发效率。
安全区域:防火墙默认4个区域,DMZ 优先级50,untrust区域 优先级5,trust区域优先级是85,Local区域 优先级100,也可以自定义区域。防火墙的接口必须加入到对于的区域,才能通信。