05-端口安全配置
本章节下载: 05-端口安全配置 (294.86 KB)
目 录
端口安全在端口上为使用不同认证方式的用户提供基于MAC地址的网络接入控制。
· 通过检测端口收到的数据帧中的源MAC地址来控制非授权设备或主机对网络的访问。
· 通过检测从端口发出的数据帧中的目的MAC地址来控制对非授权设备的访问。
· 通过定义各种端口安全模式,控制端口上的MAC地址学习或定义端口上的组合认证方式,让设备学习到合法的源MAC地址,以达到相应的网络管理效果。
Need To Know特性通过检测从端口发出的数据帧的目的MAC地址,保证数据帧只能被发送到已经通过认证或被端口学习到的MAC所属的设备或主机上,从而防止非法设备窃听网络数据。
入侵检测特性对端口接收到的数据帧进行检测,源MAC地址未被端口学习到的报文或未通过认证的报文,被认为是非法报文,如果发现非法报文,则对接收非法报文的端口采取相应的安全策略,包括端口被暂时断开连接、永久断开连接或MAC地址被过滤(默认3分钟,不可配),以保证端口的安全性。
设备支持基于MAC学习类的端口安全模式。该模式无需认证,包括端口自动学习MAC地址和禁止MAC地址学习两种模式。
配置了安全模式的端口上收到用户报文后,首先查找MAC地址表,如果该报文的源MAC地址已经存在于MAC地址表中,则端口转发该报文,否则根据端口所采用的安全模式进行MAC地址学习或者触发相应的认证,并在发现非法报文后触发端口执行相应的安全防护措施(Need To Know、入侵检测)或发送Trap告警。缺省情况下,端口出方向的报文转发不受端口安全限制,若触发了端口Need To Know,则才受相应限制。关于各模式的具体工作机制,以及是否触发Need To Know、入侵检测的具体情况请参见表1-1。
端口安全采用方式 |
安全模式 |
触发的安全防护措施 |
关闭端口安全特性 |
noRestrictions(缺省情况) 表示端口的安全功能关闭,端口处于无限制状态 |
无 |
autoLearn |
NTK/入侵检测 |
|
secure |
· autoLearn
该模式下,端口不会将自动学习到的MAC地址添加为MAC地址表中的动态MAC地址,而是将这些地址添加到安全MAC地址表中,称之为安全MAC地址。也可以通过port-security mac-address security命令手工配置端口下的安全MAC地址。
只有源MAC地址为安全MAC地址、通过命令mac-address dynamic或mac-address static手工配置的MAC地址的报文,才能通过该端口。当端口下的安全MAC地址数超过端口安全允许学习的最大安全MAC地址数后,端口模式会自动转变为secure模式。之后,该端口停止添加新的安全MAC。
· secure
该模式下,禁止端口学习MAC地址,只有源MAC地址为端口上的安全MAC地址、通过命令mac-address dynamic或mac-address static手工配置的MAC地址的报文,才能通过该端口。有关MAC地址的详细配置,请参见“二层技术-以太网交换”中的“MAC地址表”。
由于端口安全特性通过多种安全模式提供了802.1X和MAC地址认证的扩展和组合应用,因此在需要灵活使用以上两种认证方式的组网环境下,推荐使用端口安全特性。无特殊组网要求的情况下,无线环境中通常使用端口安全特性。而在仅需要802.1X、MAC地址认证特性来完成接入控制的组网环境下,推荐单独使用相关特性。关于802.1X、MAC地址认证特性的详细介绍和具体配置请参见“WLAN用户接入认证配置指导”中的“802.1X”、“MAC地址认证”。
(1) 配置端口安全基本功能
¡ 使能端口安全
¡ 配置端口安全模式
¡ (可选)配置Need To Know特性
¡ (可选)配置入侵检测特性
(2) (可选)配置端口安全扩展功能
以上端口安全扩展功能,在未使能端口安全,但开启802.1X或MAC地址认证功能的情况下也适用。
(3) (可选)配置端口安全告警功能
可以通过undo port-security enable命令关闭端口安全。但需要注意的是,在端口上有用户在线的情况下,关闭端口会导致在线用户下线。
在使能端口安全之前,需要关闭全局的802.1X和MAC地址认证。
(1) 进入系统视图。
system-view
(2) 使能端口安全。
port-security enable
缺省情况下,端口安全功能处于关闭状态。
· 在端口安全未使能的情况下,端口安全模式可以进行配置但不会生效。
· 端口上有用户在线的情况下,改变端口的安全模式会导致在线用户会下线。
· 当端口安全已经使能且当前端口安全模式不是noRestrictions时,若要改变端口安全模式,必须首先执行undo port-security port-mode命令恢复端口安全模式为noRestrictions模式。
在配置端口安全模式之前,端口上首先需要满足以下条件:
· 802.1X认证关闭。
· MAC地址认证关闭。
· 对于autoLearn模式,还需要提前设置端口安全允许的最大安全MAC地址数。但是如果端口已经工作在autoLearn模式下,则无法更改端口安全允许的最大安全MAC地址数。
(1) 进入系统视图。
system-view
(2) (可选)配置允许通过认证的用户OUI值。
port-security oui index index-value mac-address oui-value
缺省情况下,不存在允许通过认证的用户OUI值。
(3) 进入接口视图。
interface interface-type interface-number
(4) 配置端口的安全模式。
port-security port-mode { autolearn | secure }
缺省情况下,端口处于noRestrictions模式。
端口安全允许某个端口下有多个用户接入,但是允许的用户数不能超过规定的最大值。
配置端口允许的最大安全MAC地址数有两个作用:
· 控制端口允许接入网络的最大用户数。
· 控制autoLearn模式下端口能够添加的最大安全MAC地址数。
端口安全允许的最大安全MAC地址数与“网络互通配置指导/MAC地址表”中配置的端口最多可以学习到的MAC地址数无关,且不受其影响。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口安全允许的最大安全MAC地址数。
port-security max-mac-count max-count
缺省情况下,端口安全不限制本端口可保存的最大安全MAC地址数。
安全MAC地址是一种特殊的MAC地址,保存配置后重启设备,不会丢失。在同一个VLAN内,一个安全MAC地址只能被添加到一个端口上。
安全MAC地址可以通过以下两种途径生成:
· 由autoLearn安全模式下的使能端口安全功能的端口自动学习。
· 通过命令行手动添加。
缺省情况下,所有的安全MAC地址均不老化,除非被管理员通过命令行手工删除,或因为配置的改变(端口的安全模式被改变,或端口安全功能被关闭)而被系统自动删除。
表1-2 安全MAC地址相关属性列表
类型 |
生成方式 |
配置保存机制 |
老化机制 |
静态 |
手工添加 |
安全MAC地址在保存配置文件并重启设备后,仍然存在 |
不老化 |
当端口下的安全MAC地址数目超过端口允许学习的最大安全MAC地址数后,端口安全模式变为secure模式。该模式下,禁止端口学习MAC地址,只有源MAC地址为端口上的安全MAC地址或通过命令mac-address dynamic或mac-address static手工配置的MAC地址的报文,才能通过该端口。
在配置安全MAC地址之前,需要完成以下配置任务:
· 设置端口安全允许的最大MAC地址数。
· 配置端口安全模式为autoLearn。
· 当前的接口必须允许指定的VLAN通过或已加入该VLAN,且该VLAN已存在。
(1) 进入系统视图。
system-view
(2) 在系统视图或接口视图下配置安全MAC地址。
¡ 在系统视图下配置安全MAC地址。
port-security mac-address security mac-address interface interface-type interface-number vlan vlan-id
¡ 依次执行以下命令在接口视图下配置安全MAC地址。
interface interface-type interface-number
port-security mac-address security mac-address vlan vlan-id
缺省情况下,未配置安全MAC地址。
Need To Know特性用来限制认证端口上出方向的报文转发,可支持的限制方式如下:
· ntkonly:仅允许目的MAC地址为已通过认证的MAC地址的单播报文通过。
· ntk-withbroadcasts:允许目的MAC地址为已通过认证的MAC地址的单播报文或广播地址的报文通过。
· ntk-withmulticasts:允许目的MAC地址为已通过认证的MAC地址的单播报文,广播地址或组播地址的报文通过。
配置了Need To Know的端口在以上任何一种方式下都不允许目的MAC地址未知的单播报文通过。
Need To Know特性的配置生效情况与设备的型号有关,请以设备的实际情况为准。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口Need To Know特性。
port-security ntk-mode { ntk-withbroadcasts | ntk-withmulticasts | ntkonly }
缺省情况下,端口没有配置Need To Know特性,即所有报文都可成功发送。
当设备检测到一个非法的用户通过端口试图访问网络时,入侵检测特性用于配置设备可能对其采取的安全措施,包括以下三种方式:
· blockmac:表示将非法报文的源MAC地址加入阻塞MAC地址列表中,源MAC地址为阻塞MAC地址的报文将被丢弃。此MAC地址在被阻塞3分钟(系统默认,不可配)后恢复正常。
· disableport:表示将收到非法报文的端口永久关闭。
· disableport-temporarily:表示将收到非法报文的端口暂时关闭一段时间。关闭时长可通过port-security timer disableport命令配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置入侵检测特性 。
port-security intrusion-mode { blockmac | disableport | disableport-temporarily }
缺省情况下,不进行入侵检测处理。
(4) (可选)依次执行以下命令配置系统暂时关闭端口的时间。
quit
port-security timer disableport time-value
缺省情况下,系统暂时关闭端口的时间为20秒。
用户通过本地认证或RADIUS认证时,本地设备或远程RADIUS服务器会把授权信息下发给用户。通过此配置可实现端口是否忽略这类下发的授权信息。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置当前端口不应用RADIUS服务器或设备本地下发的授权信息。
port-security authorization ignore
缺省情况下,端口应用RADIUS服务器或设备本地下发的授权信息。
接口上开启授权失败用户下线功能后,当服务器下发的授权信息(目前仅支持ACL、User Profile)在设备上不存在或者设备下发授权信息失败时,设备将强制用户下线。该功能用于配合服务器上的用户授权控制策略,它仅允许接口上成功下发了授权信息的用户在线。
对于授权VLAN失败的情况,设备会直接让用户下线,与此功能无关。
(1) 进入系统视图。
system-view
(2) 开启授权失败用户下线功能。
port-security authorization-fail offline
缺省情况下,授权失败用户下线功能处于关闭状态,即授权失败后用户保持在线。
用户的接入VLAN可标识用户的接入位置,而在某些应用环境中,网络运营商需要使用接入设备发送给RADIUS服务器的NAS-Identifier属性值来标识用户的接入位置,因此接入设备上需要建立用户接入VLAN与指定的NAS-ID之间的绑定关系。这样,当用户上线时,设备会将与用户接入VLAN匹配的NAS-ID填充在RADIUS请求报文中的NAS-Identifier属性中发送给RADIUS服务器。
NAS-ID Profile可以在系统视图下或者接口视图下进行配置,接口上的配置优先,若接口上没有配置,则使用系统视图下的全局配置。
如果指定了NAS-ID Profile,则此Profile中定义的绑定关系优先使用;如果未指定NAS-ID Profile或指定的Profile中没有找到匹配的绑定关系,则使用设备名作为NAS-ID。
NAS-ID与VLAN的绑定关系的配置请参考“用户接入与认证配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 在系统视图或接口视图下指定引用的NAS-ID Profile。
¡ 系统视图下指定引用的NAS-ID Profile。
port-security nas-id-profile profile-name
¡ 依次执行以下命令在接口视图下指定引用的NAS-ID Profile。
interface interface-type interface-number
port-security nas-id-profile profile-name
缺省情况下,未指定引用的NAS-ID Profile。
开启端口安全告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 打开指定告警信息的开关。
snmp-agent trap enable port-security [ address-learned | intrusion ] *
缺省情况下,所有告警信息的开关处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后端口安全的运行情况,通过查看显示信息验证配置的效果。
操作 |
命令 |
显示端口安全的配置信息、运行情况和统计信息 |
display port-security [ interface interface-type interface-number ] |
显示安全MAC地址信息 |
display port-security mac-address security [ interface interface-type interface-number ] [ vlan vlan-id ] [ count ] |
显示阻塞MAC地址信息 |
display port-security mac-address block [ interface interface-type interface-number ] [ vlan vlan-id ] [ count ] |
在Device的端口GigabitEthernet1/0/1上对接入用户做如下的限制:
· 允许64个用户自由接入,不进行认证,将学习到的用户MAC地址添加为Sticky MAC地址,老化时间为30分钟;
· 当安全MAC地址数量达到64后,停止学习;当再有新的MAC地址接入时,触发入侵检测,并将此端口关闭30秒。
图1-1 端口安全autoLearn模式组网图
# 使能端口安全。
<Device> system-view
[Device] port-security enable
# 设置安全MAC地址的老化时间为30分钟。
[Device] port-security timer autolearn aging 30
# 设置端口安全允许的最大安全MAC地址数为64。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] port-security max-mac-count 64
# 设置端口安全模式为autoLearn。
[Device-GigabitEthernet1/0/1] port-security port-mode autolearn
# 设置触发入侵检测特性后的保护动作为暂时关闭端口,关闭时间为30秒。
[Device-GigabitEthernet1/0/1] port-security intrusion-mode disableport-temporarily
[Device-GigabitEthernet1/0/1] quit
[Device] port-security timer disableport 30
上述配置完成后,可以使用如下显示命令查看端口安全的配置情况。
[Device] display port-security interface gigabitethernet 1/0/1
Global port security parameters:
Port security : Enabled
AutoLearn aging time : 30 min
Disableport timeout : 30 s
MAC move : Denied
Authorization fail : Online
NAS-ID profile : Not configured
Dot1x-failure trap : Disabled
Dot1x-logon trap : Disabled
Dot1x-logoff trap : Disabled
Intrusion trap : Disabled
Address-learned trap : Disabled
Mac-auth-failure trap : Disabled
Mac-auth-logon trap : Disabled
Mac-auth-logoff trap : Disabled
OUI value list :
Index : 1 Value : 123401
GigabitEthernet1/0/1 is link-up
Port mode : autoLearn
NeedToKnow mode : Disabled
Intrusion protection mode : DisablePortTemporarily
Security MAC address attribute
Learning mode : Sticky
Aging type : Periodical
Max secure MAC addresses : 64
Current secure MAC addresses : 0
Authorization : Permitted
NAS-ID profile : Not configured
可以看到端口安全所允许的最大安全MAC地址数为64,端口模式为autoLearn,入侵检测保护动作为DisablePortTemporarily,入侵发生后端口被禁用时间为30秒。
配置生效后,端口允许地址学习,学习到的MAC地址数可在上述显示信息的“Current secure MAC addresses”字段查看到,具体的MAC地址信息可以在接口视图下用display this命令查看。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] display this
#
interface GigabitEthernet1/0/1
port link-mode bridge
port-security max-mac-count 64
port-security port-mode autolearn
port-security mac-address security sticky 0002-0000-0015 vlan 1
port-security mac-address security sticky 0002-0000-0014 vlan 1
port-security mac-address security sticky 0002-0000-0013 vlan 1
port-security mac-address security sticky 0002-0000-0012 vlan 1
port-security mac-address security sticky 0002-0000-0011 vlan 1
#
当学习到的MAC地址数达到64后,用命令display port-security interface可以看到端口模式变为secure,再有新的MAC地址到达将触发入侵保护,可以通过命令display interface看到此端口关闭。30秒后,端口状态恢复。此时,如果手动删除几条安全MAC地址后,端口安全的状态重新恢复为autoLearn,可以继续学习MAC地址。
无法设置端口的端口安全模式。
在当前端口的端口安全模式已配置的情况下,无法直接对端口安全模式进行设置。
首先设置端口安全模式为noRestrictions状态,再设置新的端口安全模式。
[Device-GigabitEthernet1/0/1] undo port-security port-mode
[Device-GigabitEthernet1/0/1] port-security port-mode autolearn
无法配置安全MAC地址。
端口安全模式为非autoLearn时,不能对安全MAC地址进行设置。
设置端口安全模式为autoLearn状态。
[Device-GigabitEthernet1/0/1] undo port-security port-mode
[Device-GigabitEthernet1/0/1] port-security max-mac-count 64
[Device-GigabitEthernet1/0/1] port-security port-mode autolearn
[Device-GigabitEthernet1/0/1] port-security mac-address security 1-1-2 vlan 1
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!