O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como configurar o recurso Maximum Sessions introduzido no Identity Services Engine (ISE) 2.2.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O recurso Maximum Sessions fornece uma maneira de controlar e aplicar sessões ao vivo por usuário ou por grupo de identidade. Este documento é para sessões RADIUS, mas também pode ser usado para sessões TACACS.
O ISE versão 2.2 pode detectar e criar políticas de aplicação com base na sessão simultânea de:
A aplicação e a contagem de uma sessão simultânea são exclusivas e gerenciadas por cada Nó de Serviço de Política (PSN). Não há sincronização entre as PSNs em termos de contagem de sessão. O recurso de Sessão Concorrente é implementado no processo de tempo de execução e os dados são armazenados apenas na memória. Em caso de reinicialização de PSN, os contadores MaxSessions são redefinidos.
A contagem de sessão do usuário não faz distinção entre maiúsculas e minúsculas em relação aos nomes de usuário e é independente do dispositivo de acesso à rede usado (desde que você use o mesmo nó PSN).
Navegue até Administração > Sistema > Configurações > Máximo de sessões conforme mostrado na imagem:
Para habilitar o recurso, desmarque a caixa de seleção Sessão ilimitada por usuário, marcada por padrão. No campo Maximum per user Sessions, configure o número de sessões que um usuário específico pode ter em cada PSN. Neste exemplo, é definido como 2.
Os usuários de fontes de identidade externas (por exemplo, Ative Diretory) também são afetados por essa configuração.
Bob é o nome de usuário de uma conta do domínio do Ative Diretory que está conectada e ingressou no servidor ISE. Máximo de sessões do usuário é configurado com o valor 2, o que significa que qualquer sessão para o mesmo usuário além desse número não é permitida (por PSN).
Como mostrado na imagem, o usuário Bob se conecta ao telefone Android e à máquina Windows com as mesmas credenciais:
Ambas as sessões são permitidas porque o limite máximo de sessões não é excedido. Veja o registro ao vivo detalhado do Radius, mostrado na imagem:
22081 etapa de política de máximo de sessões aprovada fornece informações sobre o êxito da verificação de máximo de sessões simultâneas.
Uma vez iniciada a terceira conexão com outro dispositivo e as mesmas credenciais, Bob recebe PermitAccess, mas Access-Reject é enviado ao autenticador:
A sessão não é permitida, mesmo que no registro ao vivo do Radius você possa ver que ele atinge o perfil de autorização correto. Para verificar as sessões ao vivo, navegue para Operations > Radius > Live Sessions:
Nesse caso, ambas as sessões têm o status Iniciado, que indica que o Início da contabilização chegou ao ISE para a sessão. É necessário receber a Contabilização Radius para que a Max Session funcione corretamente, o status Autenticado (Sessão permitida, mas nenhuma contabilização) não é levado em consideração durante a contagem da sessão:
Navegue até Administração > Sistema > Configurações > Máximo de sessões > Grupo:
Essa configuração impõe 2 sessões como um máximo para o grupo de identidade interno GroupTest2: você pode configurar a imposição por grupo somente para os grupos internos.
Alice, Pablo e Peter são os usuários da loja interna de usuários do ISE. Todos eles são membros do grupo chamado GroupTest2. De acordo com a configuração neste exemplo, o valor máximo de sessões é definido como 2 com base na associação do grupo.
Pablo e Peter se conectam à rede com suas credenciais do Grupo Interno chamado GroupTest2:
Quando Alice tenta se conectar, o limite de MaxSessions por grupo é imposto:
Alice não tem permissão para se conectar à rede porque o limite máximo de grupos da sessão foi esgotado por Peter e Pablo:
Se a opção Máximo de sessões do usuário estiver configurada, ambos os recursos funcionarão de forma independente. Neste exemplo, Máximo de sessões do usuário é definido como 1 e Máximo de sessões do grupo é definido como 2.
Peter tem permissão com base na Sessão Máxima para o Grupo (2 sessões), mas devido à configuração de Sessões Máximas do Usuário (uma sessão) ele não consegue se conectar à rede:
Se o usuário for um membro de mais de um grupo ao mesmo tempo e o Máximo de sessões para o grupo estiver configurado para eles, uma vez conectado, o ISE aumentará o contador do Máximo de sessões para o cache do grupo para cada grupo ao qual o usuário pertença.
Neste exemplo, Alice e Pablo são membros de GroupTest1 e GroupTest2. Veronica pertence somente a GroupTest1 e Peter a GroupTest2
A sessão máxima do grupo está definida como 2 para GroupTest1 e GroupTest2:
Quando Alice e Pablo estão conectados à rede, eles excedem os limites de sessão para ambos os grupos. Veronica, que pertence apenas ao GroupTest1 e Peter, membro do GroupTest2 não pode se conectar porque a sessão máxima do grupo atingiu o valor máximo configurado:
Navegue até Administração > Sistema > Configurações > Máximo de sessões > Grupo.
Esta configuração impõe um máximo de 2 sessões para o grupo de Identidade Interna GroupTest2.
Alice é membro do GroupTest2:
Esse recurso funciona de forma semelhante à sessão máxima do usuário - o ISE limita o número de sessões simultâneas que o usuário pode ter no grupo interno especificado. Essa configuração afeta somente o Usuário, que pertence ao grupo configurado.
Alice, como membro do GroupTest2, pode ter duas sessões simultâneas. Uma vez conectado ao terceiro dispositivo, o ISE retorna PermitAccess e Access-Reject com base na sessão máxima excedida para o usuário no grupo:
Logs detalhados do Radius-Live:
Se a opção Máximo de sessões do usuário também estiver habilitada, os dois recursos funcionarão de forma independente. Se um usuário Alice for membro do grupo GroupTest2 com Sessão Máxima para Usuário no Grupo configurado para 2, e ao mesmo tempo User Max Sessions estiver configurado para permitir apenas uma sessão por usuário, User Max Sessions terá precedência:
Quando Alice tenta se conectar com o segundo dispositivo, o ISE retorna Access-Reject com base no limite máximo de usuários da sessão excedido:
O motivo da recusa pode ser verificado no Live-Log detalhado do Radius. O limite máximo de sessões do usuário é o motivo da falha:
Navegue até Administração > Sistema > Configurações > Máximo de sessões > Grupo.
Essa configuração impõe uma sessão máxima de 3 no grupo de identidade interno GroupTest2 e de 2 sessões máximas para o usuário nesse grupo.
Alice e Pablo são membros do GroupTest2. Conforme a configuração neste exemplo, é permitido um máximo de 3 sessões em GroupTest2. O ISE garante que um único usuário possa ter no máximo 2 sessões dentro desse grupo.
Alice se conecta através de dois dispositivos. Os dois pontos finais estão conectados à rede:
Quando Alice está tentando se conectar por meio de um terceiro dispositivo, o acesso é negado com o limite máximo de sessão para usuário no grupo excedido:
Se Pablo tentar acessar a rede, ele poderá fazê-lo, já que Max Session for Group, GroupTest2, ainda não está cheio:
Quando Pablo tenta acessar a rede pelo segundo dispositivo, ele falha porque excedeu o limite máximo de sessões para o grupo (mesmo tendo apenas 1 sessão):
Como nos exemplos anteriores, se você ativar o Máximo de sessões do usuário, ele funcionará de forma independente.
Navegue até Administração > Sistema > Configurações > Máximo de sessões > Limite de tempo do contador.
O limite de tempo do contador é o recurso que especifica o intervalo de tempo durante o qual a sessão é contada em termos do cache máximo da sessão. Esse recurso permite especificar o tempo após o qual o PSN exclui a sessão do contador e permite novas sessões.
Para habilitar o recurso, você precisa desmarcar a caixa de seleção Ilimitado - sem limite de tempo que está marcada por padrão. No campo editável, você pode definir o tempo durante o qual a sessão é levada em consideração nos contadores de MaxSession.
Lembre-se de que as sessões após o horário configurado não são desconectadas ou removidas do banco de dados de sessões. Não há Cadeia de Autorização de Término (CoA) após o tempo configurado.
A sessão máxima do usuário está definida para permitir somente uma sessão para o usuário:
Alice se conecta à rede usando o IPad às 11:00:34, a segunda autenticação acontece às 11:07 e, mesmo que o valor máximo de sessão do usuário seja excedido, o acesso é permitido. Ambas as autenticações obtiveram êxito devido ao limite de tempo do contador.
Alice tenta se conectar com outro dispositivo antes de 5 minutos a partir da última conexão bem-sucedida passar, o ISE rejeita a autenticação:
Após 5 minutos da última autenticação, Alice pôde se conectar à rede com um dispositivo adicional.
Nas sessões ao vivo, você pode ver todas as três sessões no estado Iniciado:
Com uma sessão configurada no recurso Máximo de sessões do usuário, você ainda poderá se conectar à conta Guest1 para ambas as sessões:
Para limitar o Acesso de Convidado, você pode especificar o Máximo de logins simultâneos na configuração Tipo de Convidado.
Navegue até Centros de trabalho > Acesso de convidado > Portal e componentes > Tipos de convidado e altere a opção Máximo de logins simultâneos, como mostrado na imagem:
Com uma sessão configurada em Sessão Máxima do Usuário, você não consegue se conectar:
De acordo com os Live-logs do Radius, o Guest1 é sempre autenticado corretamente em termos de autenticação do portal. Uma vez que a WLC envia a solicitação RADIUS com a segunda sessão para o Guest1, o ISE nega o acesso devido ao limite de usuário excedido:
O Relatório Detalhado de Radius é o primeiro lugar para a solução de problemas do Recurso MaxSession.
Este motivo de falha indica que o Limite Máximo Global de Sessões de Usuário foi excedido para esta sessão/usuário, como mostrado na imagem:
Este motivo de falha indica que o limite máximo de sessões do grupo foi excedido para esta sessão/usuário, como mostrado na imagem:
Este motivo de falha indica que o limite máximo de sessões do usuário do grupo foi excedido para esta sessão/usuário.
A verificação do cache MaxSession acontece após a seleção do Perfil de Autorização:
Sucesso:
Falha:
O máximo de logs de sessão está localizado em prrt-server.log. Para coletá-los, defina o componente runtime-AAA para o nível DEBUG ( navegue para Administration > System > Logging > Debug Log Configuration > PSN), como mostrado na imagem:
Para obter o Arquivo prt-server.log, navegue para Operações > Solução de problemas > Download Logs > PSN > Debug Logs. Os logs de Max Session também são coletados nas Depurações de Endpoint (Operações > Solução de problemas > Ferramentas de diagnóstico > Ferramentas gerais > Depuração de EndPoint).
Verificação da Sessão Máxima do Usuário aprovada corretamente:
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
O ISE incrementa o SessionCounter somente após receber o Início da Contabilização da sessão:
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
Falha na verificação da Sessão Máxima do Usuário:
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
Revisão | Data de publicação | Comentários |
---|---|---|
2.0 |
29-Jun-2023 |
Texto Alt adicionado.
PII atualizado, introdução, requisitos de marca, tradução automática, ortografia e formatação. |
1.0 |
23-Mar-2017 |
Versão inicial |