Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment configurer la fonctionnalité Nombre maximal de sessions introduite dans Identity Services Engine (ISE) 2.2.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
La fonction Nombre maximal de sessions permet de contrôler et d'appliquer des sessions en direct par utilisateur ou par groupe d'identités. Ce document est destiné aux sessions RADIUS, mais il peut également être utilisé pour les sessions TACACS.
ISE version 2.2 peut détecter et créer une politique d'application basée sur la session simultanée de :
L'application et le nombre d'une session simultanée sont uniques et gérés par chaque noeud de service de stratégie (PSN). Il n'y a pas de synchronisation entre les PSN en termes de nombre de sessions. La fonction Session simultanée est implémentée dans le processus d'exécution et les données sont stockées uniquement en mémoire. En cas de redémarrage PSN, les compteurs MaxSessions sont réinitialisés.
Le nombre de sessions utilisateur est insensible à la casse en ce qui concerne les noms d'utilisateur et indépendant du périphérique d'accès réseau utilisé (tant que vous utilisez le même noeud PSN).
Accédez à Administration > System > Settings > Max Sessions comme indiqué dans l'image :
Pour activer la fonctionnalité, décochez la case Session illimitée par utilisateur, qui est cochée par défaut. Dans le champ Maximum per user Sessions, configurez le nombre de sessions que chaque utilisateur peut avoir sur chaque PSN. Dans cet exemple, il est défini sur 2.
Les utilisateurs des sources d'identité externes (par exemple, Active Directory) sont également affectés par cette configuration.
Bob est le nom d'utilisateur d'un compte du domaine Active Directory qui est connecté et joint au serveur ISE. Le nombre maximal de sessions utilisateur est configuré avec la valeur 2, ce qui signifie qu'aucune session pour le même utilisateur au-delà de ce nombre n'est autorisée (par PSN).
Comme l'illustre l'image, l'utilisateur Bob se connecte à un téléphone Android et à une machine Windows avec les mêmes informations d'identification :
Les deux sessions sont autorisées car la limite maximale de sessions n'est pas dépassée. Voir le journal détaillé Radius Live, présenté dans l'image :
L'étape 22081 Max sessions policy pass fournit des informations indiquant que la vérification du nombre maximal de sessions simultanées a réussi.
Une fois la troisième connexion avec un autre périphérique et les mêmes informations d'identification établies, Bob reçoit PermitAccess, mais Access-Reject est envoyé à l'authentificateur :
La session n'est pas autorisée, même si dans le journal Radius en direct, vous pouvez voir qu'elle atteint le profil d'autorisation correct. Afin de vérifier les sessions en direct, naviguez à Operations > Radius > Live Sessions :
Dans ce cas, l'état des deux sessions est Démarré, ce qui indique que Accounting Start est arrivé sur ISE pour la session. Il est nécessaire de recevoir le compte Radius pour que la session maximale fonctionne correctement, l'état Authenticated (Session autorisée, mais pas de compte) n'est pas pris en compte lors du comptage de session :
Accédez à Administration > System > Settings > Max Sessions > Group :
Cette configuration impose 2 sessions au maximum pour le groupe d'identité interne GroupTest2 : vous pouvez configurer l'application par groupe uniquement pour les groupes internes.
Alice, Pablo et Peter sont les utilisateurs du magasin d'utilisateurs ISE interne. Tous sont membres du groupe GroupTest2. Selon la configuration de cet exemple, la valeur maximale des sessions est définie sur 2 en fonction de l'appartenance au groupe.
Pablo et Peter se connectent au réseau avec leurs informations d'identification du groupe interne GroupTest2 :
Une fois qu'Alice tente de se connecter, la limite MaxSessions par groupe est appliquée :
Alice n'est pas autorisée à se connecter au réseau car la limite de groupe de session maximale est utilisée par Peter et Pablo :
Si le nombre maximal de sessions utilisateur est configuré, les deux fonctionnalités fonctionnent indépendamment. Dans cet exemple, le nombre maximal de sessions utilisateur est défini sur 1 et le nombre maximal de sessions pour le groupe sur 2.
Peter est autorisé en fonction de la session maximale pour le groupe (2 sessions), mais en raison de la configuration de sessions maximales de l'utilisateur (une session), il ne parvient pas à se connecter au réseau :
Si l'utilisateur est membre de plusieurs groupes à la fois et que le nombre maximal de sessions pour le groupe est configuré pour lui, une fois connecté, ISE augmente le compteur du cache Nombre maximal de sessions pour le groupe pour chaque groupe auquel l'utilisateur appartient.
Dans cet exemple, Alice et Pablo sont membres de GroupTest1 et de GroupTest2. Veronica appartient uniquement à GroupTest1 et Peter à GroupTest2
La session maximale du groupe est définie sur 2 pour GroupTest1 et GroupTest2 :
Lorsque Alice et Pablo sont connectées au réseau, elles dépassent les limites de session pour les deux groupes. Veronica, qui appartient uniquement à GroupTest1 et Peter, membres de GroupTest2, ne peuvent pas se connecter car la valeur maximale configurée de la session pour le groupe a été atteinte :
Accédez à Administration > System > Settings > Max Sessions > Group.
Cette configuration impose 2 sessions maximum pour le groupe d'identités interne GroupTest2.
Alice est membre de GroupTest2 :
Cette fonction fonctionne de la même manière que la fonction Nombre maximal de sessions utilisateur - ISE limite le nombre de sessions simultanées que l'utilisateur peut avoir dans un groupe interne spécifié. Cette configuration affecte uniquement l'utilisateur, qui appartient au groupe configuré.
Alice, en tant que membre du GroupTest2, peut avoir 2 sessions simultanées. Une fois connecté au troisième périphérique, ISE retourne PermitAccess et Access-Reject en fonction du dépassement de la session maximale pour l'utilisateur du groupe :
Journaux Radius-Live détaillés :
Si l'option Nombre maximal de sessions utilisateur est également activée, les deux fonctionnalités fonctionnent indépendamment. Si un utilisateur Alice est membre du groupe GroupTest2 avec le nombre maximal de sessions pour l'utilisateur du groupe configuré pour 2, et en même temps que le nombre maximal de sessions utilisateur est configuré pour autoriser une seule session par utilisateur, le nombre maximal de sessions utilisateur est prioritaire :
Lorsqu'Alice tente de se connecter au deuxième périphérique, ISE renvoie la valeur Access-Reject en fonction de la limite maximale de session utilisateur dépassée :
La raison du refus peut être vérifiée sous le Live-Log détaillé de Radius. La limite maximale de sessions utilisateur est la raison de l'échec :
Accédez à Administration > System > Settings > Max Sessions > Group.
Cette configuration impose une session maximale de 3 dans le groupe d'identité interne GroupTest2 et de 2 sessions maximales pour l'utilisateur de ce groupe.
Alice et Pablo sont membres de GroupTest2. Selon la configuration de cet exemple, un maximum de 3 sessions est autorisé dans GroupTest2. ISE garantit qu'un utilisateur unique peut avoir au maximum 2 sessions dans ce groupe.
Alice se connecte via deux périphériques. Les deux terminaux sont connectés au réseau :
Lorsque Alice tente de se connecter via un troisième périphérique, l'accès est refusé avec la limite de session maximale pour l'utilisateur du groupe dépassée :
Si Pablo tente d'accéder au réseau, il peut le faire car la session max. du groupe GroupTest2 n'est pas encore complète :
Lorsque Pablo tente d'accéder au réseau à partir du deuxième périphérique, il échoue car il a dépassé la limite de session maximale pour le groupe (même s'il n'a qu'une seule session) :
Comme dans les exemples précédents, si vous activez Nombre maximal de sessions utilisateur, cela fonctionne indépendamment.
Accédez à Administration > System > Settings > Max Sessions > Counter Time Limit.
Counter Time limit est la fonctionnalité qui spécifie l'intervalle de temps pendant lequel la session est comptée en termes de cache de session maximale. Cette fonctionnalité vous permet de spécifier l'heure après laquelle PSN supprime la session du compteur et autorise de nouvelles sessions.
Pour activer la fonctionnalité, vous devez décocher Unlimited - no time limit case qui est cochée par défaut. Dans le champ modifiable, vous pouvez définir l'heure de prise en compte de la session dans les compteurs de MaxSession.
Gardez à l'esprit que les sessions après l'heure configurée ne sont pas déconnectées ou supprimées de la base de données de session. Il n'y a pas de fin de chaîne d'autorisation après l'heure configurée.
User Max Session est défini pour autoriser une seule session pour l'utilisateur :
Alice se connecte au réseau à l'aide de l'IPad à 11:00:34, la deuxième authentification a lieu à 11:07 et même si la valeur User Maximum Session est dépassée, l'accès est autorisé. Les deux authentifications ont réussi en raison de la limite de temps du compteur.
Alice tente de se connecter à un autre périphérique dans les 5 minutes suivant la dernière connexion réussie, ISE refuse l'authentification :
Après 5 minutes à partir de la dernière authentification, Alice a pu se connecter au réseau avec un périphérique supplémentaire.
Sur les sessions en direct, vous pouvez voir les trois sessions dans l'état Démarré :
Avec une session configurée sous la fonction Session maximale utilisateur, vous pouvez toujours vous connecter au compte Guest1 pour les deux sessions :
Afin de limiter l'accès invité, vous pouvez spécifier le nombre maximal de connexions simultanées dans la configuration Type d'invité.
Accédez à Work Centers > Guest Access > Portal & Components > Guest Types et modifiez l'option Maximum simultanées logins, comme indiqué dans l'image :
Avec une session configurée sous User Maximum Session, vous ne pouvez pas vous connecter :
Selon les journaux Radius Live-logs, l'invité 1 est toujours correctement authentifié en termes d'authentification du portail. Une fois que le WLC envoie la requête RADIUS avec la deuxième session pour l'invité 1, ISE refuse l'accès en raison d'un dépassement de la limite d'utilisateur :
Le rapport Radius détaillé est le premier endroit pour dépanner la fonctionnalité MaxSession.
Ce motif d'échec indique que la limite maximale de sessions utilisateur globale est dépassée pour cette session/cet utilisateur, comme illustré dans l'image :
Ce motif d'échec indique que la limite de sessions max. du groupe est dépassée pour cette session/cet utilisateur, comme l'illustre l'image :
Ce motif d'échec indique que la limite de sessions max. de l'utilisateur du groupe est dépassée pour cette session/cet utilisateur.
La vérification du cache MaxSession se produit après la sélection du profil d'autorisation :
Réussite :
Échec:
Le nombre maximal de journaux de session se trouve dans le fichier prt-server.log. Afin de collecter ces données, définissez le composant runtime-AAA au niveau DEBUG ( naviguez vers Administration > System > Logging > Debug Log Configuration > PSN), comme indiqué dans l'image :
Afin d'obtenir File port-server.log, naviguez vers Operations > Troubleshoot > Download Logs > PSN > Debug Logs. Les journaux de session max. sont également collectés dans les débogages de point de terminaison (Opérations > Dépannage > Outils de diagnostic > Outils généraux > Débogage de point de terminaison).
La vérification de la session maximale utilisateur a réussi :
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 incrémente le compteur de sessions uniquement après avoir reçu le début de la comptabilisation pour la session :
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
Échec de la vérification du nombre maximal de sessions utilisateur :
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
Révision | Date de publication | Commentaires |
---|---|---|
2.0 |
29-Jun-2023 |
Texte de remplacement ajouté.
Mise à jour des PII, introduction, exigences de marque, traduction automatique, orthographe et formatage. |
1.0 |
23-Mar-2017 |
Première publication |