此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档提供802.1x请求方(Cisco AnyConnect移动安全)和身份验证器(交换机)之间介质访问控制安全(MACsec)加密的配置示例。 思科身份服务引擎(ISE)用作身份验证和策略服务器。
MACsec在802.1AE中进行标准化,并在Cisco 3750X、3560X和4500 SUP7E交换机上受支持。802.1AE定义使用带外密钥的有线网络上的链路加密。这些加密密钥与MACsec密钥协议(MKA)协议协商,MKA协议在802.1x身份验证成功后使用。MKA在IEEE 802.1X-2010中进行标准化。
数据包仅在PC和交换机之间的链路上加密(点对点加密)。 交换机收到的数据包将解密并通过未加密的上行链路发送。为了加密交换机之间的传输,建议使用交换机 — 交换机加密。对于该加密,安全关联协议(SAP)用于协商和重新生成密钥。SAP是思科开发的一种准标准密钥协议。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
步骤1.请求方(AnyConnect NAM)启动802.1x会话。交换机是身份验证器,ISE是身份验证服务器。LAN上的可扩展身份验证协议(EAPOL)协议用作请求方和交换机之间EAP的传输。RADIUS用作交换机和ISE之间EAP的传输协议。无法使用MAC身份验证绕行(MAB),因为EAPOL密钥需要从ISE返回并用于MACsec密钥协议(MKA)会话。
步骤2.在802.1x会话完成后,交换机会以EAPOL作为传输协议启动MKA会话。如果请求方配置正确,则对称128位AES-GCM(Galois/Counter Mode)加密的密钥匹配。
步骤3.请求方和交换机之间的所有后续数据包都经过加密(802.1AE封装)。
ISE配置涉及典型的802.1x方案,但授权配置文件例外,可能包括加密策略。
选择Administration > Network Resources > Network Devices以将交换机添加为网络设备。输入RADIUS预共享密钥(共享密钥)。
默认身份验证规则可用于(用于ISE上本地定义的用户)。
选择Administration > Identity Management > Users以在本地定义用户“cisco”。
授权配置文件可能包括加密策略。如本示例所示,选择Policy > Results > Authorization Profiles以查看ISE返回给交换机的链路加密是必需的信息。此外,还配置了VLAN编号(10)。
选择Policy > Authorization以在授权规则中使用授权配置文件。此示例返回用户“cisco”的配置文件。 如果802.1x成功,ISE将Radius-Accept返回到具有Cisco AVPair linksec-policy=must-secure的交换机。该属性强制交换机启动MKA会话。如果该会话失败,交换机上的802.1x授权也会失败。
典型的802.1x端口设置包括(显示顶部):
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa group server radius ISE
server name ISE
dot1x system-auth-control
interface GigabitEthernet1/0/2
description windows7
switchport mode access
authentication order dot1x
authentication port-control auto
dot1x pae authenticator
radius server ISE
address ipv4 10.48.66.74 auth-port 1645 acct-port 1646
timeout 5
retransmit 2
key cisco
本地MKA策略已创建并应用于接口。此外,接口上启用了MACsec。
mka policy mka-policy
replay-protection window-size 5000
interface GigabitEthernet1/0/2
macsec
mka policy mka-policy
本地MKA策略允许您配置无法从ISE推送的详细设置。本地MKA策略是可选的。
802.1x请求方的配置文件可以手动配置或通过Cisco ASA推送。后续步骤提供手动配置。
要管理NAM配置文件,请执行以下操作:
添加带MACsec的新802.1x配置文件。对于802.1x,使用受保护的可扩展身份验证协议(PEAP)(在ISE上配置的用户“cisco”):
使用本部分可确认配置能否正常运行。
为EAP-PEAP配置的AnyConnect NAM需要正确的凭证。
交换机上的会话应经过身份验证和授权。安全状态应为“安全”:
bsns-3750-5#show authentication sessions interface g1/0/2
Interface: GigabitEthernet1/0/2
MAC Address: 0050.5699.36ce
IP Address: 192.168.1.201
User-Name: cisco
Status: Authz Success
Domain: DATA
Security Policy: Must Secure
Security Status: Secured
Oper host mode: single-host
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: 10
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A8000100000D56FD55B3BF
Acct Session ID: 0x00011CB4
Handle: 0x97000D57
Runnable methods list:
Method State
dot1x Authc Success
交换机上的MACsec统计信息提供有关本地策略设置、接收/发送流量的安全通道标识符(SCI)以及端口统计和错误的详细信息。
bsns-3750-5#show macsec interface g1/0/2
MACsec is enabled
Replay protect : enabled
Replay window : 5000
Include SCI : yes
Cipher : GCM-AES-128
Confidentiality Offset : 0
Capabilities
Max. Rx SA : 16
Max. Tx SA : 16
Validate Frames : strict
PN threshold notification support : Yes
Ciphers supported : GCM-AES-128
Transmit Secure Channels
SCI : BC166525A5020002
Elapsed time : 00:00:35
Current AN: 0 Previous AN: -
SC Statistics
Auth-only (0 / 0)
Encrypt (2788 / 0)
Receive Secure Channels
SCI : 0050569936CE0000
Elapsed time : 00:00:35
Current AN: 0 Previous AN: -
SC Statistics
Notvalid pkts 0 Invalid pkts 0
Valid pkts 76 Late pkts 0
Uncheck pkts 0 Delay pkts 0
Port Statistics
Ingress untag pkts 0 Ingress notag pkts 2441
Ingress badtag pkts 0 Ingress unknownSCI pkts 0
Ingress noSCI pkts 0 Unused pkts 0
Notusing pkts 0 Decrypt bytes 176153
Ingress miss pkts 2437
在AnyConnect上,统计信息指示加密使用情况和数据包统计信息。
本部分提供的信息可用于对配置进行故障排除。
在交换机上启用调试(为清楚起见,省略了某些输出)。
debug macsec event
debug macsec error
debug epm all
debug dot1x all
debug radius
debug radius verbose
在建立802.1x会话后,多个EAP数据包通过EAPOL交换。Radius-Accept内部携带的ISE(EAP成功)的最后成功响应也包含多个Radius属性。
RADIUS: Received from id 1645/40 10.48.66.74:1645, Access-Accept, len 376
RADIUS: EAP-Key-Name [102] 67 *
RADIUS: Vendor, Cisco [26] 34
RADIUS: Cisco AVpair [1] 28 "linksec-policy=must-secure"
RADIUS: Vendor, Microsoft [26] 58
RADIUS: MS-MPPE-Send-Key [16] 52 *
RADIUS: Vendor, Microsoft [26] 58
RADIUS: MS-MPPE-Recv-Key [17] 52 *
EAP-Key-Name用于MKA会话。链路安全策略强制交换机使用MACsec(如果未完成,授权将失败)。 这些属性也可以在数据包捕获中进行验证。
身份验证成功。
%DOT1X-5-SUCCESS: Authentication successful for client (0050.5699.36ce) on
Interface Gi1/0/2 AuditSessionID C0A8000100000D56FD55B3BF
%AUTHMGR-7-RESULT: Authentication result 'success' from 'dot1x' for client
(0050.5699.36ce) on Interface Gi1/0/2 AuditSessionID C0A8000100000D56FD55B3BF
交换机应用属性(这些属性包括也已发送的可选VLAN编号)。
%AUTHMGR-5-VLANASSIGN: VLAN 10 assigned to Interface Gi1/0/2 AuditSessionID
C0A8000100000D56FD55B3BF
然后,交换机在发送和接收EAPOL数据包时启动MKA会话。
%MKA-5-SESSION_START: (Gi1/0/2 : 2) MKA Session started for RxSCI 0050.5699.36ce/0000,
AuditSessionID C0A8000100000D56FD55B3BF, AuthMgr-Handle 97000D57
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
EAPOL pak dump rx
dot1x-packet(Gi1/0/2): Received an EAPOL frame
dot1x-packet(Gi1/0/2): Received an MKA packet
4个数据包交换安全标识符与接收(RX)安全关联一起创建。
HULC-MACsec: MAC: 0050.5699.36ce, Vlan: 10, Domain: DATA
HULC-MACsec: Process create TxSC i/f GigabitEthernet1/0/2 SCI BC166525A5020002
HULC-MACsec: Process create RxSC i/f GigabitEthernet1/0/2 SCI 50569936CE0000
HULC-MACsec: Process install RxSA request79F6630 for interface GigabitEthernet1/0/2
会话完成,并添加传输(TX)安全关联。
%MKA-5-SESSION_SECURED: (Gi1/0/2 : 2) MKA Session was secured for
RxSCI 0050.5699.36ce/0000, AuditSessionID C0A8000100000D56FD55B3BF,
CKN A2BDC3BE967584515298F3F1B8A9CC13
HULC-MACsec: Process install TxSA request66B4EEC for interface GigabitEthernet1/0/
策略“必须安全”匹配,授权成功。
%AUTHMGR-5-SUCCESS: Authorization succeeded for client (0050.5699.36ce) on
Interface Gi1/0/2 AuditSessionID C0A8000100000D56FD55B3BF
每2秒交换一次MKA Hello数据包,以确保所有参与者都处于活动状态。
dot1x-ev(Gi1/0/2): Received TX PDU (5) for the client 0x6E0001EC (0050.5699.36ce)
dot1x-packet(Gi1/0/2): MKA length: 0x0084 data: ^A
dot1x-ev(Gi1/0/2): Sending EAPOL packet to group PAE address
EAPOL pak dump Tx
如果请求方未配置MKA,并且ISE在成功进行802.1x身份验证后请求加密:
RADIUS: Received from id 1645/224 10.48.66.74:1645, Access-Accept, len 342
%DOT1X-5-SUCCESS: Authentication successful for client (0050.5699.36ce) on
Interface Gi1/0/2 AuditSessionID C0A8000100000D55FD4D7529
%AUTHMGR-7-RESULT: Authentication result 'success' from 'dot1x' for client
(0050.5699.36ce) on Interface Gi1/0/2 AuditSessionID C0A8000100000D55FD4D7529
当交换机发送5个EAPOL数据包时,会尝试发起MKA会话。
%MKA-5-SESSION_START: (Gi1/0/2 : 2) MKA Session started for RxSCI 0050.5699.36ce/0000,
AuditSessionID C0A8000100000D55FD4D7529, AuthMgr-Handle A4000D56
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
dot1x-ev(Gi1/0/2): Sending out EAPOL packet
EAPOL pak dump Tx
最后超时并失败授权。
%MKA-4-KEEPALIVE_TIMEOUT: (Gi1/0/2 : 2) Peer has stopped sending MKPDUs for RxSCI
0050.5699.36ce/0000, AuditSessionID C0A8000100000D55FD4D7529, CKN
F8288CDF7FA56386524DD17F1B62F3BA
%MKA-4-SESSION_UNSECURED: (Gi1/0/2 : 2) MKA Session was stopped by MKA and not
secured for RxSCI 0050.5699.36ce/0000, AuditSessionID C0A8000100000D55FD4D7529,
CKN F8288CDF7FA56386524DD17F1B62F3BA
%AUTHMGR-5-FAIL: Authorization failed or unapplied for client (0050.5699.36ce)
on Interface Gi1/0/2 AuditSessionID C0A8000100000D55FD4D7529
802.1x会话报告身份验证成功,但授权失败。
bsns-3750-5#show authentication sessions int g1/0/2
Interface: GigabitEthernet1/0/2
MAC Address: 0050.5699.36ce
IP Address: 192.168.1.201
User-Name: cisco
Status: Authz Failed
Domain: DATA
Security Policy: Must Secure
Security Status: Unsecure
Oper host mode: single-host
Oper control dir: both
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A8000100000D55FD4D7529
Acct Session ID: 0x00011CA0
Handle: 0xA4000D56
Runnable methods list:
Method State
dot1x Authc Success
数据流量将被阻止。
当在请求方站点4上捕获流量时,会发送和接收互联网控制消息协议(ICMP)回应请求/应答,将有:
这是因为AnyConnect如何挂接Windows API(在发送数据包时在libpcap之前,在接收数据包时在libpcap之前):
注意:不支持使用交换端口分析器(SPAN)或嵌入式数据包捕获(EPC)等功能嗅探交换机上的MKA或802.1AE流量。
并非所有802.1x模式都支持MACsec。
《Cisco TrustSec 3.0操作指南:MACsec和NDAC简介指出:
单主机模式:单主机模式完全支持MACsec。在此模式下,只有单个MAC或IP地址可以通过MACsec进行身份验证和保护。如果终端经过身份验证后在端口上检测到不同的MAC地址,则端口上将触发安全违规。
多域身份验证(MDA)模式:在此模式下,一个终端可能在数据域上,而另一个终端可能在语音域上。MDA模式下完全支持MACsec。如果两个终端都支持MACsec,则每个终端都将由其独立的MACsec会话来保护。如果只有一个终端支持MACsec,则该终端可以受到保护,而另一个终端以明文方式发送流量。
多身份验证模式:在此模式下,可以向单个交换机端口验证几乎无限数量的终端。此模式不支持MACsec。
多主机模式:虽然在此模式下使用MACsec在技术上是可能的,但不建议使用。在多主机模式下,端口上的第一个终端会进行身份验证,然后通过第一个授权允许任何其他终端进入网络。MACsec可与第一台连接的主机配合使用,但其他终端的流量实际上不会通过,因为它不是加密流量。