我们在《Cisco交换机配置与管理完全手册》(第二版)第21章中介绍了Cisco IOS交换机系统中的“端口安全”功能,允许通过配置静态安全MAC地址实现仅允许固定设备连接,也允许在一个端口上配置一个最大的安全MAC地址数,仅允许在此数之前识别到的设备连接在该端口上。当超过了所设置的最大安全端口数,将触发一个安全违例事件,在端口上配置的一个基于违例行为模式的违例行为将被执行。如果在某个端口上配置的最大安全MAC地址数为1,则设备上的该安全端口仅允许与固定设备连接。
但H3C交换机中的“端口安全”(Port Security)与Cisco设备中的“端口安全”功能并不完全一样,它是一种对网络接入进行控制的安全机制(防止非法接入),是对已有的IEEE 802.1x认证和MAC地址认证的扩充。H3C交换机中的端口安全主要功能就是用户通过定义各种安全模式,来控制端口上的MAC地址学习或对用户进行认证,从而让设备学习到合法的源MAC地址,以达到相应的网络管理效果。在H3C交换机上启用了端口安全功能之后,对于交换机不能通过安全模式学习到其源MAC地址的报文,系统将视为非法报文;对于不能通过IEEE 802.1x认证或MAC地址认证的事件,将被视为非法事件。当发现非法报文或非法事件后,系统将触发相应特性,并按照预先指定的方式自动进行处理,减少了用户的维护工作量,极大地提高了系统的安全性和可管理性。
H3C以太网交换机的基本端口安全模式可分为两大类:控制MAC学习类和认证类。控制MAC学习类无需认证,包括端口自动学习MAC地址和禁止MAC地址学习两种模式;认证类则是利用MAC地址认证或IEEE 802.1x认证机制来实现,包括单独认证和组合认证等多种模式。
配置了安全模式的端口上收到用户报文后,首先查找MAC地址表,如果该报文的源MAC地址已经存在于MAC地址表中,则端口转发该报文,否则根据端口所在安全模式进行相应的处理(学习、认证),并在发现非法报文后触发端口执行以下相应的安全防护特性:
l Need To Know(NTK)
Need To Know(需要知道)特性通过检测从端口发出的数据帧的目的MAC地址,保证数据帧只能被发送到已经通过认证或被端口学习到的MAC地址所属的设备或主机上,从而防止非法设备窃听网络数据。
l Intrusion Protection(入侵防御)
入侵防御特性指通过检测从端口上接收到的数据帧的源MAC地址,对接收非法源MAC地址的报文的端口将采取相应的安全策略,包括端口被暂时断开连接、永久断开连接或MAC地址被过滤(默认3分钟,不可配置),以保证端口的安全性。
l Trap警告
Trap警告特性是指在端口有特定的数据包(非法入侵,或有用户上、下线)传送时,确定设备是否发送Trap信息,便于网络管理员对这些特殊的行为进行监控。
H3C以太网交换机可用的端口安全模式说明如表17-1所示,不同模式有不同的工作机制和特性支持。但要注意,并不是每款机型都支持端口安全配置,也不是每款机型都支持表中全部的端口安全模式。如S3610、S5510、S7500、S9500、S9500E等系列不支持端口安全配置;也有一些H3C以太网交换机并不支持表17-1中的全部端口安全模式,具体将在表中注明。主要支持端口安全配置的系列包括:S3600、S5600、S5510-SI/EI、S58、S7500E等系列。
安全模式 |
特性支持<span "="" style="word-wrap: break-word;"> |
||
默认模式 |
noRestrictions |
表示端口的安全功能关闭,访问不受限制 |
不支持 |
端口控制MAC地址学习情形下的安全模式 |
autoLearn |
端口可通过手工配置或自动学习安全MAC地址,然后被添加到安全MAC地址表中。只有源MAC地址为安全MAC地址、手工配置的MAC地址的报文,才能通过该端口。当端口下的安全MAC地址数超过端口允许学习的最大安全MAC地址数后,端口模式会自动转变为secure模式,停止添加新的安全MAC地址,这与Cisco IOS交换机的端口安全功能是一样的 |
当设备发现非法报文后,将触发NTK特性和入侵防御特性 |
secure |
禁止端口动态学习新的MAC地址,只有源MAC地址为端口上原有的安全MAC地址、手工配置的MAC地址的报文才能通过该端口 |
||
端口采用IEEE 802.1x认证情形下的安全模式 |
userLogin |
对接入用户采用基于端口的IEEE 802.1x认证。此模式下,端口下的第一个IEEE 802.1x用户认证成功后,其他用户无须认证就可接入,有关H3C以太网交换机的IEEE 802.1x认证相关知识和配置将在本书第21章介绍 |
不支持 |
userLoginSecure |
对接入用户采用基于MAC地址的IEEE 802.1x认证(相当于在《Cisco交换机配置与管理完全手册》第23章介绍的Cisco IOS交换机IEEE 802.1x认证中的旁路MAC地址认证(MAB))。此模式下,端口最多只允许一个IEEE 802.1x认证用户接入(也就是在Cisco IOS交换机中所说的IEEE 802.1x单主机模式) |
当设备发现非法报文后,将触发NTK特性和入侵防御特性 |
|
userLoginWithOUI |
该模式与userLoginSecure模式类似,但端口上除了允许一个IEEE 802.1x认证用户接入之外,还额外允许一个特殊用户接入,该用户报文的源MAC地址的OUI(Organizationally Unique Identifier,全球唯一标示符,是MAC地址的前24位)与设备上配置的OUI值相符。在用户接入方式为有线的情况下,对IEEE 802.1x报文进行IEEE 802.1x认证,对非802.1x报文直接进行OUI匹配,IEEE 802.1x认证成功和OUI匹配成功的报文都允许通过端口 |
||
userLoginSecureExt |
与userLoginSecure模式类似,但端口下的IEEE 802.1x认证用户可以有多个(也就是在Cisco IOS交换机中所说的IEEE 802.1x多主机模式) |
||
端口采用MAC地址认证情形下的安全模式 |
macAddressWithRadius |
对接入用户采用MAC地址认证,允许多个用户接入 |
|
端口采用IEEE 802.1x |
macAddressOrUserLoginSecure |
MAC地址认证和IEEE 802.1x认证可以同时共存,但IEEE 802.1x认证优先级大于MAC地址认证;接入用户通过MAC地址认证后,仍然可以进行IEEE 802.1x认证;接入用户通过IEEE 802.1x认证后,不再进行MAC地址认证。 此模式下,端口最多只允许接入一个经过认证的IEEE 802.1x用户,但端口下经过认证的MAC地址认证用户可以有多个 |
|
macAddressElseUserLoginSecure |
接入用户可以进行MAC地址认证或IEEE 802.1x认证,当其中一种方式认证成功则表明认证通过。 此模式下,端口最多只允许接入一个经过认证的IEEE 802.1x用户,但端口下经过认证的MAC地址认证用户可以有多个 |
||
macAddressOrUserLoginSecureExt |
与macAddressOrUserLoginSecure安全模式类似,但允许端口下有多个IEEE 802.1x和MAC地址认证用户 |
||
macAddressElseUserLoginSecureExt |
与macAddressElseUserLoginSecure安全模式类似,但允许端口下有多个IEEE 802.1x和MAC地址认证用户 |
||
macAddressAndUserLoginSecure(仅S3100、S5510-SI/EI和S5600系列支持) |
对接入用户先进行MAC地址认证,当MAC地址认证成功后,再进行IEEE 802.1x认证。只有在这两种认证都成功的情况下,才允许该用户接入网络;此模式下,端口最多只允许一个用户接入网络 |
||
macAddressAndUserLoginSecureExt (仅S3100、S5510-SI/EI和S5600系列支持) |
与macAddressAndUserLoginSecure模式类似。但此模式下,端口允许接入网络的用户可以有多个 |
由于安全模式种类较多,为便于记忆,可对表17-1中的部分端口安全模式名称的构成按如下规则理解(或者说是对这些安全模式进行宏观分类):
l 带有“userLogin”的模式表示支持基于端口的IEEE 802.1x认证;带有“macAddress”的模式表示支持基于MAC地址认证;带有“Secure”的userLogin模式表示支持基于MAC地址的IEEE 802.1x认证(也就是Cisco IOS交换机中所说的IEEE 802.1x旁路MAC地址认证)。
l 带有“Else”的模式中,“Else”之前的认证模式先被采用,失败后根据请求认证的报文协议类型决定是否转为“Else”之后的认证方式;带有“Or”的模式中,“Or”连接的两种认证方式无固定生效顺序,设备根据请求认证的报文协议类型决定认证方式。
l 带有“Ext”表示可允许多个IEEE 802.1x用户认证成功(也就是支持IEEE 802.1x多主机认证模式),不携带则表示仅允许一个IEEE 802.1x用户认证成功(也就是仅支持IEEE 802.1x单主机认证模式)。
l 当多个用户通过认证时,端口下所允许的最大用户数根据不同的端口安全模式,取配置的最大安全MAC地址数与相应模式下允许认证用户数两者之中的最小值。例如,userLoginSecureExt模式下端口下所允许的最大用户为所配置的最大安全MAC地址数与IEEE 802.1x认证所允许的最大用户数的最小值。
l 在userlogin安全模式下,NTK特性和Intrusion Protection特性不会被触发。其他模式下,当设备发现非法报文或非法事件后,将触发NTK特性和Intrusion Protection特性。
l 当端口工作在userLoginWithOUI模式下时,即使OUI地址不匹配,也不会触发Intrusion Protection特性。
在上节的表17-1中介绍了H3C以太网交换机中各种环境下的多种端口安全模式,本节具体介绍这些安全模式的工作原理。
在autoLearn(自动学习)模式下,可通过手工配置或通过动态进行MAC学习,此时得到的MAC地址称为Secure MAC(安全MAC地址)。在这种模式下,只有源MAC为Secure MAC的报文才能通过该端口;但当端口下的Secure MAC地址表项数超过端口允许学习的最大安全MAC地址数后,该端口不会再添加新的Secure MAC,并且端口模式会自动转变为secure。
如果直接将端口安全模式设置为secure模式,则将禁止端口学习新的MAC地址,只有已配置的静态或动态MAC的报文才能通过该端口。
根据以上描述,可以得出在autoLearn和secure模式下报文处理流程如图17-1所示。
从表17-1可以看出,采用单一IEEE 802.1x认证方式的端口安全模式包括以下几种:
l userLogin:对接入用户采用基于端口的IEEE 802.1x认证。
l userLoginSecure:对接入用户采用基于用户MAC地址的IEEE 802.1x认证(也就是Cisco IOS交换机中所说的MAB),认证成功后端口开启,但也只允许认证成功的用户报文通过。此模式下,端口最多只允许接入一个经过IEEE 802.1x认证的用户(即IEEE 802.1x单主机模式)。
l userLoginSecureExt:与userLoginSecure类似,但端口下的IEEE 802.1x认证用户可以有多个(即IEEE 802.1x多主机模式)。
l userLoginWithOUI:与userLoginSecure类似,端口最多只允许一个IEEE 802.1x认证用户,但同时端口还允许一个OUI地址的报文通过。
因为H3C以太网交换机的IEEE 802.1x认证将在本书第21章专门介绍,故在此不再赘述。
在表17-1中支持MAC地址认证的端口安全模式为macAddressWithRadius。它可对接入用户采用MAC地址的认证。
MAC地址认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。设备在启动了MAC地址认证的端口上首次检测到用户的MAC地址以后,即启动对该用户的认证操作。认证过程中,不需要用户手动输入用户名或者密码。如果该用户认证成功,则允许其通过端口访问网络资源,否则该用户的MAC地址就被添加为静默MAC。在静默时间内(可通过静默定时器配置),来自此MAC地址的用户报文到达时,设备直接做丢弃处理,以防止非法MAC短时间内的重复认证。
目前AH3C设备支持两种方式的MAC地址认证,通过RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器进行远程认证和在接入设备上进行本地认证。有关H3C以太网交换机的RADIUS服务器认证方式将在本书第18章专门介绍;有关MAC地址认证将在本章17.5节介绍。
在表17-1中所列的端口安全模式中,采用and方式(也就是同时采用)的端口安全模式包括以下两个:
l macAddressAndUserLoginSecure:接入用户首先进行MAC地址认证,当MAC地址认证成功后再进行IEEE 802.1x认证。只有在这两种认证都成功的情况下,才允许该用户接入网络。此模式下,端口最多只允许一个用户接入网络。
l macAddressAndUserLoginSecureExt:与macAddressAndUserLoginSecure类似。但此模式下,端口允许接入网络的用户可以有多个。
根据以上描述得出这两种and方式的端口安全模式的报文处理流程如图17-2所示。
在表17-1中所列的端口安全模式中,采用else方式(也就是多选一方式)的端口安全模式包括以下两个:
l macAddressElseUserLoginSecure:对接入用户首先进行MAC地址认证,如果成功则表明认证通过,如果失败再进行IEEE 802.1x认证。此模式下,端口最多只允许接入一个用户经过IEEE 802.1x认证,但端口下可以有多个通过MAC地址认证。
l macAddressElseUserLoginSecureExt:与macAddressElseUserLoginSecure类似。但此模式下,端口允许多个用户通过IEEE 802.1x认证。
根据以上描述得出这两种else方式的端口安全模式的报文处理流程如图17-3所示。
在表17-1中所列的端口安全模式中,采用or方式(也就是多选方式)的端口安全模式包括以下两个:
l macAddressOrUserLoginSecure:接入用户通过MAC地址认证后,仍然可以进行IEEE 802.1x认证;但接入用户通过IEEE 802.1x认证后,不再进行MAC地址认证。此模式下,端口最多只允许接入一个经过认证的IEEE 802.1x用户,但可以有多个经过基于MAC地址认证的用户。
l macAddressOrUserLoginSecureExt:与macAddressOrUserLoginSecure类似。但此模式下可以允许多个通过IEEE 802.1x认证的用户。
根据以上描述得出这两种or方式的端口安全模式的报文处理流程如图17-4所示。
图17-4 or方式下端口安全模式的报文处理流程图