此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何使用自适应安全设备(ASA)版本9.3.1 - TrustSec内联标记中实现的功能。该功能允许ASA接收TrustSec帧并发送这些帧。这样,ASA可以轻松地集成到TrustSec域中,而无需使用TrustSec SGT交换协议(SXP)。
此示例显示已分配安全组标记(SGT)标记= 3(营销)的远程VPN用户和已分配SGT标记= 2(财务)的802.1x用户。 流量实施由ASA和Cisco IOS®交换机执行,ASA使用本地定义的安全组访问控制列表(SGACL),Cisco IOS®交换机使用从身份服务引擎(ISE)下载的基于角色的访问控制列表(RBACL)。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件版本:
注意:使用命令查找工具(仅限注册用户)可获取有关本部分所使用命令的详细信息。
ASA与3750X之间的连接配置为手动cts。这意味着两台设备都可以使用思科元数据字段(CMD)发送和接收修改的以太网帧。 该字段包含描述数据包源的安全组标记(SGT)。
远程VPN用户终止ASA上的SSL会话,并分配了SGT标记3(营销)。
为成功身份验证后的本地企业802.1x用户分配了SGT标记2(财务)。
ASA在内部接口上配置了SGACL,允许从财务部门向营销部门发起ICMP流量。
ASA允许从删除VPN用户(因为“sysopt connection permit-vpn”配置)发起的所有流量。
ASA上的SGACL是有状态的,这意味着一旦创建流,将自动接受返回的数据包(基于检测)。
3750交换机使用RBACL来控制从营销部门到财务部门收到的流量。
RBACL是无状态的,这意味着每个数据包都已被检查,但3750X平台上的TrustSec实施是在目标上执行的。这样,交换机负责实施从营销到财务的流量。
注意:有关Cisco IOS®基于区域的防火墙上的Trustsec感知状态防火墙的信息,请参阅:
注意:ASA可以让SGACL控制来自远程VPN用户的流量。为了简化场景,本文没有给出。例如:ASA 9.2版VPN SGT分类和实施配置示例
导航至策略>结果>安全组访问>安全组,然后创建财务和营销的SGT,如下图所示。
导航至策略>结果>安全组访问>安全组ACL并创建ACL,用于控制从市场营销到财务的流量。如下图所示,仅允许tcp/445。
导航至Policy > Egress Policy > Matrix bind configured ACL for the Source:营销和目标:金融。另请将Deny IP作为最后一个ACL,以丢弃所有其它流量,如图所示。(如果不附加默认策略,默认为permit any)
导航至Policy > Authorization并为远程VPN访问创建规则。通过AnyConnect 4.x客户端建立的所有VPN连接将获得完全访问权限(PermitAccess),并将分配SGT标记3(营销)。 条件是使用AnyConnect身份扩展(ACIDEX):
Rule name: VPN
Condition: Cisco:cisco-av-pair CONTAINS mdm-tlv=ac-user-agent=AnyConnect Windows 4
Permissions: PermitAccess AND Marketing
导航至Policy > Authorization并创建802.1x访问规则。在3750交换机上终止802.1x会话的请求方(用户名为cisco)将获得完全访问权限(PermitAccess),并将分配SGT标记2(财务)。
Rule name: 802.1x
Condition: Radius:User-Name EQUALS cisco AND Radius:NAS-IP-Address EQUALS 192.168.1.10
Permissions: PermitAccess ANDFinance
要将ASA添加到TrustSec域,需要手动生成PAC文件。该文件会在ASA上导入。
此操作可在管理 > 网络设备下配置。添加ASA后,向下滚动到TrustSec设置并生成PAC,如此图中所示。
交换机(3750X)支持自动PAC调配,因此只需对仅支持手动PAC调配的ASA执行步骤。
对于使用自动PAC调配的交换机,必须设置正确的密钥,如本图所示。
注意:PAC用于验证ISE并下载环境数据(例如SGT)和策略(ACL)。ASA仅支持环境数据,需要在ASA上手动配置策略。Cisco IOS®支持两者,因此可以从ISE下载策略。
使用ISE为AnyConnect配置基本SSL VPN访问以进行身份验证。
aaa-server ISE protocol radius
aaa-server ISE (inside) host 10.62.145.41
key cisco
webvpn
enable outside
anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.0.00051-k9.pkg 1
anyconnect enable
tunnel-group-list enable
error-recovery disable
tunnel-group TAC type remote-access
tunnel-group TAC general-attributes
address-pool (outside) POOL
authentication-server-group ISE
default-group-policy TAC
tunnel-group TAC webvpn-attributes
group-alias TAC enable
ip local pool POOL 192.168.100.50-192.168.100.60 mask 255.255.255.0
为ASA生成的导入PAC(从ISE配置的步骤6)。 使用相同的加密密钥:
BSNS-ASA5512-4# cts import-pac http://10.229.20.86/asa5512.pac password ciscocisco
PAC Imported Successfully
要验证:
BSNS-ASA5512-4# show cts pac
PAC-Info:
Valid until: Apr 11 2016 10:16:41
AID: c2dcb10f6e5474529815aed11ed981bc
I-ID: asa5512
A-ID-Info: Identity Services Engine
PAC-type: Cisco Trustsec
PAC-Opaque:
000200b00003000100040010c2dcb10f6e5474529815aed11ed981bc00060094000301
007915dcb81032f2fdf04bfe938547fad2000000135523ecb300093a8089ee0193bb2c
8bc5cfabf8bc7b9543161e6886ac27e5ba1208ce445018a6b07cc17688baf379d2f1f3
25301fffa98935ae5d219b9588bcb6656799917d2ade088c0a7e653ea1dca530e24274
4366ed375488c4ccc3d64c78a7fc8c62c148ceb58fad0b07d7222a2c02549179dbf2a7
4d4013e8fe
启用cts:
cts server-group ISE
启用cts后,ASA必须从ISE下载环境数据:
BSNS-ASA5512-4# show cts environment-data
CTS Environment Data
====================
Status: Active
Last download attempt: Successful
Environment Data Lifetime: 86400 secs
Last update time: 10:21:41 UTC Apr 11 2015
Env-data expires in: 0:00:37:31 (dd:hr:mm:sec)
Env-data refreshes in: 0:00:27:31 (dd:hr:mm:sec)
在内部接口上配置SGACL。ACL仅允许发起从财务到营销的ICMP流量。
access-list inside extended permit icmp security-group name Finance any security-group name Marketing any
access-group inside in interface inside
ASA必须将标记的名称扩展为编号:
BSNS-ASA5512-4(config)# show access-list inside
access-list inside line 1 extended permit icmp security-group name Finance(tag=2) any security-group name Marketing(tag=3) any (hitcnt=47) 0x5633b153
在ASA的内部接口上启用cts后:
interface GigabitEthernet0/1
nameif inside
cts manual
policy static sgt 100 trusted
security-level 100
ip address 192.168.1.100 255.255.255.0
ASA能够发送和接收TrustSec帧(带CMD字段的以太网帧)。ASA假定所有不带标记的入口帧都必须与标记100一起处理。所有已包含该标记的入口帧都将受信任。
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
dot1x system-auth-control
interface GigabitEthernet1/0/2
description windows7
switchport access vlan 10
switchport mode access
authentication host-mode multi-domain
authentication port-control auto
dot1x pae authenticator
spanning-tree portfast
radius-server host 10.48.66.74 pac key cisco
使用该配置,在成功进行802.1x授权后,用户(通过ISE授权)必须分配标记2(财务)。
同样,对于ASA,cts已配置并指向ISE:
aaa authorization network ise group radius
cts authorization list ise
此外,还为第3层和第2层(所有vlan)启用了实施:
cts role-based enforcement
cts role-based enforcement vlan-list 1-1005,1008-4094
要自动调配PAC:
bsns-3750-5#cts credentials id 3750-5 password ciscocisco
同样,密码必须与ISE(Network Device > Switch > TrustSec)上的相应配置匹配。 现在,Cisco IOS®启动与ISE的EAP-FAST会话以获取PAC。有关该流程的详细信息,请访问:
ASA 和 Catalyst 3750X 系列交换机 TrustSec 配置示例和故障排除指南
要验证是否安装了PAC:
bsns-3750-5#show cts pacs
AID: EA48096688D96EF7B94C679A17BDAD6F
PAC-Info:
PAC-type = Cisco Trustsec
AID: EA48096688D96EF7B94C679A17BDAD6F
I-ID: 3750-5
A-ID-Info: Identity Services Engine
Credential Lifetime: 14:41:24 CEST Jul 10 2015
PAC-Opaque: 000200B00003000100040010EA48096688D96EF7B94C679A17BDAD6F0006009400030100365AB3133998C86C1BA1B418968C60690000001355261CCC00093A808F8A81F3F8C99A7CB83A8C3BFC4D573212C61CDCEB37ED279D683EE0DA60D86D5904C41701ACF07BE98B3B73C4275C98C19A1DD7E1D65E679F3E9D40662B409E58A9F139BAA3BA3818553152F28AE04B089E5B7CBB22A0D4BCEEF80F826A180B5227EAACBD07709DBDCD3CB42AA9F996829AE46F
Refresh timer is set for 4y14w
interface GigabitEthernet1/0/39
switchport access vlan 10
switchport mode access
cts manual
policy static sgt 101 trusted
从现在开始,交换机必须准备好处理和发送TrustSec帧并实施从ISE下载的策略。
使用本部分可确认配置能否正常运行。
本文档的各个部分将介绍验证。
建立到ASA的VPN会话后,必须确认正确的SGT分配:
BSNS-ASA5512-4# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : cisco Index : 13
Assigned IP : 192.168.100.50 Public IP : 10.229.20.86
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA256 DTLS-Tunnel: (1)SHA1
Bytes Tx : 10308 Bytes Rx : 10772
Group Policy : TAC Tunnel Group : TAC
Login Time : 15:00:13 UTC Mon Apr 13 2015
Duration : 0h:00m:25s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : c0a801640000d000552bd9fd
Security Grp : 3:Marketing
根据ISE上的授权规则,所有AnyConnect4用户已分配到营销标记。
交换机上的802.1x会话也是如此。在AnyConnect网络分析模块(NAM)完成后,身份验证交换机将应用从ISE返回的正确标记:
bsns-3750-5#show authentication sessions interface g1/0/2 details
Interface: GigabitEthernet1/0/2
MAC Address: 0050.5699.36ce
IPv6 Address: Unknown
IPv4 Address: 192.168.1.203
User-Name: cisco
Status: Authorized
Domain: DATA
Oper host mode: multi-domain
Oper control dir: both
Session timeout: N/A
Common Session ID: 0A30426D000000130001B278
Acct Session ID: Unknown
Handle: 0x53000002
Current Policy: POLICY_Gi1/0/2
Local Policies:
Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)
Security Policy: Should Secure
Security Status: Link Unsecure
Server Policies:
SGT Value: 2
Method status list:
Method State
dot1x Authc Success
mab Stopped
根据ISE上的授权规则,连接到该交换机的所有用户都必须分配给SGT = 2(财务)。
当您尝试将流量从财务(192.168.1.203)发送到营销(192.168.100.50)时,它会到达ASA的内部接口。对于ICMP回应请求,它会创建会话:
Built outbound ICMP connection for faddr 192.168.100.50/0(LOCAL\cisco, 3:Marketing) gaddr 192.168.1.203/1 laddr 192.168.1.203/1(2)
并增加ACL计数器:
BSNS-ASA5512-4(config)# sh access-list
access-list inside line 1 extended permit icmp security-group name Finance(tag=2) any security-group name Marketing(tag=3) any (hitcnt=138)
这也可以通过查看数据包捕获来确认。请注意,显示的标记正确:
BSNS-ASA5512-4(config)# capture CAP interface inside
BSNS-ASA5512-4(config)# show capture CAP
1: 15:13:05.736793 INLINE-TAG 2 192.168.1.203 > 192.168.100.50: icmp: echo request
2: 15:13:05.772237 INLINE-TAG 3 192.168.100.50 > 192.168.1.203: icmp: echo reply
3: 15:13:10.737236 INLINE-TAG 2 192.168.1.203 > 192.168.100.50: icmp: echo request
4: 15:13:10.772726 INLINE-TAG 3 192.168.100.50 > 192.168.1.203: icmp: echo reply
SGT = 2(财务)标记的传入ICMP回应请求,然后是ASA标记的VPN用户的响应,SGT = 3(营销)。 另一个故障排除工具Packet Tracer也已准备好TrustSec。
遗憾的是,802.1x PC没有看到该答案,因为它被交换机上的无状态RBACL阻止(下一节中的解释)。
另一个故障排除工具Packet Tracer也已准备好TrustSec。让我们确认是否接受来自财务部门的传入ICMP数据包:
BSNS-ASA5512-4# packet-tracer input inside icmp inline-tag 2 192.168.1.203 8 0 192.168.100.50
Mapping security-group 3:Marketing to IP address 192.168.100.50
Phase: 1
Type: CAPTURE
Subtype:
Result: ALLOW
Config:
Additional Information:
MAC Access list
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list
Phase: 3
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 10.48.66.1 using egress ifc outside
Phase: 4
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group inside in interface inside
access-list inside extended permit icmp security-group name Finance any security-group name Marketing any
Additional Information:
<some output omitted for clarity>
Phase: 13
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 4830, packet dispatched to next module
Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: NP Identity Ifc
output-status: up
output-line-status: up
Action: allow
我们还要尝试启动从财务到营销的任何TCP连接,必须由ASA阻止:
Deny tcp src inside:192.168.1.203/49236 dst outside:192.168.100.50/445(LOCAL\cisco, 3:Marketing) by access-group "inside" [0x0, 0x0]
让我们验证交换机是否已正确从ISE下载策略:
bsns-3750-5#show cts role-based permissions
IPv4 Role-based permissions default:
Permit IP-00
IPv4 Role-based permissions from group 2:Finance to group Unknown:
test_deny-30
IPv4 Role-based permissions from group 8 to group Unknown:
permit_icmp-10
IPv4 Role-based permissions from group Unknown to group 2:Finance:
test_deny-30
Permit IP-00
IPv4 Role-based permissions from group 3:Marketing to group 2:Finance:
telnet445-60
Deny IP-00
RBACL Monitor All for Dynamic Policies : FALSE
RBACL Monitor All for Configured Policies : FALSE
控制从市场营销到财务的流量的策略已正确安装。根据RBACL,仅允许tcp/445:
bsns-3750-5#show cts rbacl telnet445
CTS RBACL Policy
================
RBACL IP Version Supported: IPv4
name = telnet445-60
IP protocol version = IPV4
refcnt = 2
flag = 0x41000000
stale = FALSE
RBACL ACEs:
permit tcp dst eq 445
这就是从营销到财务的ICMP回应响应被丢弃的原因。这可以通过检查从SGT 3到SGT 2的流量的计数器来确认:
bsns-3750-5#show cts role-based counters
Role-based IPv4 counters
# '-' in hardware counters field indicates sharing among cells with identical policies
From To SW-Denied HW-Denied SW-Permitted HW-Permitted
* * 0 0 223613 3645233
0 2 0 0 0 122
3 2 0 65 0 0
2 0 0 0 179 0
8 0 0 0 0 0
硬件丢弃了数据包(当前计数器为65,每1秒增加一次)。
如果从Marketing(营销)部门发起tcp/445连接,情况会如何?
ASA允许(由于“sysopt connection permit-vpn”而接受所有VPN流量):
Built inbound TCP connection 4773 for outside:192.168.100.50/49181 (192.168.100.50/49181)(LOCAL\cisco, 3:Marketing) to inside:192.168.1.203/445 (192.168.1.203/445) (cisco)
创建了正确的会话:
BSNS-ASA5512-4(config)# show conn all | i 192.168.100.50
TCP outside 192.168.100.50:49181 inside 192.168.1.203:445, idle 0:00:51, bytes 0, flags UB
而且,Cisco IOS®接受它,因为它与telnet445 RBACL匹配。正确的计数器增加:
bsns-3750-5#show cts role-based counters from 3 to 2
3 2 0 65 0 3
(最后一列是硬件允许的流量)。 允许会话。
本示例是为了显示ASA和Cisco IOS®上TrustSec策略配置和实施的差异。 请注意从ISE(无状态RBACL)下载的Cisco IOS®策略与TrustSec感知状态区域防火墙的区别。