MAC安全以及端口安全技术

322 阅读5分钟

基于MAC的攻击:MAC地址泛洪和欺骗

  1. mac地址泛洪是通过大量虚假mac爆破mac表的形式 使交换机mac表项达到最大值 然后覆盖掉真实mac 从而达到攻击的目的
  2. mac地址欺骗是通过伪造的mac地址报文来欺骗交换机。这种攻击会导致交换机的mac表记录与真实的主机mac地址不一致,使得交换机错误地将网络流量转发给攻击者

MAC地址表项分类

类型备注
动态表项通过对帧的源mac进行学习而来,有老化时间 300s
静态表项由管理员手动配置,不会老化
黑洞表项丢弃特定源mac或目的mac,不会老化
  • 静态和黑洞表项不会被动态表项覆盖,而动态表项可以被静态和黑洞表项覆盖

MAC地址表安全功能

功能备注
禁止mac地址学习功能可以限制非信任用户接入
限制mac地址学习数量可防止变化mac地址攻击
端口安全可阻止其他非信任的主机通过本端口与设备通信
mac-spoofing-defend一个端口学习到的mac不会再其他端口上学习
mac地址防飘移对于固定的上行设备,通过提高端口优先级,可防止伪造mac地址攻击
mac地址飘移检测功能减少网络环路对设备的影响
丢弃全0非法mac地址报文网络中一些主机和设备发生故障时,会发送源或目的mac全0的报文
mac地址刷新arp功能mac地址表项的端口发生变化时,及时更新arp表项

MAC地址表特性参数

特性默认值
动态mac地址表项老化时间300s
mac地址学习开启
端口mac地址优先级0
端口安全功能关闭
端口安全mac地址学习限制数量1
端口安全的保护动作restrict
mac地址漂移表项老化时间300s
丢弃全0非法mac地址报文关闭
收到全0非法mac地址mac地址报文告警关闭
mac刷新arp功能关闭

MAC安全特性配置

mac-address static 0000-1111-2222 G0/0/1 vlan 10    // 添加静态mac地址表项
mac-address blackhole 0001-0001-0001                // 添加黑洞mac地址表项
mac-adress aging-time 60                            // 配置老化时间

// 禁止mac地址学习功能 可在端口和VLAN下配置 VLAN下只有forword
mac-address learning disable       // discard 根据目的mac匹配情况,有则转发,无则丢弃 forward 直接转发[默认]

mac-limit maximum 500              // 限制端口mac地址学习数量 可在端口和vlan下配置 超过的mac不会覆盖原有mac

mac-limit alarm enable/disable     // 配置告警
drop illegal-mac enable            // 丢弃全0非法mac地址报文功能

mac-address update arp             // 配置mac刷新arp功能   [mac地址老化快于arp表项 配置此项解决表项不同步导致网络中断问题]

display mac-address summary        // 查看mac地址表汇总表项

Port Security端口安全技术

  • 限制mac的数量
  • 限制mac的内容
  • 将学习到的动态mac地址转换为安全mac地址(包括安全动态mac、安全静态mac和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性
类型备注
安全动态mac地址设备重启后表项会丢失,需要重新学习,默认不会被老化,只有配置老化时间后才会老化
安全静态不会被老化,手动保存配置后重启设备不会丢弃 [原有静态mac转换为安全静态mac]
Sticky MAC地址不会被老化,手动保存配置后重启设备不会丢失 [手动配置的安全mac]

图片.png

shutdown 检测到非法流量直接关闭接口 restrict检测到非法流量丢弃发送告警 protect检测到非法流量丢弃

端口安全配置

华为配置

port-security enable                        // 开启端口安全
port-security protect-action {protect|shutdown|restric}    // 配置保护动作
port-security max-mac-num 10               // 配置mac地址学习限制数量
port-security aging-time 10                // 配置老化时间
port-security mac-address sticky           // 配置粘性mac功能,把动态学习到的mac转换为静态mac
display mac-address security               // 查看安全动态mac表项

华三配置

# 允许同时接入的最大MAC地址数
port-security mac-limit 10

# 配置入侵检测特性[保护动作]
port-security intrusion-mode {blockmac|disableport|disableport-temporarily}

# 配置mac阻塞时间 与blockmac搭配使用
port-security timer blockmac 10

# 配置关闭端口时间  与disableport-temporarily搭配使用
port-security timer disableport 10

# 配置安全MAC地址的老化方式为无流量老化
port-security mac-address aging-type inactivity
保护模式[必选]

图片.png

安全模式

图片.png

MAC地址防漂移

现象

一个接口学习的mac在同一个VLAN内其他接口上也能学习到

  • 主要原因
    • 环路 [网络故障]
    • 伪造 [网络攻击]
    • VRRP [正常]
    • 无线AP漫游 [正常]

方案一 mac-learning priority 调整接口优先级

mac-learning priority 2        // 配置接口优先级,高优先级覆盖低优先级[默认0]
undo mac-learning priority 2 allow-flapping     // 不允许相同优先级发生漂移
mac-adress flapping trigger/action {quit-vlan | err-down}  // 一旦漂移触发的动作
display mac-address flapping record          // 查看漂移记录

方案二 MAC-Spoofing-Defend 配置信任端口来防止mac地址漂移

mac-spoofing-defend enable       // 开启功能 全局模式
mac-spoofing-defend enable       // 配置信任端口 接口模式

端口安全配置实验

图片.png

port-security timer autolearn aging 30   // 设置安全MAC地址的老化时间为30分钟
interface GigabitEthernet1/0/1
 port-security intrusion-mode blockmac  // 配置入侵检测模式为blockmac
 port-security mac-address dynamic      // 配置动态安全mac地址
 port-security mac-address aging-type inactivity  // 配置无流量老化
 port-security max-mac-count 10         // 最大安全mac数量
 port-security port-mode autolearn      // 安全模式为autolearn
 port-security mac-address security sticky 84a9-386e-0a8a vlan 1

图片.png

图片.png