In questo articolo vengono descritte le funzionalità di blocco dei gruppi su Cisco Adaptive Security Appliance (ASA) e su Cisco IOS® e viene descritto il comportamento dei diversi attributi di autenticazione, autorizzazione e accounting (AAA). Per Cisco IOS, viene spiegata la differenza tra i gruppi group-lock e gli utenti-vpn-group e un esempio che usa entrambe le funzionalità complementari contemporaneamente. È inoltre disponibile un esempio di Cisco IOS WebVPN con domini di autenticazione.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni di questo documento si basano sulle seguenti versioni software:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
È possibile definire questo attributo nell'ambito dell'utente o dei criteri di gruppo. Di seguito è riportato un esempio per l'attributo utente locale.
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
L'utente cisco può usare solo il gruppo di tunnel RA e l'utente cisco2 può usare solo il gruppo di tunnel RA2.
Se l'utente cisco2 sceglie il gruppo di tunnel RA, la connessione viene negata:
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.
L'attributo 3076/85 (Tunnel-Group-Lock) restituito dal server AAA ha esattamente lo stesso effetto. Può essere passata insieme all'autenticazione dell'utente o del gruppo di criteri (o all'attributo 25 della Internet Engineering Task Force (IETF)) e blocca l'utente in un gruppo di tunnel specifico.
Di seguito è riportato un esempio di profilo di autorizzazione su Cisco Access Control Server (ACS):
Quando l'attributo viene restituito da AAA, i debug RADIUS lo indicano:
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
Il risultato è lo stesso quando si tenta di accedere al gruppo di tunnel RA2 mentre il gruppo è bloccato all'interno del gruppo di tunnel RA:
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
Questo attributo viene preso anche dalla directory VPN3000 ereditata dall'ASA. È ancora presente nella guida alla configurazione 8.4 (sebbene venga rimossa in una versione più recente della guida alla configurazione) e descritta come:
IPsec-User-Group-Lock
0 = Disabled
1 = Enabled
Sembra che l'attributo possa essere usato per disabilitare il blocco di gruppo, anche se è presente l'attributo Tunnel-Group-Lock. Se si tenta di restituire l'attributo impostato su 0 insieme a Tunnel-Group-Lock (si tratta ancora solo dell'autenticazione utente), l'operazione viene eseguita di seguito. Se si tenta di disattivare il blocco di gruppo restituendo il nome di un gruppo di tunnel specifico, si verifica un errore anomalo:
Debug visualizzati:
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
In questo modo si ottiene lo stesso risultato (è stato applicato il blocco dei gruppi e IPSec-User-Group-Lock non è stato preso in considerazione).
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
Il criterio di gruppo esterno ha restituito IPSec-User-Group-Lock=0 e ha ottenuto anche Tunnel-Group-Lock=RA per l'autenticazione utente. Tuttavia, l'utente è stato bloccato, ovvero è stato eseguito il blocco gruppo.
Per la configurazione opposta, i criteri di gruppo esterni restituiscono un nome di gruppo di tunnel specifico (Tunnel-Group-Lock) mentre tentano di disabilitare il blocco di gruppo per un utente specifico (IPSec-User-Group-Lock=0) e il blocco di gruppo è ancora applicato per tale utente.
Ciò conferma che l'attributo non è più utilizzato. Questo attributo è stato utilizzato nella vecchia serie VPN3000. L'ID bug Cisco CSCui34066 è stato aperto.
L'opzione local group-lock nella configurazione del gruppo in Cisco IOS funziona in modo diverso rispetto all'appliance ASA. Sull'appliance ASA, è possibile specificare il nome del gruppo di tunnel a cui è bloccato l'utente. L'opzione group-lock di Cisco IOS (senza argomenti) consente di eseguire ulteriori verifiche e confronta il gruppo fornito con il nome utente (formato user@group) con IKEID (nome gruppo).
Per ulteriori informazioni, consultare la guida alla configurazione di Easy VPN, Cisco IOS versione 15M&T.
Di seguito è riportato un esempio:
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
Ciò indica che la verifica del blocco del gruppo è abilitata per GROUP1. Per GROUP1, l'unico utente consentito è cisco1@GROUP1. Per GROUP2 (nessun blocco del gruppo), entrambi gli utenti sono in grado di accedere.
Per un'autenticazione corretta, utilizzare cisco1@GROUP1 con 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
Per l'autenticazione, utilizzare cisco2@GROUP2 con GROUP1:
*May 19 18:24:10.210: ISAKMP:(1011):User Authentication in this group failed
ipsec:user-vpn-group è l'attributo RADIUS restituito dal server AAA e può essere applicato solo per l'autenticazione dell'utente (per il gruppo è stato utilizzato group-lock). Entrambe le feature sono complementari e vengono applicate in fasi diverse.
Per ulteriori informazioni, fare riferimento alla guida alla configurazione di Easy VPN, Cisco IOS release 15M&T.
Funziona in modo diverso rispetto al blocco gruppo e consente comunque di ottenere lo stesso risultato. La differenza è che l'attributo deve avere un valore specifico (come per l'ASA) e tale valore viene confrontato con il nome del gruppo ISAKMP (Internet Security Association and Key Management Protocol) (IKEID); se non corrisponde, la connessione non riesce. Di seguito viene riportato ciò che accade se si modifica l'esempio precedente per avere l'autenticazione AAA del client e disabilitare per il momento il blocco di gruppo:
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
Si noti che per l'utente è definito l'attributo ipsec:user-vpn-group e che per il gruppo è definito group-lock.
Su ACS, ci sono due utenti, cisco1 e cisco2. Per l'utente cisco1, viene restituito questo attributo: ipsec:user-vpn-group=GROUP1. Per l'utente cisco2, viene restituito questo attributo: ipsec:user-vpn-group=GROUP2.
Quando l'utente cisco2 tenta di eseguire l'accesso con GROUP1, viene segnalato questo errore:
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
Infatti, il valore ACS per l'utente cisco2 restituisce ipsec:user-vpn-group=GROUP2, che viene confrontato da Cisco IOS con GROUP1.
In questo modo, è stato raggiunto lo stesso obiettivo di Group-Lock. Come si può notare al momento, l'utente finale non deve specificare user@group come nome utente, ma può utilizzare user (senza @group).
Per group-lock, utilizzare cisco1@GROUP1, perché Cisco IOS ha rimosso l'ultima parte (dopo @) e l'ha confrontata con IKEID (nome del gruppo).
Per il parametro ipsec:user-vpn-group, è sufficiente utilizzare solo cisco1 nel client VPN Cisco, in quanto tale utente è definito nell'ACS e viene restituito il parametro ipsec:user-vpn-group specifico (in questo caso, è =GROUP1) e tale attributo viene confrontato con IKEID.
Perché non è consigliabile utilizzare entrambe le funzionalità contemporaneamente?
È possibile aggiungere di nuovo il blocco di gruppo:
crypto isakmp client configuration group GROUP1
group-lock
crypto isakmp client configuration group GROUP2
group-lock
Ecco il flusso:
*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
Sull'appliance ASA, il comando Tunnel-Group-Lock può essere usato per tutti i servizi VPN di accesso remoto (IPSec, SSL, WebVPN). Per il group-lock Cisco IOS e ipsec:user-vpn-group, funziona solo per IPSec (easy VPN server). Per bloccare utenti specifici in contesti WebVPN specifici (e criteri di gruppo associati), è consigliabile utilizzare i domini di autenticazione.
Di seguito è riportato un esempio:
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
Nell'esempio seguente vengono illustrati due contesti: C1 e C2. Ogni contesto dispone di criteri di gruppo specifici con impostazioni specifiche. C1 consente l'accesso ad AnyConnect. Il gateway è configurato per l'ascolto di entrambi i contesti: C1 e C2.
Quando l'utente cisco1 accede al contesto C1 con https://10.48.67.137/C1, il dominio di autenticazione aggiunge C1 e esegue l'autenticazione in base al nome utente (elenco) cisco1@C1 definito localmente:
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"
Quando si tenta di accedere con cisco2 come nome utente mentre si accede al contesto C1 (https://10.48.67.137/C1), viene segnalato questo errore:
*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
Ciò è dovuto al fatto che non è stato definito alcun cisco2@C1 utente. l'utente cisco non è in grado di accedere ad alcun contesto.
Attualmente non è disponibile una procedura di verifica per questa configurazione.
Al momento non sono disponibili informazioni specifiche per la risoluzione dei problemi di questa configurazione.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
25-Apr-2014 |
Versione iniziale |