二层安全

似梦清欢
• 阅读 116

端口隔离技术

通过端口隔离技术可以实现同vlan内设备不能通信,跨vlan设备可以通信。 设置端口隔离组,把想要隔离的端口加入到端口隔离组中,在隔离组内的设备不能相互通信,不在隔离组中的设备端口可以互相通信。

端口隔离技术原理: 二层安全


二层安全 如上拓扑中,三台PC可以自由通信。

双向隔离:
[SW1-GigabitEthernet0/0/1]port-isolate enable group 12    默认为组1,12表示PC1、2做隔离
[SW1-GigabitEthernet0/0/2]port-isolate enable group 12    

端口1、2都加入隔离组12,同一隔离组内设备不能相互通信: 二层安全

单项隔离:
[SW1-GigabitEthernet0/0/1]am isolate GigabitEthernet 0/0/3    GE0/0/1不会把数据包发给GE0/0/3
全局视图设置隔离模式:
[SW1]port-isolate mode ?
  all  All
  l2   L2 only       默认是L2

::: warning 如果默认使用L2隔离,SW1上配置ARP代理和网关,仍可以通过三层进行访问:

[SW1-Vlanif1]ip ad 192.168.1.254 24
[SW1-Vlanif1]arp-proxy inner-sub-vlan-proxy enable

二层安全 三层通信时,PC1访问PC2时,先访问SW1的vlanif 1接口,再访问SW2的GE0/0/2接口,再访问PC2。 :::


MAC地址表安全

二层安全

二层安全 起始时SW2的MAC地址表项为空,PC4访问PC5后出现表项: 二层安全

配置静态MAC地址:

[SW2]mac-address static 5489-9866-6666 GigabitEthernet 0/0/3 vlan 1

配置静态MAC地址表项后,MAC地址表中出现该表项: 二层安全 ::: tip 静态MAC地址匹配的是源MAC,和静态表项的接口、VLAN是对应的。 :::

配置黑洞MAC地址:

[SW2]mac-address blackhole 5489-9811-1111

黑洞MAC不需要匹配接口和vlan,无论收到的数据包的源目MAC与黑洞MAC一致,该数据包都会被丢弃。 配置黑洞MAC地址表项后,MAC地址表中出现该表项: 二层安全 ::: warning 黑洞MAC配置时,最后可以选择是否指定vlan内生效,如果不指定vlan,即为全局黑洞MAC,指定vlan后,即为该vlan内的黑洞MAC。 (不加vlan时ENSP无法实现数据包丢弃,针对单独vlan的黑洞路由配置可以生效。) :::

[SW2]mac-address aging-time 10       将动态MAC地址表项老化时间设置为10s

限制动态MAC地址学习数量

[SW2]mac-address aging-time 300       将动态MAC地址表项老化时间恢复默认300s

二层安全

[SW2-GigabitEthernet0/0/1]mac-limit maximum 3     
接口下做动态MAC学习的数量限制(不包括静态MAC学习),超出的MAC地址默认情况下按照未知单播帧进行转发

上述拓扑中将PC4的MAC地址修改为44、45、46、47后,分别使用4个MAC地址ping 192.168.1.1,在SW2上学习动态MAC表项如下: 二层安全做了MAC学习的数量限制后,超出的MAC地址不会记录在MAC地址表项中。

[Huawei-GigabitEthernet0/0/1] mac-limit action { discard | forward }   
MAC地址数达到限制后,对报文应采取的动作,默认丢弃(ENSP中没有该命令)

禁止MAC地址学习

[SW2-GigabitEthernet0/0/2]mac-address learning disable     设置该接口不学习动态MAC地址

::: tip 交换机不学习动态MAC仍可以通过未知单播帧进行泛洪转发数据包。 服务器多bound时可以设置禁止MAC地址学习,使得可以数据包只根据静态MAC地址转发。 :::

禁止MAC地址学习分为基于接口和基于vlan:
[SW2-GigabitEthernet0/0/2]mac-address learning disable action ?
  discard  Discard packets
  forward  Forward packets

[SW2-vlan2] mac-address learning disable

action参数针对指定二层接口不需要学习MAC地址情况下,配置报文是否需要转发。 默认禁止MAC地址学习功能后,接口采取的动作是forward转发。 当动作配置为forward时,若MAC地址表中有匹配表项,即按照MAC表进行转发;若无匹配表项,即广播报文。 当动作配置为discard时,若MAC地址表中有匹配表项,即按照MAC表进行转发;若无匹配表项,则丢弃该报文。

配置静态MAC,禁止MAC地址学习和丢弃动作可以增强网络的稳定性和安全性。 VLAN视图和网桥组视图下不支持丢弃或转发动作的配置。


端口安全

背景是企业需要限制交换机接入的设备数量,如一个交换机端口只允许一个MAC地址接入,为防止MAC地址漂移,还需要对接口和MAC地址进行绑定。 端口安全通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC,安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。 安全MAC地址: 二层安全 安全动态MAC地址和Sticky(粘性) MAC地址可以与配置接口下maximum limit 1配合使用,即防止使用hub分时间将多台设备接入交换机。 二层安全

[SW3-GigabitEthernet0/0/1]port-security enable     使能端口安全功能
[SW3-GigabitEthernet0/0/1]port-security mac-address sticky    使能端口Sticky MAC功能

PC7访问PC8产生动态MAC地址表项后,将PC7的MAC地址做更改再次访问PC8,会提示接口上MAC地址数达到限制: 二层安全

[SW3-GigabitEthernet0/0/1]port-security enable 
[SW3-GigabitEthernet0/0/1]port-security mac-address sticky

[SW3-GigabitEthernet0/0/2]port-security enable 

[SW3-GigabitEthernet0/0/3]port-security enable 
[SW3-GigabitEthernet0/0/3]port-security mac-address sticky
[SW3-GigabitEthernet0/0/3]port-security mac-address sticky 5489-9899-9999 vlan 1      手动配置sticky-mac表项

SW3上做如上配置后,GE0/0/1、2通过PC7和PC8通过相互访问将MAC写入地址表,GE0/0/3通过端口直接配置将PC9的MAC写入地址表: 二层安全

端口上学习MAC的数量限制可以通过如下命令更改:
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num ?    配置端口安全动态MAC学习限制数量(范围1-4096,默认为1)
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number    配置Sticky后端口Sticky MAC学习限制数量(默认为1)
如果将限制数量改成多个,就允许多个MAC地址表项接入同一个端口

配置接口学习到的安全动态MAC地址的老化时间:
[Huawei-GigabitEthernet0/0/1] port-security aging-time time     (可选,单位为分钟,默认不老化)

[Huawei-GigabitEthernet0/0/1] port-security protect-action { protect | restrict | shutdown }     配置端口安全保护动作(可选)
收到没有表项对应的MAC地址即进行如下操作:
   Restrict:丢弃源MAC地址不存在的报文并上报告警。
   Protect:只丢弃源MAC地址不存在的报文,不上报告警。
   Shutdown:接口状态被置为error-down,并上报告警。

MAC地址漂移

防止MAC地址漂移的两种做法:
[Huawei-GigabitEthernet0/0/1]mac-learning priority 1    设置接口学习MAC地址的优先级(默认为0越大越优)

[Huawei-GigabitEthernet0/0/1]undo mac-learning priority 0 allow-flapping    优先级相同时后学到的不覆盖原有表项
默认允许相同优先级的接口发生MAC地址漂移

MAC地址漂移检测可以在VLAN和全局下做。

[Huawei-vlan2] mac-address flapping detection    配置MAC地址漂移检测
默认已经对交换机上所有VLAN配置了MAC地址漂移检测


配置发生漂移后接口的处理动作:
[Huawei-GigabitEthernet0/0/1] mac-address flapping    
    quit-vlan    接口退出valn
    error-down    接口shutdown

端口shutdown后在设置时间(500s)内恢复up:
[Huawei]error-down auto-recovery cause mac-address-flapping interval 500

接口GE0/0/1收到的广播报文进行风暴控制:
[Huawei-GigabitEthernet0/0/1] storm-control broadcast min-rate 1024 nax-rate 2048
上述命令表示当报文平均速率大于1024pps时进行风暴控制,当报文平均速率小于2048pps时恢复正常转发。

报文平均速率超出最大值时阻塞接口:
[Huawei-GigabitEthernet0/0/1] storm-control action block

使能接口状态自动恢复为UP的功能,并设置接口自动恢复为UP的延时时间:
[Huawei-GigabitEthernet0/0/1] error-down auto-recovery cause storm-control interval interval-value

DHCP Snooping

DHCP Snooping是DHCP用于保证客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击。

DHCP Snooping信任功能

DHCP Snooping信任功能将接口分为信任接口和非信任接口:

  • 信任接口正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文。
  • 非信任接口在接收到DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文后,丢弃该报文。 二层安全 一般将与合法DHCP服务器直接或间接连接的接口设置为信任接口(if1接口),其他接口设置为非信任接口(if2接口),DHCP客户端的DHCP请求报文仅能从信任接口转发出去,防止有DHCP Server仿冒者。

DHCP Snooping绑定表

在二层接入设备使能DHCP Snooping功能后通过信任接口将终端和DHCP服务器报文交互的过程中,二层接入设备可以获取PC的MAC地址以及获取到的IP地址、地址租期,获取与PC连接的使能了DHCP Snooping功能的接口信息(接口编号和该接口所属VLAN),根据这些信息生成DHCP Snooping绑定表。 二层安全 ::: tip DHCP Snooping功能需应用于二层网络中的接入设备或第一个DHCP Relay上。 在DHCP中继使能DHCP Snooping场景中,DHCP Relay设备不需要设置信任接口。 (因为DHCP Relay收到DHCP请求报文后进行源目的IP、MAC转换处理,然后以单播形式发送给指定的合法DHCP服务器) ::: 二层安全

[AR1]dhcp enable
[AR1-GigabitEthernet0/0/0]ip address 10.1.12.1 255.255.255.0 
[AR1-GigabitEthernet0/0/0]dhcp select interface 

上述配置PC获取到DHCP服务器下发的网络配置: 二层安全 AR2也做类似配置后,PC>ipconfig /release、PC>ipconfig /renew,PC有一半的概率获取到AR2下发的网关为10.1.12.2的网络信息。但是AR2下发的网络信息无法上网。需要在交换机上做DHCP snooping功能:

[SW4]dhcp enable
[SW4]dhcp snooping enable ipv4      全局开启dhcp snooping(不加vlan),ipv4表示针对IP v4
[SW4-GigabitEthernet0/0/1]dhcp enable    接口开启dhcp snooping
[SW4-GigabitEthernet0/0/1]dhcp snooping trusted      设置信任接口
[SW4-GigabitEthernet0/0/2]dhcp enable

设置信任接口后,即使SW4-GE0/0/1接口的线缆断开连接,PC也不会从GE0/0/2口连接的AR2获取网络信息。 ::: tip 所有接口默认都非信任接口。 ::: 查看DHCP Snooping绑定表信息: 二层安全

DHCP服务是一种静默服务,容易受到网络攻击。
1.DHCP server饿死攻击:
   1.网络中大量的攻击者,发送request报文获取server的地址参数。
      解决方法:
      dhcp snooping max-user-number命令用来配置接口允许学习的DHCP Snooping绑定表项的最大个数。
   2.网络中的一个攻击者,不断改变dhcp报文中chaddr字段,模拟大量的终端用户获取IP地址。
      解决方法:
      dhcp snooping check dhcp-chaddr enable命令用来使能检测DHCP Request报文帧头源MAC地址与CHADDR字段是否相同的功能。
2.DHCP报文攻击:
  攻击者不断发送大量的DHCP报文,消耗服务器的处理性能。
   解决方法:
   dhcp snooping check dhcp-rate命令用来配置DHCP报文上送DHCP报文处理单元的最大允许速率。
3.DHCP server仿冒攻击:
   攻击者模拟DHCP server发送不可上网的网络参数。
    解决方法:信任接口。
4.DHCP request、release报文攻击:
   攻击者模拟终端发送request续租地址或者发送release释放地址,导致合法用户掉线或server无地址分配。
    解决方法:
    dhcp snooping check dhcp-rate enable 命令用来配置DHCP报文上送DHCP报文处理单元的最大允许速率。
    dhcp snooping check dhcp-rate 50     设置速率为50,默认值为100
点赞
收藏
评论区
推荐文章

暂无数据

似梦清欢
似梦清欢
Lv1
学海无涯
文章
17
粉丝
17
获赞
1