802.1x somente na VLAN de acesso, não na VLAN de voz

8

Eu configurei com sucesso um Cisco 3750G para executar a função de autenticador do processo 802.1x. Eu tenho uma máquina Win7 de teste como suplicante e um servidor Windows 2008 executando o NPS como servidor de autenticação. A máquina Win7 é capaz de autenticar com êxito.

Agora conectei um telefone IP Cisco 7941 na frente da máquina Win7, configurei o switch com o comando swtichport voice vlan , conecto- o e recebo energia, mas a porta se move rapidamente para um estado inoperante. Depois de examinar os logs de depuração, acredito que o problema seja algo com o 802.1x tentando autenticação na VLAN de acesso e na VLAN de voz. Existe uma maneira de executar apenas 802.1x na VLAN do Access? e não a voz?

Cenário:

{RADIUS}  <---->   {3750G} <-----> {Cisco 7941 Phone} <----->  {Win7 802.1x client}

Atualmente, estou testando na interface gi1 / 0/3, aqui está a linha de configuração da interface:

interface GigabitEthernet1/0/3
  description TestPort
  switchport access vlan 100
  switchport voice vlan 110
  switchport mode access
  authentication port-control auto
  authentication periodic
  authentication timer reauthenticate server
  dot1x pae authenticator
  spanning-tree portfast
  auto qos voip cisco-phone

Alguns dos debugam do 3750G

*Apr 21 13:44:04.045: %ILPOWER-7-DETECT: Interface Gi1/0/3: Power Device detected: IEEE PD
*Apr 21 13:44:04.322: %ILPOWER-5-POWER_GRANTED: Interface Gi1/0/3: Power granted
*Apr 21 13:44:07.811: dot1x-ev(Gi1/0/3): Interface state changed to UP
*Apr 21 13:44:07.811:     dot1x_auth Gi1/0/3: initial state auth_initialize has enter
*Apr 21 13:44:07.811: dot1x-sm(Gi1/0/3): 0x0000003B:auth_initialize_enter called
*Apr 21 13:44:07.811:     dot1x_auth Gi1/0/3: during state auth_initialize, got event 0(cfg_auto)
*Apr 21 13:44:07.811: @@@ dot1x_auth Gi1/0/3: auth_initialize -> auth_disconnected
*Apr 21 13:44:07.811: dot1x-sm(Gi1/0/3): 0x0000003B:auth_disconnected_enter called
*Apr 21 13:44:07.811:     dot1x_auth Gi1/0/3: idle during state auth_disconnected
*Apr 21 13:44:07.811: @@@ dot1x_auth Gi1/0/3: auth_disconnected -> auth_restart
*Apr 21 13:44:07.811: dot1x-sm(Gi1/0/3): 0x0000003B:auth_restart_enter called
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Sending create new context event to EAP for 0x0000003B (0000.0000.0000)
*Apr 21 13:44:07.820:     dot1x_auth_bend Gi1/0/3: initial state auth_bend_initialize has enter
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_bend_initialize_enter called
*Apr 21 13:44:07.820:     dot1x_auth_bend Gi1/0/3: initial state auth_bend_initialize has idle
*Apr 21 13:44:07.820:     dot1x_auth_bend Gi1/0/3: during state auth_bend_initialize, got event 16383(idle)
*Apr 21 13:44:07.820: @@@ dot1x_auth_bend Gi1/0/3: auth_bend_initialize -> auth_bend_idle
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_bend_idle_enter called
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Created a client entry (0x0000003B)
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Dot1x authentication started for 0x0000003B (0000.0000.0000)
*Apr 21 13:44:07.820: dot1x-ev:DOT1X Supplicant not enabled on GigabitEthernet1/0/3
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): Posting !EAP_RESTART on Client 0x0000003B
*Apr 21 13:44:07.820:     dot1x_auth Gi1/0/3: during state auth_restart, got event 6(no_eapRestart)
*Apr 21 13:44:07.820: @@@ dot1x_auth Gi1/0/3: auth_restart -> auth_connecting
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_connecting_enter called
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_restart_connecting_action called
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): Posting RX_REQ on Client 0x0000003B
*Apr 21 13:44:07.820:     dot1x_auth Gi1/0/3: during state auth_connecting, got event 10(eapReq_no_reAuthMax)
*Apr 21 13:44:07.820: @@@ dot1x_auth Gi1/0/3: auth_connecting -> auth_authenticating
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_authenticating_enter called
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_connecting_authenticating_action called
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): Posting AUTH_START for 0x0000003B
*Apr 21 13:44:07.820:     dot1x_auth_bend Gi1/0/3: during state auth_bend_idle, got event 4(eapReq_authStart)
*Apr 21 13:44:07.820: @@@ dot1x_auth_bend Gi1/0/3: auth_bend_idle -> auth_bend_request
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_bend_request_enter called
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Sending EAPOL packet to group PAE address
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Role determination not required
*Apr 21 13:44:07.820: dot1x-registry:registry:dot1x_ether_macaddr called
*Apr 21 13:44:07.820: dot1x-ev(Gi1/0/3): Sending out EAPOL packet
*Apr 21 13:44:07.820: EAPOL pak dump Tx
*Apr 21 13:44:07.820: EAPOL Version: 0x3  type: 0x0  length: 0x0005
*Apr 21 13:44:07.820: EAP code: 0x1  id: 0x1  length: 0x0005 type: 0x1
*Apr 21 13:44:07.820: dot1x-packet(Gi1/0/3): EAPOL packet sent to client 0x0000003B (0000.0000.0000)
*Apr 21 13:44:07.820: dot1x-sm(Gi1/0/3): 0x0000003B:auth_bend_idle_request_action called
*Apr 21 13:44:09.791: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/3, changed state to up
*Apr 21 13:44:10.798: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/3, changed state to up
*Apr 21 13:44:36.844: dot1x-ev(Gi1/0/3): Interface state changed to DOWN
*Apr 21 13:44:36.844: dot1x-ev(Gi1/0/3): Deleting client 0x0000003B (0000.0000.0000)
*Apr 21 13:44:36.844: dot1x-ev:dot1x_supp_port_down: No DOT1X subblock found on GigabitEthernet1/0/3
*Apr 21 13:44:36.844: dot1x-ev:Delete auth client (0x0000003B) message
*Apr 21 13:44:36.844: dot1x-ev:Auth client ctx destroyed
*Apr 21 13:44:37.842: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/3, changed state to down
*Apr 21 13:44:38.841: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/3, changed state to down

Configuração de interface mais recente: interface GigabitEthernet1 / 0/3 acesso à porta de switch vlan 105 modo de porta de acesso access switchport voz vlan 110 fila da srr compartilhamento de largura de banda da fila 1 30 35 5 saída da fila de prioridade autenticação controle-direção no evento de autenticação falha ação ação autenticação do próximo método modo host autenticação de autenticação múltipla ordem de autenticação aberta dot1x prioridade de autenticação mab mab dot1x mab mls qos dispositivo de confiança cisco-phone mls qos trust cos auto qos voip cisco-phone dot1x pae authenticator spanning tree portfast service-policy input AUTOQOS-SRND4-CISCOPHONE-POLICY

Configurações globais pai

Debuga:

show version
Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 28    WS-C3750G-24PS     15.0(2)SE6            C3750-IPSERVICESK9-M

#show authentication sessions interface gi1/0/3
            Interface:  GigabitEthernet1/0/3
          MAC Address:  Unknown
           IP Address:  Unknown
               Status:  Authz Success
               Domain:  DATA
      Security Policy:  Should Secure
      Security Status:  Unsecure
       Oper host mode:  multi-auth
     Oper control dir:  in
        Authorized By:  Authentication Server
          Vlan Policy:  N/A
      Session timeout:  N/A
         Idle timeout:  N/A
    Common Session ID:  0A6363FE0000001900347F3C
      Acct Session ID:  0x00000020
               Handle:  0x7A00001A

Runnable methods list:
       Method   State
       dot1x    Authc Success
       mab      Not run

#show dot1x all details
Sysauthcontrol              Enabled
Dot1x Protocol Version            3

Dot1x Info for GigabitEthernet1/0/3
-----------------------------------
PAE                       = AUTHENTICATOR
QuietPeriod               = 60
ServerTimeout             = 0
SuppTimeout               = 30
ReAuthMax                 = 2
MaxReq                    = 2
TxPeriod                  = 30

Dot1x Authenticator Client List Empty

show run | in dot1x
aaa authentication dot1x default group RADIUS
dot1x system-auth-control

Console

Oct 15 20:16:41.392: dot1x-ev(Gi1/0/3): Interface state changed to DOWN
Oct 15 20:16:41.400: dot1x-ev(Gi1/0/3): Deleting client 0x74000003 (0000.0000.0000)
Oct 15 20:16:41.400: dot1x-ev:dot1x_supp_port_down: No DOT1X subblock found on GigabitEthernet1/0/3
Oct 15 20:16:41.400: dot1x-ev:Delete auth client (0x74000003) message
Oct 15 20:16:41.400: dot1x-ev:Auth client ctx destroyedshut
Oct 15 20:16:42.180: %SWITCH_QOS_TB-5-TRUST_DEVICE_LOST: cisco-phone no longer detected on port Gi1/0/3, operational port trust state is now untrusted
Oct 15 20:16:43.363: %LINK-5-CHANGED: Interface GigabitEthernet1/0/3, changed state to administratively down
Oct 15 20:16:44.370: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/3, changed state tno shut
SW1(config-if)#
Oct 15 20:16:47.801: %ILPOWER-7-DETECT: Interface Gi1/0/3: Power Device detected: IEEE PD
Oct 15 20:16:48.807: %ILPOWER-5-POWER_GRANTED: Interface Gi1/0/3: Power granted
Oct 15 20:16:48.916: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/3, changed state to down
Oct 15 20:16:50.124: dot1x-ev(Gi1/0/3): Interface state changed to UP
Oct 15 20:16:50.133:     dot1x_auth Gi1/0/3: initial state auth_initialize has enter
Oct 15 20:16:50.133: dot1x-sm(Gi1/0/3): 0xD8000004:auth_initialize_enter called
Oct 15 20:16:50.133:     dot1x_auth Gi1/0/3: during state auth_initialize, got event 1(cfg_force_auth)
Oct 15 20:16:50.133: @@@ dot1x_auth Gi1/0/3: auth_initialize -> auth_force_auth
Oct 15 20:16:50.133: dot1x-sm(Gi1/0/3): 0xD8000004:auth_force_auth_enter called
Oct 15 20:16:50.133: dot1x-ev(Gi1/0/3): Sending EAPOL packet to group PAE address
Oct 15 20:16:50.133: dot1x-ev(Gi1/0/3): Role determination not required
Oct 15 20:16:50.133: dot1x-registry:registry:dot1x_ether_macaddr called
Oct 15 20:16:50.133: dot1x-ev(Gi1/0/3): Sending out EAPOL packet
Oct 15 20:16:50.133: EAPOL pak dump Tx
Oct 15 20:16:50.133: EAPOL Version: 0x3  type: 0x0  length: 0x0004
Oct 15 20:16:50.133: EAP code: 0x3  id: 0x1  length: 0x0004
Oct 15 20:16:50.133: dot1x-packet(Gi1/0/3): dot1x_auth_txCannedStatus: EAPOL packet sent to client 0xD8000004 (0000.0000.0000)
Oct 15 20:16:50.133:     dot1x_auth_bend Gi1/0/3: initial state auth_bend_initialize has enter
Oct 15 20:16:50.133: dot1x-sm(Gi1/0/3): 0xD8000004:auth_bend_initialize_enter called
Oct 15 20:16:50.133:     dot1x_auth_bend Gi1/0/3: initial state auth_bend_initialize has idle
Oct 15 20:16:50.133:     dot1x_auth_bend Gi1/0/3: during state auth_bend_initialize, got event 16383(idle)
Oct 15 20:16:50.133: @@@ dot1x_auth_bend Gi1/0/3: auth_bend_initialize -> auth_bend_idle
Oct 15 20:16:50.133: dot1x-sm(Gi1/0/3): 0xD8000004:auth_bend_idle_enter called
Oct 15 20:16:50.133: dot1x-ev(Gi1/0/3): Created a client entry (0xD8000004)
Oct 15 20:16:50.133: dot1x-ev(Gi1/0/3): Dot1x authentication started for 0xD8000004 (0000.0000.0000)
Oct 15 20:16:50.133: dot1x-ev:DOT1X Supplicant not enabled on GigabitEthernet1/0/3
Oct 15 20:16:50.141: dot1x-ev(Gi1/0/3): Sending event (2) to Auth Mgr for 0000.0000.0000
Oct 15 20:16:50.141: dot1x-redundancy: State for client  0000.0000.0000 successfully retrieved
Oct 15 20:16:52.113: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/3, changed state to up
Oct 15 20:16:53.119: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/3, changed state to up
Oct 15 20:17:34.542: %SWITCH_QOS_TB-5-TRUST_DEVICE_DETECTED: cisco-phone detected on port Gi1/0/3, port's configured trust state is now operational.

A porta ainda termina em um estado de desligamento, mas fornece energia para o telefone ...

Jim
fonte
Adicione os seguintes comandos adicionais, isso deve resolver o seu problema. Verifique se você possui o MAC do seu telefone no NPS - "evento de autenticação falha na ação do próximo método" - "autenticação aberta" - "prioridade de autenticação dot1x mab" - "restrição de violação de autenticação" - "mab" - "dot1x timeout td-period 5 "
Jaxxs 15/10/14
Você pode postar seu "sh ver"?
Jaxxs #
E você pode postar sua configuração? Só quero ver o seu dot1x global e AAA.
Jaxxs #
Adicionado os últimos debuga e as configurações globais.
22414 Jim
Parece que o Cisco 7941 realmente suporta dot1x. É necessário configurar isso: Escolha Configurações> Configuração de segurança> Autenticação 802.1X> Autenticação do dispositivo. Veja também EAP-MD5 para SS no mesmo menu.
Jaxxs

Respostas:

4

Você precisaria configurar a autenticação MAB (Mac Auth Bypass) para o telefone IP na interface multi-vlan. Você também precisa de autenticação múltipla para que o comutador saiba procurar mais de um endereço MAC.

multi-autenticação no modo host de autenticação

de autenticação automática mab dot1x

Jaxxs
fonte
domínio mutli ou multi-autenticação? Eu li que o multi-domínio é necessário se você usar dois vlans de acesso e voz diferentes?
Jim
Quando multi-auth está configurado, um único telefone autenticado é permitido no domínio de voz (VLAN), mas um número ilimitado de dispositivos de dados pode ser autenticado no domínio de dados (VLAN)
Jaxxs
Emitir um "mab" na interface é tudo o que tenho que fazer? Alguém tem bons links sobre como configurar isso no lado do Windows NPS? Tudo o que encontro é para o Cisco ACS.
Jim
5

802.1x é baseado em porta. Portanto, da forma mais simples, a porta é autorizada ou não; uma vez autorizado - com limites de MAC à parte - o tráfego de qualquer coisa será permitido. Os sistemas 802.1x modernos são muito mais inteligentes ("mais complicados") e podem policiar independentemente vários hosts em uma única porta. Isto é onde multi-authe multi-domainentrar. (Consultar Cisco aqui )

Como o Jaxxs aponta, o único compromisso é permitir o acesso do telefone sem autenticação (por MAC.) Como o 7941 não faz o 802.1x, mas passa o EAPOL e "falsifica" um logoff quando a porta do PC é fechada. desconectado.

(Ignorando que é em termos de NX-OS, esta é a forma como MAB funciona.)

Ricky Beam
fonte
1

O CDP deve realmente cuidar da autenticação da porta de um telefone IP da Cisco. Há um recurso pouco conhecido chamado "CDP bypass" que permite que um comutador Cisco detecte um TLV específico na mensagem do CDP, o que permite autenticação imediata. Esteja ciente, no entanto, que a versão mais recente do Cisco IOS não inclui mais esse recurso de desvio do CDP.

Joe
fonte
11
Sobre os sons de bypass CDP superfície como uma vulnerabilidade de segurança e uma boa coisa para remover
Mike Pennington
1

O telefone deve poder executar o CDP. Se o switch vir um telefone como um vizinho do CDP, ele fará o desvio do CDP e não tentará se autenticar.

A autenticação múltipla não é necessária para um telefone. Isso permitirá várias máquinas na vlan de dados, que é desativada por padrão e mostrará "Violação de segurança" nos logs.

O domínio múltiplo permitirá que um telefone seja autenticado.

Você deve configurar a ordem de autenticação dot1x mab para tentar a tentativa dot1x primeiro.

Adicione também autenticação de controle de porta automática.

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/12-2_55_se/configuration/guide/3750xscg/sw8021x.html

Jesse
fonte