05-端口安全配置
本章节下载: 05-端口安全配置 (249.56 KB)
端口安全是一种基于MAC地址对网络接入进行控制的安全机制,是对已有的802.1X认证和MAC地址认证的扩充。这种机制通过检测端口收到的数据帧中的源MAC地址来控制非授权设备或主机对网络的访问,通过检测从端口发出的数据帧中的目的MAC地址来控制对非授权设备的访问。
端口安全的主要功能是通过定义各种端口安全模式,让设备学习到合法的源MAC地址,以达到相应的网络管理效果。启动了端口安全功能之后,当发现非法报文时,系统将触发相应特性,并按照预先指定的方式进行处理,既方便用户的管理又提高了系统的安全性。这里的非法报文是指:
· MAC地址未被端口学习到的用户报文;
· 未通过认证的用户报文。
由于端口安全特性通过多种安全模式提供了802.1X和MAC地址认证的扩展和组合应用,因此在需要灵活使用以上两种认证方式的组网环境下,推荐使用端口安全特性。无特殊组网要求的情况下,无线环境中通常使用端口安全特性。而在仅需要802.1X、MAC地址认证特性来完成接入控制的组网环境下,推荐单独使用相关特性。关于802.1X、MAC地址认证特性的详细介绍和具体配置请参见“安全配置指导”中的“802.1X”、“MAC地址认证”。
Need To Know特性通过检测从端口发出的数据帧的目的MAC地址,保证数据帧只能被发送到已经通过认证或被端口学习到的MAC所属的设备或主机上,从而防止非法设备窃听网络数据。
入侵检测特性指通过检测从端口收到的数据帧的源MAC地址,对接收非法报文的端口采取相应的安全策略,包括端口被暂时断开连接、永久断开连接或MAC地址被过滤(默认3分钟,不可配),以保证端口的安全性。
端口安全模式可大致分为两大类:控制MAC学习类和认证类。
· 控制MAC学习类:无需认证,包括端口自动学习MAC地址和禁止MAC地址学习两种模式。
· 认证类:利用MAC地址认证和802.1X认证机制来实现,包括单独认证和组合认证等多种模式。
配置了安全模式的端口上收到用户报文后,首先查找MAC地址表,如果该报文的源MAC地址已经存在于MAC地址表中,则端口转发该报文,否则根据端口所采用的安全模式进行相应的处理,并在发现非法报文后触发端口执行相应的安全防护措施(Need To Know、入侵检测)或发送Trap告警。缺省情况下,端口出方向的报文转发不受端口安全限制,若触发了端口Need To Know,则才受相应限制。关于各模式的具体工作机制,以及是否触发Need To Know、入侵检测的具体情况请参见表1-1。
安全模式 |
工作机制 |
NTK/入侵检测 |
||
缺省情况 |
noRestrictions |
表示端口的安全功能关闭,端口处于无限制状态 |
无效 |
|
端口控制MAC地址学习 |
autoLearn |
端口可通过手工配置或自动学习MAC地址,这些地址将被添加到安全MAC地址表中,称之为安全MAC地址 当端口下的安全MAC地址数超过端口安全允许学习的最大安全MAC地址数后,端口模式会自动转变为secure模式。之后,该端口停止添加新的安全MAC,只有源MAC地址为安全MAC地址、通过命令mac-address dynamic或mac-address static手工配置的MAC地址的报文,才能通过该端口 该模式下,端口不会将自动学习到的MAC地址添加为MAC地址表中的动态MAC地址 |
可触发 |
|
secure |
禁止端口学习MAC地址,只有源MAC地址为端口上的安全MAC地址、手工配置的MAC地址的报文,才能通过该端口 |
|||
端口采用802.1X认证 |
userLogin |
对接入用户采用基于端口的802.1X认证 此模式下,端口下的第一个802.1X用户认证成功后,其它用户无须认证就可接入 |
无效 |
|
userLoginSecure |
对接入用户采用基于MAC地址的802.1X认证 此模式下,端口最多只允许一个802.1X认证用户接入 |
可触发 |
||
userLoginWithOUI |
该模式与userLoginSecure模式类似,但端口上除了允许一个802.1X认证用户接入之外,还额外允许一个特殊用户接入,该用户报文的源MAC的OUI与设备上配置的OUI值相符 此模式下,报文首先进行OUI匹配,OUI匹配失败的报文再进行802.1X认证,OUI匹配成功和802.1X认证成功的报文都允许通过端口 |
|||
userLoginSecureExt |
对接入用户采用基于MAC的802.1X认证,且允许端口下有多个802.1X用户 |
|||
端口采用MAC地址认证 |
macAddressWithRadius |
对接入用户采用MAC地址认证 此模式下,端口允许多个用户接入 |
可触发 |
|
端口采用802.1X和MAC地址认证组合认证 |
macAddressOrUserLoginSecure |
端口同时处于userLoginSecure模式和macAddressWithRadius模式,且允许一个802.1X认证用户及多个MAC地址认证用户接入 此模式下,802.1X认证优先级大于MAC地址认证:报文首先进行802.1X认证,如果802.1X认证失败再进行MAC地址认证 |
可触发 |
|
macAddressElseUserLoginSecure |
端口同时处于macAddressWithRadius模式和userLoginSecure模式,但MAC地址认证优先级大于802.1X认证。允许端口下一个802.1X认证用户及多个MAC地址认证用户接入 非802.1X报文直接进行MAC地址认证。802.1X报文先进行MAC地址认证,如果MAC地址认证失败再进行802.1X认证 |
|||
macAddressOrUserLoginSecureExt |
与macAddressOrUserLoginSecure类似,但允许端口下有多个802.1X和MAC地址认证用户 |
|||
macAddressElseUserLoginSecureExt |
与macAddressElseUserLoginSecure类似,但允许端口下有多个802.1X和MAC地址认证用户 |
|||
· 当多个用户通过认证时,端口下所允许的最大用户数与端口安全模式相关,取端口安全所允许的最大安全MAC地址数与相应模式下允许认证用户数的最小值。例如,userLoginSecureExt模式下,端口下所允许的最大用户为配置的端口安全所允许的最大安全MAC地址数与802.1X认证所允许的最大用户数的最小值。
· 手工配置MAC地址的具体介绍请参见“二层技术-以太网交换命令参考”中的“MAC地址表”。
由于安全模式种类较多,为便于记忆,部分端口安全模式的名称可按如下规则理解:
· “userLogin”表示基于端口的802.1X认证。userLogin之后,若携带“Secure”,则表示基于MAC地址的802.1X认证;若携带“Ext”,则示可允许多个802.1X用户认证成功,否则表示仅允许一个802.1X用户认证成功。
· “macAddress”表示MAC地址认证;
· “Else”之前的认证方式先被采用,失败后根据请求认证的报文协议类型决定是否转为“Else”之后的认证方式。
· “Or”之后的认证方式先被采用,失败后转为“Or”之前的认证方式。
表1-2 端口安全配置任务简介
配置任务 |
说明 |
详细配置 |
|
使能端口安全 |
必选 |
||
配置端口安全允许的最大安全MAC地址数 |
可选 |
||
配置端口安全模式 |
必选 |
||
配置端口安全的特性 |
配置Need To Know特性 |
根据实际组网需求选择其中一种或多种特性 |
|
配置入侵检测模式 |
|||
配置安全MAC地址 |
可选 |
||
配置当前端口不应用下发的授权信息 |
可选 |
||
配置允许MAC迁移功能 |
可选 |
||
配置授权失败用户下线功能 |
可选 |
||
配置NAS-ID Profile |
可选 |
||
配置Trap功能 |
可选 |
在使能端口安全之前,需要关闭全局的802.1X和MAC地址认证。
当端口安全处于使能状态时,不能开启端口上的802.1X以及MAC地址认证,且不能修改802.1X端口接入控制方式和端口授权状态,它们只能随端口安全模式的改变由系统更改。
表1-3 使能端口安全
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能端口安全 |
port-security enable |
缺省情况下,未开启端口安全功能 |
可以通过undo port-security enable命令关闭端口安全。但需要注意的是,在端口上有用户在线的情况下,关闭端口会导致在线用户会下线。
执行使能或关闭端口安全的命令后,端口上的如下配置会被自动恢复为以下缺省情况:
· 802.1X端口接入控制方式为macbased;
· 802.1X端口的授权状态为auto。
有关802.1X认证配置的详细介绍可参见“安全配置指导”中的“802.1X”。有关MAC地址认证配置的详细介绍可参见“安全配置指导”中的“MAC地址认证”。
端口安全允许某个端口下有多个用户接入,但是允许的用户数不能超过规定的最大值。
配置端口允许的最大安全MAC地址数有两个作用:
· 控制端口允许接入网络的最大用户数。对于采用802.1X、MAC地址认证或者两者组合形式的认证类安全模式,端口允许的最大用户数取本命令配置的值与相应模式下允许认证用户数的最小值;
· 控制autoLearn模式下端口能够添加的最大安全MAC地址数。
端口安全允许的最大安全MAC地址数与“二层技术-以太网交换配置指导/MAC地址表”中配置的端口最多可以学习到的MAC地址数无关,且不受其影响。
表1-4 配置端口安全允许的最大安全MAC地址数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口安全允许的最大安全MAC地址数 |
port-security max-mac-count max-count |
缺省情况下,端口安全不限制本端口可保存的最大安全MAC地址数 |
· 在端口安全未使能的情况下,端口安全模式可以进行配置但不会生效。
· 端口上有用户在线的情况下,改变端口的安全模式会导致在线用户会下线。
(1) 在配置端口安全模式之前,端口上首先需要满足以下条件:
· 802.1X认证关闭。
· MAC地址认证关闭。
· 端口未加入聚合组或业务环回组。
如果端口上已经配置了端口安全模式,则不允许开启802.1X认证和MAC地址认证。
(2) 对于autoLearn模式,还需要提前设置端口安全允许的最大安全MAC地址数。但是如果端口已经工作在autoLearn模式下,则无法更改端口安全允许的最大安全MAC地址数。
表1-5 配置端口安全安全模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)配置允许通过认证的用户OUI值 |
port-security oui index index-value mac-address oui-value |
该命令仅在配置userlogin-withoui安全模式时必选 缺省情况下,不存在允许通过认证的用户OUI值 允许通过认证的用户OUI值可以配置多个,但在端口安全模式为userLoginWithOUI时,端口除了可以允许一个802.1X的接入用户通过认证之外,仅允许一个与某OUI值匹配的用户通过认证 |
进入接口视图 |
interface interface-type interface-number |
· autoLearn模式只能在二层以太网接口下配置 · userloginWithOUI模式只能在二层以太网下配置 |
配置端口的安全模式 |
port-security port-mode { autolearn | mac-authentication | mac-else-userlogin-secure | mac-else-userlogin-secure-ext | secure | userlogin | userlogin-secure | userlogin-secure-ext | userlogin-secure-or-mac | userlogin-secure-or-mac-ext | userlogin-withoui } |
缺省情况下,端口处于noRestrictions模式 当端口安全已经使能且当前端口安全模式不是noRestrictions时,若要改变端口安全模式,必须首先执行undo port-security port-mode命令恢复端口安全模式为noRestrictions模式 |
OUI(Organizationally Unique Identifier,全球统一标识符)是MAC地址的前24位(二进制),是IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)为不同设备供应商分配的一个全球唯一的标识符。
Need To Know特性用来限制认证端口上出方向的报文转发,可支持以下三种限制方式:
· ntkonly:仅允许目的MAC地址为已通过认证的MAC地址的单播报文通过。
· ntk-withbroadcasts:允许目的MAC地址为已通过认证的MAC地址的单播报文或广播地址的报文通过。
· ntk-withmulticasts:允许目的MAC地址为已通过认证的MAC地址的单播报文,广播地址或组播地址的报文通过。
配置了Need To Know的端口在以上任何一种方式下都不允许目的MAC地址未知的单播报文通过。
并非所有的端口安全模式都支持Need To Know特性,配置时需要先了解各模式对此特性的支持情况,具体请参见表1-1。
表1-6 配置Need To Know特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置端口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-7 配置入侵检测特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置入侵检测特性 |
port-security intrusion-mode { blockmac | disableport | disableport-temporarily } |
缺省情况下,不进行入侵检测处理 |
退回系统视图 |
quit |
- |
(可选)配置系统暂时关闭端口的时间 |
port-security timer disableport time-value |
缺省情况下,系统暂时关闭端口的时间为20秒 |
macAddressElseUserLoginSecure或macAddressElseUserLoginSecureExt安全模式下工作的端口,对于同一个报文,只有MAC地址认证和802.1X认证均失败后,才会触发入侵检测特性。
安全MAC地址是一种特殊的MAC地址,保存配置后重启设备,不会丢失。在同一个VLAN内,一个安全MAC地址只能被添加到一个端口上。
安全MAC地址可以通过以下两种途径生成:
· 由autoLearn安全模式下的使能端口安全功能的端口自动学习。
· 通过命令行手动添加。
缺省情况下,所有的安全MAC地址均不老化,除非被管理员通过命令行手工删除,或因为配置的改变(端口的安全模式被改变,或端口安全功能被关闭)而被系统自动删除。但是,安全MAC地址不老化会带来一些问题:合法用户离开端口后,若有非法用户仿冒合法用户源MAC接入,会导致合法用户不能继续接入;虽然该合法用户已离开,但仍然占用端口MAC地址资源,而导致其它合法用户不能接入。因此,让某一类安全MAC地址能够定期老化,可提高端口接入的安全性和端口资源的利用率。
表1-8 安全MAC地址相关属性列表
类型 |
生成方式 |
配置保存机制 |
老化机制 |
静态 |
手工添加(未指定sticky关键字) |
安全MAC地址在保存配置文件并重启设备后,仍然存在 |
不老化 |
Sticky |
手工添加(指定sticky关键字),或端口自动学习 |
Sticky MAC地址在保存配置文件并重启设备后,仍然存在,且其老化定时器会重新开始计时 Sticky MAC地址可通过配置转换为动态类型的MAC地址。动态类型的安全MAC地址不能被保存在配置文件中,设备重启后会被丢失 |
支持两种老化机制: · 定时老化。若老化时间为0,则表示不老化(缺省) · 无流量老化。设备会定期检测(检测周期不可配)端口上的安全MAC地址是否有流量产生,若某安全MAC地址在配置的Sticky MAC地址老化时间内没有任何流量产生,则才会被老化 |
当端口下的安全MAC地址数目超过端口允许学习的最大安全MAC地址数后,该端口不会再添加新的安全MAC地址,仅接收并允许数据帧中的源MAC地址为以下两类MAC地址的报文访问网络设备:
· 安全MAC地址
· 通过命令mac-address dynamic或mac-address static配置的MAC地址
在配置安全MAC地址之前,需要完成以下配置任务:
· 使能端口安全功能
· 设置端口安全允许的最大MAC地址数
· 配置端口安全模式为autoLearn
· 当前的接口必须允许指定的VLAN通过或已加入该VLAN,且该VLAN已存在
表1-9 配置安全MAC地址
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
(可选)配置安全MAC地址的老化时间 |
port-security timer autolearn aging time-value |
缺省情况下,安全MAC地址不会老化 |
|
配置安全MAC地址 |
在系统视图下 |
port-security mac-address security [ sticky ] mac-address interface interface-type interface-number vlan vlan-id |
二者选其一 缺省情况下,未配置安全MAC地址 与相同VLAN绑定的同一个MAC地址不允许同时指定为静态类型的安全MAC地址和Sticky MAC地址 |
在接口视图下 |
interface interface-type interface-number |
||
port-security mac-address security [ sticky ] mac-address vlan vlan-id |
|||
进入接口视图 |
interface interface-type interface-number |
- |
|
(可选)配置安全地址的老化方式为无流量老化 |
port-security mac-address aging-type inactivity |
缺省情况下,安全MAC地址按照固定时间进行老化,即在配置的安全MAC地址的老化时间到达后立即老化 |
|
(可选)将Sticky MAC地址设置为动态类型的安全MAC地址 |
port-security mac-address dynamic |
缺省情况下,Sticky MAC地址能够被保存在配置文件中,设备重启后也不会丢失 |
802.1X用户或MAC地址认证用户通过本地认证或RADIUS认证时,本地设备或远程RADIUS服务器会把授权信息下发给用户。通过此配置可实现端口是否忽略这类下发的授权信息。
表1-10 配置当前端口不应用下发的授权信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置当前端口不应用RADIUS服务器或设备本地下发的授权信息 |
port-security authorization ignore |
缺省情况下,端口应用RADIUS服务器或设备本地下发的授权信息 |
允许MAC迁移功能是指,允许在线的802.1X用户或MAC地址认证用户移动到设备的其它端口上接入后可以重新认证上线。缺省情况下,如果用户从某一端口上线成功,则该用户在未从当前端口下线的情况下无法在设备的其它端口上(无论该端口是否与当前端口属于同一VLAN)发起认证,也无法上线。若开启了允许MAC地址迁移功能,则允许在线用户离开当前端口在设备的其它端口上(无论该端口是否与当前端口属于同一VLAN)发起认证。如果该用户在后接入的端口上认证成功,则当前端口会将该用户立即进行下线处理,保证该用户仅在一个端口上处于上线状态。
通常,不建议开启该功能,只有在用户漫游迁移需求的情况下建议开启此功能。
表1-11 配置允许MAC迁移功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启允许MAC迁移功能 |
port-security mac-move permit |
缺省情况下,允许MAC迁移功能处于关闭状态 |
接口上开启授权失败用户下线功能后,当服务器下发的授权信息(目前仅支持ACL、User Profile)在设备上不存在或者设备下发授权信息失败时,设备将强制用户下线。该功能用于配合服务器上的用户授权控制策略,它仅允许接口上成功下发了授权信息的用户在线。
对于授权VLAN失败的情况,设备会直接让用户直接下线,与此功能无关。
表1-12 配置授权失败用户下线功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启授权失败用户下线功能 |
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。
表1-13 配置NAS-ID Profile(系统视图下)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建NAS-ID Profile,并进入NAS-ID-Profile视图 |
aaa nas-id profile profile-name |
该命令的具体情况请参见“安全命令参考”中的“AAA” |
设置NAS-ID与VLAN的绑定关系 |
nas-id nas-identifier bind vlan vlan-id |
该命令的具体情况请参见“安全命令参考”中的“AAA” |
退回系统视图 |
quit |
- |
指定引用的NAS-ID Profile |
port-security nas-id-profile profile-name |
缺省情况下,未指定引用的NAS-ID Profile |
表1-14 配置NAS-ID Profile(接口视图下)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建NAS-ID Profile,并进入NAS-ID-Profile视图 |
aaa nas-id profile profile-name |
该命令的具体情况请参见“安全命令参考”中的“AAA” |
设置NAS-ID与VLAN的绑定关系 |
nas-id nas-identifier bind vlan vlan-id |
该命令的具体情况请参见“安全命令参考”中的“AAA” |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定引用的NAS-ID Profile |
port-security nas-id-profile profile-name |
缺省情况下,未指定引用的NAS-ID Profile |
开启端口安全模块的告警功能后,该模块会生成告警信息,用于报告该模块的重要事件。生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
表1-15 配置Trap特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
打开指定告警信息的开关 |
snmp-agent trap enable port-security [ address-learned | dot1x-failure | dot1x-logoff | dot1x-logon | intrusion | mac-auth-failure | mac-auth-logoff | mac-auth-logon ] * |
缺省情况下,所有告警信息的开关处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后端口安全的运行情况,通过查看显示信息验证配置的效果。
表1-16 端口安全显示和维护
操作 |
命令 |
显示端口安全的配置信息、运行情况和统计信息 |
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 ] |
无法设置端口的端口安全模式。
在当前端口的端口安全模式已配置的情况下,无法直接对端口安全模式进行设置。
首先设置端口安全模式为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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!