APP下载

使用MACSec保护网络通讯安全

2018-03-03

网络安全和信息化 2018年12期
关键词:客户机列表交换机

MACSec的运作原理

MACSec也称为802.1AE加 密 链 路(即 802.1AE Encrypted Link), 说 到MACSec,就需要谈及IPSec安全技术。

对于后者来说,是在数据包的IP头部后面插入数据,对数据包中的实际数据进行保护,其实现的是三层安全。IPSec可以在两个IP之间建立安全会话,实现端到端的流量加密。

而MACSec是在数据包的以太网头部后面插入数据,对数据包的内容进行保护。其实现的是二层安全,MacSec是逐跳的逐交换机的,针对逐交换机端口之间的流量进行加密操作。

在设计上MACSec主要和IEEE 802.1X配合使用,IEEE 802.1X主要用来实现基于端口的访问控制,MACSec主要实现安全保护功能,当客户端连接进来时,使用前者进行认证和授权,使用后者实现连接的私密性和完整性。

MACSec具有很好的灵活性,可以根据实际情况来确定是否激活MACSec。例如可以在ISE或ACS等3A设备上灵活的更新控制机制,在某些安全的区域,激活MACSec保护功能,对于不重要访问来说,允许不支持MACSec的设备接入网络。

MACSec实现可逐跳的安全性,并非是基于端到端的保护,因此保证了IDS、QOS、NetFlow等网络智能技术的使用。也就是说,在逐跳加解密过程中,在交换机里面看到的是明文数据,在网线上看到的是加密的数据。

值得说明的是,对于现在的思科的交换机、防火墙等设备来说,都提供了基于硬件的加密芯片,可以快速进行加解密操作,对数据的传输性能基本上没有影响。

当然,不是所有的终端设备都支持MACSec,不是所有的交换机(例如Catalyst 3560-X之前的)都支持线速加密,当激活MACSec后不可避免的会影响到一些边界接入的正常使用。

MACSec的实现原理

当激活MACSec后,在将网线插入到交换机,此时交换机作为认证者,会要求用户输入合适的账户名和密码,之后则将其提交给认证服务器。

而当认证通过后,交换机会记录终端的MAC地址,可以实现源MAC地址过滤和端口状态监控机制。

即用户拔下网线后就可以自动注销,而当再次插上网线后,则需要重新进行认证。而只要网线没有拔下,默认是不需要执行重复认证的。

相比之下,如果仅仅执行认证操作,那么攻击者则完全可以冒充合法主机的MAC地址,来连接经过了DOT1X认证过的端口侵入内部网络。而且攻击者也可以在终端设备和交换机之间进行嗅探和窃听。

而在采用了MACSec保护技术后,终端可交换机之间的流量处于加密状态,可以有效抗击以上攻击行为。ISE等3A设备先进行认证,之后通过EAP将发送主密钥给客户,通过Radius将主密钥发送给交换机等认证设备。

得到了主密钥之后,在客户和认证者进行密钥的交换,来产生两者之间用于加密的真正的密钥。认证者接收3A服务器的授权,来进行访问控制操作。

当 然,EAP并 不 需 要MACSec进行加密,EAP自身即可进行加密处理。MACSec使用到一系列的协议,包括EAP、EAP mrthod、MKA、SAP、EAPoL、RADIUS等。

配置实验环境

这里使用简单的例子来说明如何配置MACSec。

一台客户机通过G1/0/12接口连接到SW1核心交换机上,在该交换机上开启了路由功能,该接口从属于VLAN 10,ISE主用和备用认证服务器,DC域控连接到该交换机的G1/0/10接口上,其从属于VLAN 100。

在该交换机上执行“VLAN 10”、“name client”、“Vlan 100”、“name ISEsrv”、“VLAN 150 Macsectest”、“interface GigabitEthernet 1/0/10”、“switchport access vlan 100”、“switchport mode access”、“spanning-tree portfast”、“end”、“interface gigabitEthernet1/0/24”、“switchport trunk allowed vlan 150”、“switchport mode trunk”、“interface Vlan 10”、“ip address 172.16.2.254 255.255.255.0”、“ip helperaddress 172.16.1.103”、“interface Vlan 100”、“ip address 172.16.1.254 255.255.255”、“interface Vlan 150”、“ip address 150.1.1.1 255.255.255.0”、“interface GigabitEthernet 1/0/22”、“switchport access 10”、“awitchport mode access”、“spanningtree portfast” 命 令。 主要用来创建上述VLAN以及对应的SVI地址,其中的“172.16.1.103” 为 域控的IP,在域控上配置了DHCP服务,便于为客户端分配IP,主用ISE的IP为172.16.1.101,备 用 ISE的地址为172.16.1.102。VLAN 150用于连接这里的两台交换机,主要用于测试交换机之间的MACSec。

交换机SW2通过Trunk链路连接到SW 1上,两者使用的接口均为G1/0/24。在SW2上执行“VLAN 150”、“name Macchannel”、“VLAN 100”、“interface GigabitEthernet1/0/24”、“switch trunk allowed vlan 150”、“interface vlan 150”、“ip address 150.1.1.2 255.255.255.0”命令,创建所需VALN,配置目标端口和VLAN的SVI地址。

配置交换机认证参数

在SW1交换机上执行“config t”、“interface GigabitEthernet 1/0/12”、“authentication portcontrol auto”、“dot1x pae authenticator”、“authentication violation protect”、“shutdown”、“no shutdown”、“end”命令,在该接口上激活DOT1X认证功能。

执行“aaa group server radius ISE”、“aaa server radius dynamic-author”、“radius-server attribute 6 on-for-login-auth”、“radius-server attribute 8 include-in-access-req”、“radius-server attribute 2 5 a c c e s s-r e q u e s t include”、“radius-server key xxx”、“radius server ISE”命令,配置和RADUIS认证相关的参数,和ISE设备建立连接。

这里的主机名称,账户名以及密码需要根据实际情况设定,通过依次执 行“aaa new-model”、aaa authentication login noaaa line none”、aaa authentication login noise line none”、“aaa authentication dot1x default group ISE”、“aaa authentication exec qytangise group tacacs+”、“aaa authentication network default group ISE”、“aaa accounting dot1x default start-stop group ISE”、“aaa server radius dynamic-author”、“aaa session-id common”命令,配置和3A认证相关的参数。

在ISE中创建账户

登录到ISE的管理界面,点击菜单“Administration→NetworkDevices”项,在左侧选择“NetworkDevices”项,在右侧点击“Add”按钮,添加上述网络设备,具体操作比较简单这里不再赘述。

点 击“Administration→Groups”项,在左侧选择“User Identity Groups”项,在右侧点击“Add”按钮,创建名为“Macsecgrp”的组。点击工具栏上的“Identity Management → Identities”项,点击“Add”按钮,创建名为“macuser”的用户,为其为其设置密码,在“User Groups”列表中选择上述“Macsecgrp”组,将该用户添加到该组中。在SW1上执行“test aaa group ISE macuser xxx new-code”命令,对上述配置进行测试,其中的“xxx”为上述用户密码。

在ISE中创建认证规则

在ISE管理界面中点击 菜 单“Policy→Policy Sets”项,显示已经默认的认证集信息。点击“+”按钮,创建新的策略集,将其修改为合适的名称(例如MACsecpol1”)。 在 该 策略 的“Conditions” 列 中点击“+”按钮,在其编辑界面左侧的“Library”列表中显示很多条件,选择Wired_802.1X”项,将其拖动到“Editor”面板中,点击“New”按钮,在扩展面板中点击“Click to add an attribute”按钮,在“Select attribute for condition”窗 口 中 的“Directory”列表 中 选 择“DEVICE” 项,点 击“Attribute”列 中 的“Location”项,选择设备所在的地点。点击“Use”按钮,使用该策略。

在该策略的“Allow P r o t o c o l s/S e r v e r Sequence”列中选择“Device Network Access”项,点击“Save”按钮保存该策略。在该策略最右侧点击“>”按钮,在详细信息窗口中会发现分别存在一个认证策略和授权策略。在“Authentication Policy”栏右侧点击设置按钮,在弹出菜单中点击“Insert new row above”项,添加一条认证策略,修改其名称(如“Macap1”),点击“+”按钮,在打开窗口左侧选择“Wired_802.1X”项,将其拖动到“Editor”面板中,点击“New”按钮,按照上述方法设置目标设备的合适地点。

创建授权规则

在“策略集”窗口中打开“Authorization Policy”栏,在右侧点击“设置”按钮,在弹出菜单中点击“Insert new row above”项,设 置新的授权策略名称(例如“Sqpolicy1”),点击“+”按钮,在“编辑”窗口中点击“Click to add attribute”栏,在弹出窗口中点击“Indentity group”按钮,在列表中选择上 述“IdentityGroup Name”项,返回上级窗口,在其右侧选择上述“Macsecgrp”组。之后按照上述方法,设置目标设备的合适地点。

在该授权策略项的“Profiles” 列 中 选 择“DenyAccess”项,点击“Save”按钮保存配置。点击菜单“Policy→Results”项,在左侧选择“Authorization→Au thorizationProfiles”项,在右侧点击“Add”按钮,输入新的授权Profile的名称(例如“MacProfile1”),在“Common Tasks”栏中选择“DACL”项,选择合适的ACL控制列表项目,例如放行所有流量的ACL等。选择“VLAN”项,输入合适的VLAN号(例如“10”),点击“Submit”按钮提交修改。之后返回上述策略集窗口,为上述“Sqpolicy1”授权策略的“Profiles”列中选择该授权Profile项目。

保护终端和和交换机通讯

在客户机上运行AnyConnect Secure Mobility Client程 序,在“Configuration”面板中点击“Add”按钮,在新建连接窗口中选择“Wired”项,使用有线连接方式。输入连接名称信息(例如“WiredLink”),在“Security”列 表 中 选择“802.1X”项,在“802.1X Configuration”栏中选择“PEAP”项,点击“OK”按钮创建该连接项目。选择该连接项目,输入账户名(例如“macuser”)和密码,当建立连接后,在SW 1交换机上执行“show authentication sessions interface g1/0/22 details” 命 令,显示该接口的认证信息,在其中的“dot1X”栏中显示“Authc Success”项,表示认证顺利通过。

依次执行“config t”、“interface g1/0/12”、“ m a c s e c”、“ e n d”、“shoudown”、“no shutdown”命令,在该接口下激活MACSec保护功能。在客户机上断开连接后,再次选择上述连接项目。当在连接完成后,虽然可以顺利访问网络资源,但是因为客户端并没有激活MacSec功能,所以在客户端和交换机交换机之间的通讯并没有进行加密,仅仅是进行了802.1X认证而已。

为了实现MACSec加密效果,需要在ISE管理界面中点击菜单“Policy→Results”项,在 左 侧选 择“Authorization→AuthorizationProfiles”项,选择上述“MacProfile1”授权Profile,在其属性窗口中的“Common Tasks”栏中 选 择“MACSec Policy”项,在其右侧的列表中选择should-secure”项,表 示可以使用MACSec加密通讯,即可以进行加密也可以不进行MACSec加密。如果选择must-secure”项,表示必须使用MACSec加密通讯。

这里选择前者。在客户端上新建一个有线连接(例如其名称为“MacLink”),方法和上述基本相同,所不同的是在“Security”列表中选择“802.1X(MACsec)”项。使用该连接项目,输入上述账户名和密码,就可以和交换机之间建立加密通讯。

当然,之前在交换机上需要执行执行“config t”、“interface g1/0/12”、“shoudown”、“no shutdown”命令,这样就可以重新认证,其效果相当于在该接口拔下并重新插上网线。

当重新连接完成后,在SW1交换机上执行“show authentication sessions i n t e r f a c e g 1/0/1 2 details”命令,在返回信息中的“Security Policy”栏 中 显 示“Should”,在“Security Status”栏中显示“Link Secured”,说明加密通讯已经建立。

可以看出,要想在客户机和交换机之间实现MACSec加密通讯,必须在客户机,交换机和ISE设备上同时设置和MACSec相关的项目,才可以实现安全的通讯。

交换机之间的MACSec安全传输

前面谈到,MACSEc不仅可以保护终端和交换机之间的通讯,还可以保护交换机之间的通讯。当然,其只能支持基于预共享密钥的方式。

在本例中在SW1上 执 行“interface GigabitEthernet1/0/24”、switch trunk allow vlan 150”、“switchport mode trunk”、“cts manual”、“sap pak xxxxxx mode-list gcm-encrypt”命令, 配置所需的密钥,并且实现认证和加密的双重功能。这里为“xxxxxx”具体的密钥。在SW2执行与之完全相同的命令。

需要注意的是,两边必须配置相同的密钥,否则无法进行通讯。

在上述任意交换机上述 上 执 行“show macsec interface gigabitEthernet 1/0/24”命 令,在 返 回 信息中的显示“MACsec is enabled”,在“Copher” 栏中 显 示“GCM-AES-128”,说明已经开启了MACSEc加密功能。在当传输了数据之后,在该命令返回信息中 的“Transmit Secure Channels” 和“Receive Secure Channels”栏中显示发送和接收加密信道的详细信息。

执 行“show macsec summary”命令,显示相关接口的状态,最后执行“show mka sessions”命令,显示具体的协商信息。

猜你喜欢

客户机列表交换机
学习运用列表法
扩列吧
基于地铁交换机电源设计思考
修复损坏的交换机NOS
缔造工业级的强悍——评测三旺通信IPS7110-2GC-8PoE工业交换机
列表画树状图各有所长
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700
2011年《小说月刊》转载列表
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”