Introdução
Este documento descreve como a classificação e a criação de perfis de dispositivos funcionam nos Cisco Catalyst 9800 Wireless LAN Controllers.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software:
- 9800 CL WLC executando a imagem 17.2.1
- Access point 1815i
- Cliente sem fio Windows 10 Pro
- Cisco ISE 2.7
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.
Processo de criação de perfil
Este artigo fornece uma visão detalhada de como a classificação e a criação de perfis de dispositivos funcionam nos Cisco Catalyst 9800 Wireless LAN Controllers, descreve casos de uso potenciais, exemplos de configuração e etapas necessárias para solucionar problemas.
O perfil do dispositivo é um recurso que oferece uma maneira de descobrir informações adicionais sobre um cliente sem fio que ingressou na infraestrutura sem fio.
Depois que o perfil do dispositivo é executado, ele pode ser usado para aplicar diferentes políticas locais ou para corresponder a regras específicas do servidor RADIUS.
As WLCs Cisco 9800 são capazes de executar três (3) tipos de criação de perfis de dispositivos:
- OUI de endereço MAC
- DHCP
- HTTP
Criação de perfil OUI de endereço MAC
O endereço MAC é um identificador exclusivo de cada interface de rede sem fio (e com fio). É um número de 48 bits normalmente escrito em formato hexadecimal MM:MM:MM:SS:SS.
Os primeiros 24 bits (ou 3 octetos) são conhecidos como Organizationally Unique Identifier (OUI) e identificam exclusivamente um fornecedor ou fabricante.
Eles são comprados e atribuídos pelo IEEE. Um fornecedor ou fabricante pode comprar vários OUIs.
Exemplo:
00:0D:4B - owned by Roku, LLC
90:78:B2 - owned by Xiaomi Communications Co Ltd
Quando um cliente sem fio se associa ao access point, a WLC executa a pesquisa do OUI para determinar o fabricante.
Em implantações de switching local Flexconnect, o AP ainda retransmite informações relevantes do cliente para a WLC (como pacotes DHCP e endereço MAC do cliente).
A definição de perfis baseada apenas no OUI é extremamente limitada e é possível classificar o dispositivo como uma marca específica, mas não é capaz de diferenciar entre um laptop e um smartphone.
Problemas de endereços MAC administrados localmente
Devido a preocupações com privacidade, muitos fabricantes começaram a implementar recursos de randomização mac em seus dispositivos.
Os endereços MAC administrados localmente são gerados aleatoriamente e têm um segundo bit menos significativo do primeiro octeto do endereço definido como 1.
Esse bit atua como um sinalizador que anuncia que o endereço mac é na verdade um endereço gerado aleatoriamente.
Há quatro formatos possíveis de endereços MAC administrados localmente (x pode ser qualquer valor hexadecimal):
x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx
Por padrão, os dispositivos Android 10 usam um endereço MAC administrado localmente e gerado aleatoriamente toda vez que se conectam a uma nova rede SSID.
Esse recurso anula completamente a classificação de dispositivo baseada em OUI, pois o controlador reconhece que o endereço foi aleatório e não executa nenhuma pesquisa.
Criação de perfil do DHCP
O perfil do DHCP é executado pela WLC através da investigação dos pacotes DHCP que o cliente sem fio está enviando.
Se a criação de perfil do DHCP tiver sido usada para classificar o dispositivo, a saída do comando show wireless client mac-address [MAC_ADDR] detailed conterá:
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000009 (OUI, DHCP)
Protocol : DHCP
A WLC inspeciona vários campos da Opção DHCP nos pacotes enviados por clientes sem fio:
1. Opção 12 - Nome do host
Esta opção representa o nome de host do cliente e pode ser encontrada nos pacotes DHCP Discover e DHCP Request:

2. Opção 60 - Identificador da Classe de Fornecedor
Essa opção também é encontrada nos pacotes DHCP Discover e Request.
Com essa opção, os clientes podem se identificar para o servidor DHCP e os servidores podem ser configurados para responder apenas aos clientes com identificador de classe de fornecedor específico.
Essa opção é mais comumente usada para identificar os pontos de acesso na rede e responder a eles apenas com a opção 43.
Exemplos de identificadores da classe de fornecedor
- MSFT 5.0 para todos os clientes Windows 2000 (e superiores)
- MSFT 98 para todos os clientes Windows 98 e Me
- MSFT para todos os clientes Windows 98, Me e 2000
Os dispositivos Apple MacBook não enviam a opção 60 por padrão.
Exemplo de captura de pacotes do cliente Windows 10:

3. Opção 55 - Lista de Solicitações de Parâmetros
A opção Lista de solicitações de parâmetro DHCP contém parâmetros de configuração (códigos de opção) que o cliente DHCP está solicitando do servidor DHCP. É uma string escrita em notação separada por vírgulas (por exemplo, 1,15,43).
Não é uma solução perfeita, pois os dados que produz dependem do fornecedor e podem ser duplicados por vários tipos de dispositivos.
Por exemplo, os dispositivos Windows 10 sempre solicitam, por padrão, uma determinada lista de parâmetros. Os iPhones e iPads da Apple usam diferentes conjuntos de parâmetros nos quais é possível classificá-los.
Exemplo de captura do cliente Windows 10:

4. Opção 77 - Classe de Usuário
A classe de usuário é uma opção que geralmente não é usada por padrão e exige que o cliente seja configurado manualmente. Por exemplo, esta opção pode ser configurada em uma máquina Windows usando o comando:
ipconfig /setclassid “ADAPTER_NAME” “USER_CLASS_STRING”
O nome do adaptador pode ser encontrado na Central de Rede e Compartilhamento no painel de controle:

Configure a opção 66 do DHCP para o cliente Windows 10 no CMD (requer direitos de administrador):

Devido à implementação do Windows da opção 66, o Wireshark não pode decodificar esta opção e parte do pacote que vem após a opção 66 aparece como malformada:

Criação de perfil HTTP
A criação de perfil HTTP é a maneira mais avançada de criar o perfil do 9800 WLC e oferece a classificação de dispositivo mais detalhada. Para que um cliente tenha perfil HTTP, ele precisa estar em um estado Executar e executar uma solicitação HTTP GET. O WLC intercepta a solicitação e examina o campo User-Agent no cabeçalho HTTP do pacote. Esse campo contém informações adicionais sobre o cliente sem fio que podem ser usadas para classificá-lo.
Por padrão, quase todos os fabricantes implementaram um recurso em que um cliente sem fio tenta executar a verificação de conectividade da Internet. Essa verificação também é usada para detecção automática do portal de convidado. Se um dispositivo receber uma resposta HTTP com o código de status 200 (OK), isso significa que a WLAN não está protegida com webauth. Se estiver, a WLC executará a interceptação necessária para executar o restante da autenticação. Este HTTP GET inicial não é o único que a WLC pode usar para criar o perfil do dispositivo. Cada solicitação HTTP subsequente é inspecionada pela WLC e possivelmente resulta com uma classificação ainda mais detalhada.
Os dispositivos Windows 10 usam o domínio msftconnecttest.com para executar esse teste. Os dispositivos Apple usam captive.apple.com, enquanto os dispositivos Android geralmente usam connectivitycheck.gstatic.com.
As capturas de pacotes do cliente Windows 10 que executa essa verificação podem ser encontradas abaixo. O campo User Agent é preenchido com Microsoft NCSI, o que resulta no perfil do cliente na WLC como Microsoft-Workstation:

Exemplo de saída do show wireless client mac-address [MAC_ADDR] detalhado para um cliente com perfil via HTTP:
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000029 (OUI, DHCP, HTTP)
Device OS : Windows NT 10.0; Win64; x64; rv:76.0
Protocol : HTTP
Criação de perfil RADIUS
Quando se trata de métodos usados para classificar o dispositivo, não há diferença entre Local e RADIUS Profiling.
Se o RADIUS Profiling estiver habilitado, a WLC encaminhará as informações que aprendeu sobre o dispositivo através de um conjunto específico de atributos RADIUS específicos do fornecedor para o servidor RADIUS.
Criação de perfil DHCP RADIUS
As informações obtidas através do perfil de DHCP são enviadas ao servidor RADIUS dentro da solicitação de contabilidade como um RADIUS AVPair específico do fornecedor cisco-av-pair: dhcp-option=<DHCP option>.
Exemplo de um pacote de requisição de relatório mostrando AVPairs para a opção de DHCP 12, 60 e 55, respectivamente, enviados da WLC para o servidor RADIUS (o valor da opção 55 possivelmente aparece como corrompido devido à decodificação do Wireshark):

Criação de perfil HTTP RADIUS
As informações obtidas através do HTTP Profiling (campo User-Agent do cabeçalho da solicitação HTTP GET) enviam para o servidor RADIUS dentro da solicitação de contabilidade como um fornecedor específico RADIUS AVPair cisco-av-pair: http-tlv=User-Agent=<user-agent>
A verificação de conectividade inicial do pacote HTTP GET não contém muitas informações no campo User-Agent, somente o Microsoft NCSI. Exemplo de um pacote de contabilização que encaminha este valor simples para o servidor RADIUS:

Depois que o usuário começa a navegar na Internet e cria algumas solicitações HTTP GET adicionais, é possível obter mais informações sobre ele. O WLC envia um pacote de contabilização adicional para o ISE se detectar novos valores de Agente de Usuário para este cliente. Neste exemplo, é possível ver que o cliente está usando o Windows 10 de 64 bits e o Firefox 76:

Configurar a criação de perfil no 9800 WLC
Configuração de criação de perfil local
Para que a Criação de perfil local funcione, basta habilitar a Classificação do dispositivo em Configuração > Sem fio > Global sem fio. Esta opção habilita o perfil MAC OUI, HTTP e DHCP ao mesmo tempo:

Além disso, na configuração de Política, você pode habilitar o Cache TLV HTTP e o Cache TLV DHCP. A WLC executa a criação de perfis mesmo sem eles.
Com essas opções ativadas, a WLC armazena em cache as informações aprendidas anteriormente sobre esse cliente e evita a necessidade de inspecionar pacotes adicionais gerados por esse dispositivo.

Configuração de criação de perfil RADIUS
Para que o RADIUS Profiling funcione, além de habilitar globalmente a classificação do dispositivo (como mencionado na seção de configuração Local Profiling), é necessário:
1. Configure a Lista de Método AAA > Contabilidade com o tipo identidade apontando em direção ao servidor RADIUS:

2. O método de contabilização precisa ser adicionado em Configuration > Tags & Profiles > Policy > [Policy_Name] > Advanced:

3. Finalmente, RADIUS Local Profiling caixa de verificação precisa ser marcada em Configuration > Tags & Profiles > Policy. Esta caixa de seleção habilita HTTP e DHCP RADIUS Profiling (as WLCs AireOS antigas tinham 2 caixas de seleção separadas):

Definindo o perfil dos casos de uso
Aplicar políticas locais com base na classificação de criação de perfil local
Esta configuração de exemplo demonstra a configuração da Diretiva Local com o bloqueio do perfil de QoS YouTube e Facebook que é aplicado somente aos dispositivos com perfil Windows-Workstation.
Com pequenas alterações, essa configuração pode ser modificada para, por exemplo, definir a marcação de DSCP específica apenas para telefones sem fio.
Crie um perfil de QoS navegando até Configuration > Services > QoS. Clique em Add para criar uma nova política:

Especifique o nome da política e adicione um novo mapa de classe. Nos protocolos disponíveis, selecione aqueles que precisam ser bloqueados, marcados com DSCP ou com largura de banda limitada.
Neste exemplo, o YouTube e o Facebook estão bloqueados. Certifique-se de não aplicar esse perfil de QoS a nenhum dos perfis de política na parte inferior da janela de QoS:


Navegue até Configuration > Security > Local Policy e crie um novo Service Template:

Especifique os perfis Ingress QoS e Egress QoS que foram criados na etapa anterior. Uma lista de acesso também pode ser aplicada nesta etapa. Se nenhuma alteração de VLAN for necessária, deixe o campo VLAN ID vazio:

Navegue até a guia Policy Map e clique em Add:

Defina o nome do mapa de políticas e adicione novos critérios. Especifique o Modelo de serviço que foi criado na etapa anterior e selecione o Tipo de dispositivo ao qual esse modelo é aplicado.
Nesse caso, Microsoft-Workstation é usado. Se várias políticas forem definidas, a primeira correspondência será usada.
Um outro caso de uso comum seria especificar critérios de correspondência baseados em OUI. Se uma implantação tiver um grande número de scanners ou impressoras do mesmo modelo, eles geralmente terão o mesmo MAC OUI.
Isso pode ser usado para aplicar a marcação QoS DSCP específica ou uma ACL:

Para que a WLC possa reconhecer o tráfego do YouTube e do Facebook, a visibilidade do aplicativo precisa estar ativada.
Navegue para Configuration > Services > Application Visibility habilitar a visibilidade para o Policy Profile da sua WLAN:

Verifique se no perfil de política o cache TLV de HTTP, o cache TLV de DHCP, a classificação de dispositivo global estão habilitados e se o nome da política de assinante local está apontando para o mapa de política local que foi criado em uma das etapas anteriores:

Depois que o cliente se conecta, é possível verificar se a política local foi aplicada e testar se o YouTube e o Facebook estão realmente bloqueados. A saída do comando show wireless client mac-address [MAC_ADDR] detailed contém:
Input Policy Name : block
Input Policy State : Installed
Input Policy Source : Native Profile Policy
Output Policy Name : block
Output Policy State : Installed
Output Policy Source : Native Profile Policy
Local Policies:
Service Template : BlockTemplate (priority 150)
Input QOS : block
Output QOS : block
Service Template : wlan_svc_11override_local (priority 254)
VLAN : VLAN0039
Absolute-Timer : 1800
Device Type : Microsoft-Workstation
Device Name : MSFT 5.0
Protocol Map : 0x000029 (OUI, DHCP, HTTP)
Protocol : HTTP
Criação de perfis RADIUS para conjuntos de políticas avançadas no Cisco ISE
Com a criação de perfil RADIUS ativada, a WLC encaminha as informações de criação de perfil para o ISE. Com base nessas informações, é possível criar regras avançadas de autenticação e autorização.
Este artigo não aborda a configuração do ISE. Consulte o Guia de design de criação de perfil do Cisco ISE para obter mais informações.
Esse fluxo de trabalho geralmente requer o uso de CoA, portanto, certifique-se de que ele esteja habilitado na WLC 9800.
Criação de perfis em implantações do FlexConnect
Autenticação central, comutação local
Nesta configuração, tanto o perfil local quanto o RADIUS continuam a funcionar exatamente como descrito nos capítulos anteriores. Se o AP entrar no modo autônomo (o AP perde a conexão com a WLC), o perfil do dispositivo para de funcionar e nenhum cliente novo pode se conectar.
Autenticação local, comutação local
Se o AP estiver no modo conectado (AP unido à WLC), a criação de perfil continuará a funcionar (o AP envia uma cópia dos pacotes DHCP do cliente para a WLC para executar o processo de criação de perfil).
Apesar da criação de perfil funcionar, já que a autenticação é realizada localmente no AP, as informações de criação de perfil não podem ser utilizadas para qualquer configuração de política local ou regras de criação de perfil RADIUS.
Troubleshooting
Traços radioativos
A maneira mais fácil de solucionar problemas de criação de perfis de clientes na WLC é por meio de rastreamentos radioativos. Navegue para Troubleshooting > Radioative Trace, insira o endereço MAC do adaptador sem fio do cliente e clique em Start:

Conecte o cliente à rede e aguarde até que ele atinja o estado de execução. Pare os rastreamentos e clique em Gerar. Certifique-se de que os registros internos estejam ativados (esta opção só existe nas versões 17.1.1 e posteriores):

Trechos relevantes do traço radioativo podem ser encontrados em seguida.
O cliente sendo perfilado pelo WLC como Microsoft-Workstation:
2020/06/18 10:46:41.052366 {wncd_x_R0-0}{1}: [auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Device type for the session is detected as Microsoft-Workstation and old device-type not classified earlier &Device name for the session is detected as MSFT 5.0 and old device-name not classified earlier & Old protocol map 0 and new is 41
2020/06/18 10:46:41.052367 {wncd_x_R0-0}{1}: [auth-mgr] [21168]: (debug): [74da.38f6.76f0:capwap_90000004] updating device type Microsoft-Workstation, device name MSFT 5.0
Classificação do dispositivo no cache da WLC:
(debug): [74da.38f6.76f0:unknown] Updating cache for mac [74da.38f6.76f0] device_type: Microsoft-Workstation, device_name: MSFT 5.0 user_role: NULL protocol_map: 41
A WLC está descobrindo a classificação do dispositivo dentro do cache:
(info): [74da.38f6.76f0:capwap_90000004] Device type found in cache Microsoft-Workstation
WLC aplicando a política local com base na classificação:
(info): device-type filter: Microsoft-Workstation required, Microsoft-Workstation set - match for 74da.38f6.76f0 / 0x9700001A
(info): device-type Filter evaluation succeeded
(debug): match device-type eq "Microsoft-Workstation" :success
A WLC está enviando pacotes de contabilização que contêm o atributo DHCP e HTTP Profiling:
[caaa-acct] [21168]: (debug): [CAAA:ACCT:c9000021] Accounting session created
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Getting active filter list
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Found http
[auth-mgr] [21168]: (info): [74da.38f6.76f0:capwap_90000004] Found dhcp
[aaa-attr-inf] [21168]: (debug): Filter list http-tlv 0
[aaa-attr-inf] [21168]: (debug): Filter list dhcp-option 0
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-profile-name 0 "Microsoft-Workstation"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-device-name 0 "MSFT 5.0"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-device-class-tag 0 "Workstation:Microsoft-Workstation"
[aaa-attr-inf] [21168]: (debug): Get acct attrs dc-certainty-metric 0 10 (0xa)
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 0c 00 0f 44 45 53 4b 54 4f 50 2d 4b 4c 52 45 30 4d 41
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 3c 00 08 4d 53 46 54 20 35 2e 30
[aaa-attr-inf] [21168]: (debug): Get acct attrs dhcp-option 0 00 37 00 0e 01 03 06 0f 1f 21 2b 2c 2e 2f 77 79 f9 fc
### http profiling sent in a separate accounting packet
[aaa-attr-inf] [21168]: (debug): Get acct attrs http-tlv 0 00 01 00 0e 4d 69 63 72 6f 73 6f 66 74 20 4e 43 53 49
Capturas de pacotes
Em uma implantação comutada centralmente, as capturas de pacotes podem ser executadas na própria WLC. Navegue para Troubleshooting > Captura de Pacotes e crie um novo ponto de captura em uma das interfaces que estão em uso por este cliente.
É necessário ter o SVI na VLAN para executar a captura nela, caso contrário, faça a captura na própria porta física

Informações Relacionadas