La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come configurare la funzionalità Maximum Sessions introdotta in Identity Services Engine (ISE) 2.2.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
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.
La funzionalità Sessioni massime consente di controllare e applicare le sessioni in tempo reale per utente o per gruppo di identità. Questo documento è destinato alle sessioni RADIUS, ma può essere usato anche per le sessioni TACACS.
ISE versione 2.2 è in grado di rilevare e creare regole di applicazione basate sulla sessione simultanea di:
L'applicazione e il conteggio di una sessione concorrente sono univoci e gestiti da ogni PSN (Policy Service Node). Nessuna sincronizzazione tra i PSN in termini di numero di sessioni. La funzione Sessione concorrente viene implementata nel processo di runtime e i dati vengono memorizzati solo nella memoria. In caso di riavvio del PSN, i contatori MaxSessions vengono reimpostati.
Per il numero di sessioni utente non viene fatta distinzione tra maiuscole e minuscole in relazione ai nomi utente e non viene utilizzata la periferica di accesso alla rete (purché si utilizzi lo stesso nodo PSN).
Passare a Amministrazione > Sistema > Impostazioni > Sessioni massime come mostrato nell'immagine:
Per attivare la funzione, deselezionare la casella di controllo Sessione illimitata per utente, che è selezionata per impostazione predefinita. Nel campo Numero massimo di sessioni per utente configurare il numero di sessioni che un utente specifico può avere su ogni PSN. In questo esempio viene impostato su 2.
Questa configurazione interessa anche gli utenti di origini di identità esterne, ad esempio Active Directory.
Bob è il nome utente di un account del dominio di Active Directory connesso e collegato al server ISE. User Maximum Sessions è configurato con il valore 2, ovvero non è consentita alcuna sessione per lo stesso utente oltre questo numero (per PSN).
Come mostrato nell'immagine, l'utente Bob si connette con Android Phone e il computer Windows con le stesse credenziali:
Entrambe le sessioni sono consentite perché non viene superato il limite massimo di sessioni. Vedere il registro dettagliato di Radius Live, mostrato nell'immagine:
Il passaggio 22081 del criterio Numero massimo di sessioni passato fornisce informazioni sull'esito positivo del controllo del numero massimo di sessioni simultanee.
Una volta avviata la terza connessione con un altro dispositivo e le stesse credenziali, Bob riceve PermitAccess, ma Access-Reject viene inviato all'autenticatore:
La sessione non è consentita, anche se nel registro Radius Live è presente il profilo di autorizzazione corretto. Per controllare le sessioni attive, selezionare Operazioni > Raggio > Sessioni attive:
In questo caso, entrambe le sessioni hanno lo stato Started (Avviato), che indica che l'Accounting Start è arrivato su ISE per la sessione. È necessario ricevere l'accounting Radius affinché Max Session funzioni correttamente. Lo stato Authenticated (Session consentita, ma nessun accounting) non viene preso in considerazione durante il conteggio delle sessioni:
Selezionare Amministrazione > Sistema > Impostazioni > Sessioni massime > Gruppo:
Questa configurazione impone un massimo di 2 sessioni per il gruppo di identità interno GroupTest2: è possibile configurare l'imposizione per gruppo solo per i gruppi interni.
Alice, Pablo e Peter sono gli utenti del Negozio Interno ISE. Tutti sono membri del gruppo denominato GroupTest2. In base alla configurazione di questo esempio, il valore massimo delle sessioni è impostato su 2 in base all'appartenenza al gruppo.
Pablo e Peter si connettono alla rete con le credenziali del gruppo interno denominato GroupTest2:
Quando Alice tenta di connettersi, viene applicato il limite MaxSessions per gruppo:
Alice non è autorizzata a connettersi alla rete perché il limite massimo di gruppi di sessioni è utilizzato da Peter e Pablo:
Se è stato configurato User Maximum Sessions, entrambe le funzionalità funzioneranno in modo indipendente. In questo esempio, User Max Sessions è impostato su 1 e Maximum Session for Group è impostato su 2.
Peter è autorizzato in base alla sessione massima per il gruppo (2 sessioni), ma a causa della configurazione delle sessioni massime dell'utente (una sessione) non riesce a connettersi alla rete:
Se l'utente è membro di più gruppi contemporaneamente e il numero massimo di sessioni per il gruppo è configurato per tali utenti, dopo la connessione ISE aumenta il contatore del numero massimo di sessioni per la cache del gruppo per ogni gruppo a cui l'utente appartiene.
In questo esempio, Alice e Paolo sono membri di GroupTest1 e GroupTest2. Veronica appartiene solo a GroupTest1 e Peter a GroupTest2
Max Session for Group è impostato su 2 per GroupTest1 e GroupTest2:
Quando Alice e Pablo sono connessi alla rete, superano i limiti di sessione per entrambi i gruppi. Veronica, che appartiene solo a GroupTest1 e Peter, membro di GroupTest2, non è in grado di connettersi perché Max Session per Group ha raggiunto il valore configurato massimo:
Passare a Amministrazione > Sistema > Impostazioni > Sessioni massime > Gruppo.
Questa configurazione impone un massimo di 2 sessioni per il GroupTest2 del gruppo di identità interno.
Alice è membro di GroupTest2:
Questa funzione funziona in modo simile a User Maximum Session - ISE limita il numero di sessioni simultanee che un utente all'interno del gruppo interno specificato può avere. Questa configurazione ha effetto solo sull'utente che appartiene al gruppo configurato.
Alice, in qualità di membro di GroupTest2, può avere due sessioni simultanee. Una volta connessa al terzo dispositivo, ISE restituisce PermitAccess e Access-Reject in base al superamento del valore di Maximum Session for User in Group:
Log dettagliati Radius-Live:
Se è attivata anche l'opzione Sessioni massime utente, entrambe le funzionalità funzionano in modo indipendente. Se un utente Alice è membro del gruppo GroupTest2 con la sessione massima per l'utente nel gruppo configurato per 2 e contemporaneamente la configurazione di User Max Sessions consente solo una sessione per utente, la priorità sarà User Max Sessions:
Quando Alice tenta di connettersi con il secondo dispositivo, ISE restituisce Access-Reject in base al superamento del limite massimo di utenti per sessione:
Il motivo del rifiuto può essere controllato nel dettagliato Raggio Live-Log. Il limite massimo di sessioni utente è la causa dell'errore:
Passare a Amministrazione > Sistema > Impostazioni > Sessioni massime > Gruppo.
Questa configurazione impone un numero massimo di sessioni pari a 3 nel gruppo di identità interno GroupTest2 e un numero massimo di sessioni pari a 2 per l'utente in tale gruppo.
Alice e Pablo sono membri di GroupTest2. In base alla configurazione di questo esempio, in GroupTest2 è consentito un massimo di 3 sessioni. ISE garantisce che un singolo utente possa avere al massimo 2 sessioni all'interno di questo gruppo.
Alice si connette tramite due dispositivi. Entrambi gli endpoint sono connessi alla rete:
Quando Alice tenta di connettersi tramite un terzo dispositivo, l'accesso viene negato e viene superato il limite massimo di sessioni per l'utente nel gruppo:
Se Pablo tenta di accedere alla rete, è in grado di farlo poiché Max Session for Group, GroupTest2, non è ancora pieno:
Quando Pablo tenta di accedere alla rete da un secondo dispositivo, non riesce perché ha superato il limite massimo di sessioni per il gruppo (anche se ha solo 1 sessione):
Come negli esempi precedenti, se si abilita Sessioni massime utente, questa funzione viene eseguita in modo indipendente.
Passare a Amministrazione > Sistema > Impostazioni > Sessioni massime > Limite di tempo contatore.
Il limite di tempo del contatore è la funzione che specifica l'intervallo di tempo durante il quale la sessione viene conteggiata in termini di cache sessione massima. Questa funzionalità consente di specificare il tempo trascorso il quale il PSN elimina la sessione dal contatore e consente nuove sessioni.
Per attivare la funzione, è necessario deselezionare la casella di controllo Illimitato - nessun limite di tempo che è selezionata per impostazione predefinita. Nel campo modificabile, è possibile impostare il tempo durante il quale la sessione viene presa in considerazione nei contatori di MaxSession.
Tenere presente che le sessioni dopo il tempo configurato non vengono disconnesse o rimosse dal database delle sessioni. Dopo l'ora configurata non è presente alcun CoA (Terminate Chain of Authorization).
User Max Session è impostato per consentire una sola sessione per l'utente:
Alice si connette alla rete utilizzando l'indirizzo IP alle 11:00:34, la seconda autenticazione avviene alle 11:07 e l'accesso è consentito anche se viene superato il valore User Maximum Session. Entrambe le autenticazioni hanno esito positivo a causa del limite di tempo del contatore.
Alice cerca di collegarsi a un altro dispositivo prima che siano trascorsi 5 minuti dall'ultimo passaggio di connessione riuscito. ISE rifiuta l'autenticazione:
Dopo 5 minuti dall'ultima autenticazione, Alice è riuscita a connettersi alla rete con un dispositivo aggiuntivo.
Nelle sessioni in diretta, è possibile vedere tutte e tre le sessioni nello stato Avviato:
Con una sessione configurata in Sessione massima utente, è ancora possibile connettersi con l'account Guest1 per entrambe le sessioni:
Per limitare l'accesso guest, è possibile specificare il numero massimo di accessi simultanei nella configurazione Guest Type.
Passare a Centri di lavoro > Accesso guest > Portale e componenti > Tipi guest e modificare l'opzione Numero massimo di accessi simultanei, come mostrato nell'immagine:
Se in Sessione massima utente è configurata una sessione, non è possibile connettersi:
Come per i Live Log Radius, il Guest1 è sempre correttamente autenticato in termini di autenticazione del portale. Dopo che WLC ha inviato la richiesta RADIUS con la seconda sessione per Guest1, ISE nega l'accesso a causa del superamento del limite di utenti:
Il report dettagliato sul raggio è il primo strumento per la risoluzione dei problemi relativi alla feature MaxSession.
Questo motivo di errore indica che il limite massimo globale di sessioni utente è stato superato per questa sessione/utente, come mostrato nell'immagine:
Questo motivo di errore indica che il limite massimo di sessioni del gruppo è stato superato per questa sessione/utente, come mostrato nell'immagine:
Questo motivo di errore indica che per la sessione o l'utente corrente è stato superato il limite massimo di sessioni per gli utenti del gruppo.
Il controllo della cache MaxSession avviene dopo la selezione del profilo di autorizzazione:
Operazione completata:
Errore:
Il numero massimo di registri di sessione si trova nel file prrt-server.log. Per raccoglierli, impostare il componente runtime-AAA sul livello DEBUG (selezionare Amministrazione > Sistema > Log > Configurazione log di debug > PSN), come mostrato nell'immagine:
Per ottenere il file port-server.log, selezionare Operazioni > Risoluzione dei problemi > Log di download > PSN > Log di debug. I log sessione max vengono raccolti anche nei debug degli endpoint (Operazioni > Risoluzione dei problemi > Strumenti diagnostici > Strumenti generali > Debug degli endpoint).
Controllo sessione massima utente superato correttamente:
2017-01-29 08:33:11,310 INFO [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,INFO ,0x7fe858867700,cntx=0000001335,sesn=pgruszczise22/275051099/8,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,SessionCache::onMaxSessionsAznEvent: current global configuration data: auditSessionTtl=[3600], maxUserSessions=[2],SessionCache.cpp:283 2017-01-29 08:33:11,311 INFO [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,INFO ,0x7fe858867700,cntx=0000001335,sesn=pgruszczise22/275051099/8,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,SessionCache::checkMaxSessions: user=[Bob] not found in cache due to first time authorization,SessionCache.cpp:1025 2017-01-29 08:33:11,311 DEBUG [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,DEBUG,0x7fe858867700,cntx=0000001335,sesn=pgruszczise22/275051099/8,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,SessionCache::onMaxSessionsAznEvent: sessionID=[0a3e944f00000e7d588da8a0]; user=[Bob] - checkMaxSessions passed,SessionCache.cpp:360 2017-01-29 08:33:11,311 INFO [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,INFO ,0x7fe858867700,cntx=0000001335,sesn=pgruszczise22/275051099/8,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,SessionCache::onMaxSessionsAznEvent: create a new session object sessionID=[0a3e944f00000e7d588da8a0]; user=[Bob],SessionCache.cpp:375
ISE incrementa SessionCounter solo dopo aver ricevuto l'avvio accounting per la sessione:
2017-01-29 08:33:11,619 DEBUG [Thread-90][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- Radius,DEBUG,0x7fe858766700,cntx=0000001503,sesn=pgruszczise22/275051099/9,CPMSessionID=0a3e944f00000e7d588da8a0,CallingStationID=c0-4a-00-14-56-f4,FramedIPAddress=10.62.148.141,RADIUS PACKET:: Code=4(AccountingRequest) Identifier=0 Length=279 [1] User-Name - value: [Bob] [4] NAS-IP-Address - value: [10.62.148.79] [5] NAS-Port - value: [1] [8] Framed-IP-Address - value: [10.62.148.141] [25] Class - value: [****] [30] Called-Station-ID - value: [80-e0-1d-8b-72-00] [31] Calling-Station-ID - value: [c0-4a-00-14-56-f4] [32] NAS-Identifier - value: [WLC7] [40] Acct-Status-Type - value: [Start] [44] Acct-Session-Id - value: [588da8a0/c0:4a:00:14:56:f4/3789] [45] Acct-Authentic - value: [RADIUS] [55] Event-Timestamp - value: [1485678753] [61] NAS-Port-Type - value: [Wireless - IEEE 802.11] [64] Tunnel-Type - value: [(tag=0) VLAN] [65] Tunnel-Medium-Type - value: [(tag=0) 802] [81] Tunnel-Private-Group-ID - value: [(tag=0) 481] [26] cisco-av-pair - value: [audit-session-id=0a3e944f00000e7d588da8a0] [26] Airespace-Wlan-Id - value: [4] ,RADIUSHandler.cpp:2003 (...) 2017-01-29 08:33:11,654 DEBUG [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,DEBUG,0x7fe858867700,cntx=0000001503,sesn=pgruszczise22/275051099/9,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,FramedIPAddress=10.62.148.141,SessionCache::onAccountingStart: user=[Bob]; sessionID=[0a3e944f00000e7d588da8a0],SessionCache.cpp:537 2017-01-29 08:33:11,655 DEBUG [Thread-83][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,DEBUG,0x7fe858867700,cntx=0000001503,sesn=pgruszczise22/275051099/9,CPMSessionID=0a3e944f00000e7d588da8a0,user=Bob,CallingStationID=c0-4a-00-14-56-f4,FramedIPAddress=10.62.148.141,SessionCache::incrementSessionCounters: user=[Bob] current user session count=[1],SessionCache.cpp:862
Errore di controllo della sessione massima utente:
2017-01-29 08:37:00,534 INFO [Thread-75][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,INFO ,0x7fe858a69700,cntx=0000005011,sesn=pgruszczise22/275051099/15,CPMSessionID=0a3e944f00000e7f588da966,user=Bob,CallingStationID=34-ab-37-60-63-88,SessionCache::onMaxSessionsAznEvent: current global configuration data: auditSessionTtl=[3600], maxUserSessions=[2],SessionCache.cpp:283 2017-01-29 08:37:00,535 INFO [Thread-75][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,INFO ,0x7fe858a69700,cntx=0000005011,sesn=pgruszczise22/275051099/15,CPMSessionID=0a3e944f00000e7f588da966,user=Bob,CallingStationID=34-ab-37-60-63-88,SessionCache::checkMaxSessions: user=[Bob] is not authorized because current active user sessions=[2] >= max-user-sessions=[2],SessionCache.cpp:1010 2017-01-29 08:37:00,535 DEBUG [Thread-75][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- SessionCache,DEBUG,0x7fe858a69700,cntx=0000005011,sesn=pgruszczise22/275051099/15,CPMSessionID=0a3e944f00000e7f588da966,user=Bob,CallingStationID=34-ab-37-60-63-88,SessionCache::onMaxSessionsAznEvent: sessionID=[0a3e944f00000e7f588da966]; user=[Bob] - checkMaxSessions failed,SessionCache.cpp:341 2017-01-29 08:37:00,535 DEBUG [Thread-75][] cisco.cpm.prrt.impl.PrRTLoggerImpl -:::::- RadiusAuthorization,DEBUG,0x7fe858a69700,cntx=0000005011,sesn=pgruszczise22/275051099/15,CPMSessionID=0a3e944f00000e7f588da966,user=Bob,CallingStationID=34-ab-37-60-63-88,RadiusAuthorization::onResponseMaxSessionsAznEvent return from SessionCache,RadiusAuthorization.cpp:371
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
29-Jun-2023 |
Testo alternativo aggiunto.
Informazioni personali aggiornate, introduzione, requisiti di branding, traduzione automatica, ortografia e formattazione. |
1.0 |
23-Mar-2017 |
Versione iniziale |