本文介紹Cisco Adaptive Security Appliance(ASA)和Cisco IOS®中的組鎖定功能,並顯示不同身份驗證、授權和記帳(AAA)屬性的行為。對於Cisco IOS,group-lock和user-vpn-groups之間的區別將隨同時使用兩個互補功能的示例一起解釋。還有一個帶有身份驗證域的Cisco IOS WebVPN示例。
思科建議您瞭解以下主題的基本知識:
本檔案中的資訊是根據以下軟體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
您可以在使用者或組策略下定義此屬性。以下是本地使用者屬性的示例。
username cisco password 3USUcOPFUiMCO4Jk encrypted
username cisco attributes
group-lock value RA
username cisco2 password BAtr3u1T7j1eEcYr encrypted
username cisco2 attributes
group-lock value RA2
tunnel-group RA type remote-access
tunnel-group RA general-attributes
default-group-policy MY
tunnel-group RA webvpn-attributes
group-alias RA enable
tunnel-group RA2 type remote-access
tunnel-group RA2 general-attributes
default-group-policy MY
tunnel-group RA2 webvpn-attributes
group-alias RA2 enable
group-policy MY attributes
address-pools value POOL
webvpn
enable inside
anyconnect enable
tunnel-group-list enable
思科使用者只能使用RA隧道組,思科2使用者只能使用RA2隧道組。
如果cisco2使用者選擇RA通道群組,則連線會遭到拒絕:
May 17 2013 17:24:54: %ASA-4-113040: Group <MY> User <cisco2> IP <192.168.1.88>
Terminating the VPN connection attempt from <RA>. Reason: This connection is
group locked to.
AAA伺服器傳回的屬性3076/85(Tunnel-Group-Lock)的作用完全相同。它可以隨使用者或策略組(或Internet工程任務組(IETF)屬性25)身份驗證一起傳遞,並將使用者鎖定在特定隧道組中。
以下是思科存取控制伺服器(ACS)上的授權設定檔範例:
當AAA傳回屬性時,RADIUS偵錯會指出它:
tunnel-group RA2 general-attributes
authentication-server-group ACS54
Parsed packet data.....
Radius: Code = 2 (0x02)
Radius: Identifier = 2 (0x02)
Radius: Length = 61 (0x003D)
Radius: Vector: E55D5EBF1558CA455DA46F5BF3B67354
Radius: Type = 1 (0x01) User-Name
Radius: Length = 7 (0x07)
Radius: Value (String) =
63 69 73 63 6f | cisco
Radius: Type = 25 (0x19) Class
Radius: Length = 24 (0x18)
Radius: Value (String) =
43 41 43 53 3a 61 63 73 35 34 2f 31 35 38 33 33 | CACS:acs54/15833
34 34 38 34 2f 33 | 4484/3
Radius: Type = 26 (0x1A) Vendor-Specific
Radius: Length = 10 (0x0A)
Radius: Vendor ID = 3076 (0x00000C04)
Radius: Type = 85 (0x55) The tunnel group that tunnel must be associated with
Radius: Length = 4 (0x04)
Radius: Value (String) =
52 41 | RA
rad_procpkt: ACCEPT
RADIUS_ACCESS_ACCEPT: normal termination
當您嘗試在RA tunnel-group中鎖定組時訪問RA2 tunnel-group時,結果相同:
May 17 2013 17:41:33: %ASA-4-113040: Group <MY> User <cisco> IP <192.168.1.88>
Terminating the VPN connection attempt from <RA2>. Reason: This connection is
group locked to
此屬性還取自ASA繼承的VPN3000目錄。它仍存在於8.4 配置指南中(儘管在配置指南的更新版本中將其刪除),說明如下:
IPsec-User-Group-Lock
0 = Disabled
1 = Enabled
即使存在Tunnel-Group-Lock屬性,該屬性似乎也可用於禁用組鎖定。如果您嘗試將屬性集與Tunnel-Group-Lock一起返回0(這仍只是使用者身份驗證),則會發生以下情況。當您嘗試在返回特定隧道組名稱時禁用組鎖定時,看起來很奇怪:
調試顯示:
Parsed packet data.....
Radius: Code = 2 (0x02)
Radius: Identifier = 3 (0x03)
Radius: Length = 73 (0x0049)
Radius: Vector: 7C6260DDFC3E523CCC34AD8B828DD014
Radius: Type = 1 (0x01) User-Name
Radius: Length = 7 (0x07)
Radius: Value (String) =
63 69 73 63 6f | cisco
Radius: Type = 25 (0x19) Class
Radius: Length = 24 (0x18)
Radius: Value (String) =
43 41 43 53 3a 61 63 73 35 34 2f 31 35 38 33 33 | CACS:acs54/15833
34 34 38 34 2f 34 | 4484/4
Radius: Type = 26 (0x1A) Vendor-Specific
Radius: Length = 12 (0x0C)
Radius: Vendor ID = 3076 (0x00000C04)
Radius: Type = 33 (0x21) Group-Lock
Radius: Length = 6 (0x06)
Radius: Value (Integer) = 0 (0x0000)
Radius: Type = 26 (0x1A) Vendor-Specific
Radius: Length = 10 (0x0A)
Radius: Vendor ID = 3076 (0x00000C04)
Radius: Type = 85 (0x55) The tunnel group that tunnel must be associated with
Radius: Length = 4 (0x04)
Radius: Value (String) =
52 41 | RA
rad_procpkt: ACCEPT
這會產生相同的結果(已實施組鎖定,但未考慮IPSec-User-Group-Lock)。
May 17 2013 17:42:34: %ASA-4-113040: Group <MY> User <cisco> IP <192.168.1.88>
Terminating the VPN connection attempt from <RA2>. Reason: This connection is
group locked to
外部組策略返回IPSec-User-Group-Lock=0,並且獲取了用於使用者身份驗證的Tunnel-Group-Lock=RA。使用者仍然被鎖定,這意味著已執行組鎖定。
對於相反的配置,當外部組策略嘗試為特定使用者禁用組鎖定(IPSec-User-Group-Lock=0)時,它返回特定隧道組名稱(Tunnel-Group-Lock),並且仍對該使用者強制執行組鎖定。
這確認不再使用該屬性。該屬性用於舊的VPN3000系列。思科錯誤ID CSCui34066已開啟。
Cisco IOS中組配置下的本地group-lock選項的工作方式與ASA上的不同。在ASA上,指定使用者被鎖定的隧道組名稱。Cisco IOS group-lock選項(無引數)啟用其他驗證並將使用者名稱(格式user@group)提供的組與IKEID(組名)進行比較。
有關詳細資訊,請參閱Easy VPN配置指南Cisco IOS版本15M&T。
以下是範例:
aaa new-model
aaa authentication login LOGIN local
aaa authorization network LOGIN local
username cisco1@GROUP1 password 0 cisco1
username cisco2@GROUP2 password 0 cisco2
crypto isakmp client configuration group GROUP1
key cisco
pool POOL
group-lock
save-password
!
crypto isakmp client configuration group GROUP2
key cisco
pool POOL
save-password
crypto isakmp profile prof1
match identity group GROUP1
client authentication list LOGIN
isakmp authorization list LOGIN
client configuration address respond
client configuration group GROUP1
virtual-template 1
crypto isakmp profile prof2
match identity group GROUP2
client authentication list LOGIN
isakmp authorization list LOGIN
client configuration address respond
client configuration group GROUP2
virtual-template 2
crypto ipsec transform-set aes esp-aes 256 esp-sha-hmac
mode tunnel
crypto ipsec profile prof1
set transform-set aes
set isakmp-profile prof1
crypto ipsec profile prof2
set transform-set aes
set isakmp-profile prof2
interface Virtual-Template1 type tunnel
ip unnumbered Ethernet0/0
tunnel mode ipsec ipv4
tunnel protection ipsec profile prof1
interface Virtual-Template2 type tunnel
ip unnumbered Ethernet0/0
tunnel mode ipsec ipv4
tunnel protection ipsec profile prof2
ip local pool POOL 10.10.10.10 10.10.10.15
這顯示為GROUP1啟用了組鎖定驗證。對於GROUP1,只允許使用者cisco1@GROUP1。對於GROUP2(無組鎖定),兩個使用者均能夠登入。
要成功進行身份驗證,請使用cisco1@GROUP1和GROUP1:
*May 19 18:21:37.983: ISAKMP:(0): Profile prof1 assigned peer the group named GROUP1
*May 19 18:21:40.595: ISAKMP/author: Author request for group GROUP1successfully
sent to AAA
要進行身份驗證,請將cisco2@GROUP2與GROUP1一起使用:
*May 19 18:24:10.210: ISAKMP:(1011):User Authentication in this group failed
ipsec:user-vpn-group是AAA伺服器返回的RADIUS屬性,它只能應用於使用者身份驗證(組鎖定用於該組)。 這兩個功能是互補的,並且它們在不同階段應用。
有關詳細資訊,請參閱Easy VPN配置指南,Cisco IOS版本15M&T。
它的工作方式與組鎖定不同,並且仍然允許您獲得相同的結果。不同之處在於,屬性必須具有特定值(如ASA),並且將該特定值與網際網路安全關聯和金鑰管理協定(ISAKMP)組名稱(IKEID)進行比較;如果不匹配,則連線失敗。如果要更改上一個示例,以便立即進行客戶端AAA身份驗證並禁用group-lock,將會發生以下情況:
username cisco password 0 cisco #for testing
aaa authentication login AAA group radius
crypto isakmp client configuration group GROUP1
no group-lock
crypto isakmp client configuration group GROUP2
no group-lock
crypto isakmp profile prof1
client authentication list AAA
crypto isakmp profile prof2
client authentication list AAA
請注意,為使用者定義了ipsec:user-vpn-group屬性,為組定義了組鎖定。
ACS上有兩個使用者:cisco1和cisco2。對於cisco1使用者,此屬性返回:ipsec:user-vpn-group=GROUP1。對於cisco2使用者,此屬性返回:ipsec:user-vpn-group=GROUP2。
當cisco2使用者嘗試使用GROUP1登入時,報告以下錯誤:
debug radius verbose
debug crypto isakmp
debug crypto isakmp aaa
*May 19 19:44:10.153: RADIUS: Cisco AVpair [1] 29
"ipsec:user-vpn-group=GROUP2"
*May 19 19:44:10.153: RADIUS(00000055): Received from id 1645/23
AAA/AUTHOR/IKE: Processing AV user-vpn-group
*May 19 19:44:10.154:
AAA/AUTHOR/IKE: User group GROUP2 does not match VPN group GROUP1 - access denied
這是因為cisco2使用者的ACS傳回ipsec:user-vpn-group=GROUP2,而Cisco IOS會將其與GROUP1進行比較。
這樣,就實現了與群鎖相同的目標。您可以看到,目前,終端使用者無需提供user@group作為使用者名稱,但可以使用user(不帶@group)。
對於group-lock,應使用cisco1@GROUP1,因為Cisco IOS刪除了最後部分(@之後),並將其與IKEID(組名)進行比較。
對於ipsec:user-vpn-group,在Cisco VPN客戶端中僅使用cisco1就足夠了,因為該使用者是在ACS上定義的,並且返回了特定的ipsec:user-vpn-group(在本例中為=GROUP1),並且將該屬性與IKEID進行比較。
為什麼不能同時使用這兩個功能?
您可以再次新增組鎖定:
crypto isakmp client configuration group GROUP1
group-lock
crypto isakmp client configuration group GROUP2
group-lock
以下是流程:
*May 19 20:14:31.678: ISAKMP/xauth: reply attribute XAUTH_USER_NAME_V2
*May 19 20:14:31.678: ISAKMP/xauth: reply attribute XAUTH_USER_PASSWORD_V2
*May 19 20:14:31.678: ISAKMP:(1041):User Authentication in this group failed
AAA/AUTHOR/IKE: User group GROUP2 does not match VPN group GROUP1 - access denied
在ASA上,Tunnel-Group-Lock可用於所有遠端訪問VPN服務(IPSec、SSL、WebVPN)。 對於Cisco IOS group-lock和ipsec:user-vpn-group,它僅適用於IPSec(easy VPN伺服器)。 為了對特定WebVPN環境(和附加的組策略)中的特定使用者進行組鎖定,應使用身份驗證域。
以下是範例:
aaa new-model
aaa authentication login LIST local
username cisco password 0 cisco
username cisco1@C1 password 0 cisco
username cisco2@C2 password 0 cisco
webvpn gateway GW
ip address 10.48.67.137 port 443
http-redirect port 80
logging enable
inservice
!
webvpn install svc flash:/webvpn/anyconnect-win-3.1.02040-k9.pkg sequence 1
!
webvpn context C1
ssl authenticate verify all
!
policy group C1
functions file-access
functions file-browse
functions file-entry
functions svc-enabled
svc address-pool "POOL"
svc default-domain "cisco.com"
svc keep-client-installed
default-group-policy C1
aaa authentication list LIST
aaa authentication domain @C1
gateway GW domain C1 #accessed via https://IP/C1
logging enable
inservice
!
!
webvpn context C2
ssl authenticate verify all
url-list "L2"
heading "Link2"
url-text "Display2" url-value "http://2.2.2.2"
policy group C2
url-list "L2"
default-group-policy C2
aaa authentication list LIST
aaa authentication domain @C2
gateway GW domain C2 #accessed via https://IP/C2
logging enable
inservice
ip local pool POOL 7.7.7.10 7.7.7.20
在下一個示例中,有兩個上下文:C1和C2。每個情景都有自己的組策略,並帶有特定設定。C1允許AnyConnect訪問。網關配置為偵聽兩個情景:C1和C2。
當cisco1使用者使用https://10.48.67.137/C1訪問C1情景時,身份驗證域會新增C1,並根據本地定義的(清單LIST)cisco1@C1使用者名稱:
debug webvpn aaa
debug webvpn
*May 20 16:30:07.518: WV: validated_tp : cert_username : matched_ctx :
*May 20 16:30:07.518: WV-AAA: AAA authentication request sent for user: "cisco1"
*May 20 16:30:07.518: WV: ASYNC req sent
*May 20 16:30:07.518: WV-AAA: AAA Authentication Passed!
*May 20 16:30:07.518: %SSLVPN-5-LOGIN_AUTH_PASSED: vw_ctx: C1 vw_gw: GW remote_ip:
10.61.218.146 user_name: cisco1, Authentication successful, user logged in
*May 20 16:30:07.518: WV-AAA: User "cisco1" has logged in from "10.61.218.146" to gateway "GW"
context "C1"
當您在訪問C1情景(https://10.48.67.137/C1)時嘗試使用cisco2作為使用者名稱登入時,會報告以下故障:
*May 20 16:33:56.930: WV: validated_tp : cert_username : matched_ctx :
*May 20 16:33:56.930: WV-AAA: AAA authentication request sent for user: "cisco2"
*May 20 16:33:56.930: WV: ASYNC req sent
*May 20 16:33:58.930: WV-AAA: AAA Authentication Failed!
*May 20 16:33:58.930: %SSLVPN-5-LOGIN_AUTH_REJECTED: vw_ctx: C1 vw_gw: GW
remote_ip: 10.61.218.146 user_name: cisco2, Failed to authenticate user credentials
這是因為沒有cisco2@C1使用者定義。思科使用者無法登入任何上下文。
目前沒有適用於此組態的驗證程序。
目前尚無適用於此組態的具體疑難排解資訊。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
25-Apr-2014 |
初始版本 |