El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo configurar la función Maximum Sessions introducida en Identity Services Engine (ISE) 2.2. La función Maximum Sessions (Número máximo de sesiones) proporciona una forma de controlar y aplicar sesiones en directo por usuario o por grupo de identidad. Este documento es para sesiones RADIUS, pero también se podría utilizar para las sesiones TACACS.
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
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. If your network is live, make sure that you understand the potential impact of any command.
La versión 2.2 de ISE puede detectar y crear políticas de aplicación basadas en la sesión simultánea de:
La aplicación y el recuento de una sesión simultánea son únicos y los administra cada nodo de servicio de políticas (PSN). No hay sincronización entre los PSN en términos de número de sesiones. La función de sesión concurrente se implementa en el proceso en tiempo de ejecución y los datos se almacenan sólo en la memoria. En caso de reinicio de PSN, los contadores MaxSessions se restablecen.
El recuento de sesiones de usuario no distingue entre mayúsculas y minúsculas en relación con los nombres de usuario y con independencia del dispositivo de acceso de red utilizado (siempre que utilice el mismo nodo PSN).
Vaya a Administration > System > Settings > Max Sessions, como se muestra en la imagen:
Para habilitar la función, desmarque la casilla de verificación Sesión ilimitada por usuario, que está activada de forma predeterminada. En el campo Maximum per user Sessions , configure el número de sesiones que puede tener un usuario específico en cada PSN. En este ejemplo, se establece en 2.
Los usuarios de orígenes de identidad externos (por ejemplo, Active Directory) también se ven afectados por esta configuración.
Bob es el nombre de usuario de una cuenta del dominio de Active Directory que se conecta y se une al servidor ISE. Las sesiones máximas del usuario se configuran con el valor 2, lo que significa que no se permite ninguna sesión para el mismo usuario que supere este número (por PSN).
Como se muestra en la imagen, el usuario Bob se conecta con el teléfono Android y el equipo Windows con las mismas credenciales:
Se permiten ambas sesiones porque no se supera el límite máximo de sesiones. Según el detallado registro de Radius Live, mostrado en la imagen:
22081 La política de sesiones máximas aprobada paso proporciona información de que la verificación de la sesión concurrente máxima es correcta.
Una vez iniciada la tercera conexión con otro dispositivo y las mismas credenciales, Bob recibe PermitAccess, pero Access-Reject se envía al autenticador:
La sesión no está permitida, aunque en el registro en vivo de Radius puede ver que llega al perfil de autorización correcto. Para verificar las sesiones en vivo, navegue hasta Operaciones > Radius > Sesiones en vivo:
En este caso, ambas sesiones tienen el estado Iniciado, que indica que el Inicio de la Contabilización llegó a ISE para la sesión. Es necesario recibir la Contabilización Radius para la Sesión Máxima para que funcione correctamente, el estado Autenticado (Sesión permitida, pero sin contabilización) no se toma en consideración durante el recuento de sesiones:
Vaya a Administration > System>Settings > Max Sessions > Group:
Esta configuración aplica 2 sesiones como máximo para el grupo de identidad interno GroupTest2: Solo puede configurar la aplicación por grupo para los grupos internos.
Alice, Pablo y Peter son los usuarios de Internal ISE User Store, todos ellos son miembros del grupo llamado GroupTest2. Según la configuración de este ejemplo, el valor máximo de sesiones se establece en 2 en función de la pertenencia al grupo.
Pablo y Peter se conectan a la red con sus credenciales del Grupo Interno llamado GroupTest2:
Una vez que Alice intenta conectarse, se aplica el límite máximo de sesiones por grupo:
A Alice no se le permite conectarse a la red porque Peter y Pablo utilizan el límite máximo de grupo de sesiones:
Si se configuran las sesiones máximas del usuario, ambas funciones funcionan de forma independiente. En este ejemplo, las sesiones máximas del usuario se establecen en 1 y la sesión máxima del grupo en 2.
Peter debe estar permitido en función de la sesión máxima para el grupo (2 sesiones), pero debido a la configuración de sesiones máx. de usuario (una sesión) no puede conectarse a la red:
Si el usuario es miembro de más de un grupo al mismo tiempo y se configura Max Sessions for Group para ellos, una vez que ISE conectado aumenta el contador de Max Session for Group cache para cada grupo al que pertenece el usuario.
En este ejemplo, Alice y Pablo son miembros de GroupTest1 y GroupTest2. Veronica pertenece solamente a GroupTest1 y Peter a GroupTest2
La sesión máxima para el grupo se establece en 2 para GroupTest1 y GroupTest2:
Cuando Alice y Pablo están conectados a la red, superan los límites de sesión para ambos grupos. Veronica, que pertenece solamente a GroupTest1 y Peter, miembro de GroupTest2, no puede conectarse debido a que Max Session for Group alcanzó el valor máximo configurado:
Vaya a Administration > System > Settings > Max Sessions > Group.
Esta configuración aplica un máximo de 2 sesiones para Internal Identity group GroupTest2.
Alice es miembro de GroupTest2:
Esta función funciona de forma similar a User Maximum Session - ISE limita el número de sesiones simultáneas que puede tener el usuario dentro de un grupo interno especificado. Esta configuración sólo afecta al usuario, que pertenece al grupo configurado.
Alice, como miembro de GroupTest2 puede tener 2 sesiones simultáneas, una vez que se conecta con el tercer dispositivo, ISE devuelve PermitAccess y Access-Reject basándose en la sesión máxima superada para el usuario en el grupo:
Registros detallados de Radius-Live:
Si las sesiones máximas del usuario también están habilitadas, ambas funciones funcionan de forma independiente. Si un usuario Alice es miembro del grupo GroupTest2 con Maximum Session for User en Group configurado para 2, y al mismo tiempo User Max Sessions se configura para permitir solamente una sesión por usuario, el usuario Max Sessions tiene prioridad:
Cuando Alice intenta conectarse con el segundo dispositivo, ISE devuelve Access-Reject basado en el límite máximo de usuarios de sesión excedido:
El motivo de la negación se puede verificar en el registro en vivo detallado de Radius. El límite máximo de usuarios de sesiones es la razón del error:
Vaya a Administration > System > Settings > Max Sessions > Group.
Esta configuración aplica una sesión máxima de 3 en el grupo de identidad interno GroupTest2 y una sesión máxima de 2 para el usuario en ese grupo.
Alice y Pablo son miembros de GroupTest2. Según la configuración de este ejemplo, se permite un máximo de 3 sesiones en GroupTest2. ISE garantiza que un solo usuario pueda tener un máximo de 2 sesiones dentro de este grupo.
Alice se conecta a través de dos dispositivos, ambos terminales están conectados a la red:
Cuando Alice intenta conectarse a través de un tercer dispositivo, se deniega el acceso con una sesión máxima para el usuario en el límite de grupo excedido:
ISi Pablo intenta acceder a la red, puede hacerlo, ya que Max Session for Group GroupTest2 todavía no está completo:
Cuando Pablo intenta acceder a la red desde el segundo dispositivo, falla porque excede el límite máximo de sesiones para el grupo (aunque solo tiene una sesión):
Como en ejemplos anteriores, si habilita las sesiones máximas del usuario, funciona de forma independiente.
Vaya a Administration > System > Settings > Max Sessions > Counter Time Limit.
El límite de tiempo de contador es la función que especifica el intervalo de tiempo durante el cual se cuenta la sesión en términos de la memoria caché de la sesión máxima. Esta función permite especificar el tiempo después del cual PSN elimina la sesión del contador y permite nuevas sesiones.
Para habilitar la función, debe desmarcar la casilla Unlimited - no time limit que está activada de forma predeterminada. En el campo editable puede establecer el tiempo durante el cual la sesión debe tenerse en cuenta en los contadores de MaxSession.
Tenga en cuenta que las sesiones después del tiempo configurado no se desconectan ni se eliminan de la base de datos de sesiones. No hay un cambio de autorización de finalización (CoA) después de la hora configurada.
La sesión máxima de usuario está configurada para permitir sólo una sesión para el usuario:
Alice se conecta a la red usando el IPad a las 11:00:34, la segunda autenticación se realiza a las 11:07 e incluso se permite el acceso al valor máximo de sesión del usuario. Ambas autenticaciones son exitosas debido al límite de tiempo del contador.
Alice intenta conectarse con otro dispositivo, antes de que pasen 5 minutos desde la última conexión exitosa, ISE rechaza la autenticación:
Después de 5 minutos de la última autenticación, Alice pudo conectarse a la red con un dispositivo adicional.
En las sesiones en directo, puede ver las tres sesiones en el estado Iniciado:
Con una sesión configurada en la función de sesión máxima del usuario, todavía puede conectarse con la cuenta Guest1 para ambas sesiones:
Para limitar el acceso de invitado, puede especificar los inicios de sesión simultáneos máximos en la configuración Tipo de invitado.
Vaya a Centros de trabajo > Acceso de invitado > Portal y componentes > Tipos de invitado y cambie la opción Número máximo de inicios de sesión simultáneos, como se muestra en la imagen:
Con una sesión configurada en la sesión máxima del usuario no puede conectarse:
Según los Live-logs de Radius, el Guest1 siempre se autentica correctamente en términos de la autenticación del portal, una vez que el WLC envía la solicitud RADIUS con la segunda sesión para el Guest1, ISE niega el acceso debido a exceder el límite de usuarios:
El informe detallado de Radius es el primer lugar para solucionar problemas de la función MaxSession.
Esta razón de error indica que se ha superado el límite máximo de sesiones de usuario global para esta sesión/usuario, como se muestra en la imagen:
Esta razón de error indica que se excede el límite máximo de sesiones de grupo para esta sesión/usuario, como se muestra en la imagen:
Esta razón de error indica que se ha superado el límite máximo de sesiones de usuario de grupo para esta sesión/usuario.
La comprobación de la memoria caché de MaxSession se realiza después de la selección del perfil de autorización:
Éxito:
Falla:
Los registros de sesión máximos se encuentran en prrt-server.log. Para recolectarlos, configure el componente Runtime-AAA en el nivel DEBUG ( navegue hasta Administration > System > Logging > Debug Log Configuration > PSN), como se muestra en la imagen:
Para obtener File prrt-server.log navegue hasta Operations > TrouTroubleshooting > Download Logs > PSN > Debug Logs. Los registros de sesión máximos también se recopilan en Depuraciones de terminales (Operaciones > Solución de problemas>Herramientas de diagnóstico > Herramientas generales > Depuración de terminales).
Comprobación de la sesión máxima de usuario aprobada correctamente:
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 el objeto SessionCounter sólo después de recibir el inicio de contabilidad para la sesión:
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
Falla de verificación de la sesión máxima del usuario:
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
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
23-Mar-2017 |
Versión inicial |