Sonicwall SSO com NPS

1

Eu tenho um SonicWall onde desejo ativar o recurso de SSO do RADIUS. O artigo para fazer isso indica o servidor RADIUS Send the user’s IP address in either Framed-IP-Address or Calling-Station-Id attribute in both Start and Stop messages.

Minha configuração é a seguinte: AP -> NPS -> (RADIUS Accounting forwarded) Sonicwall

Ao conectar-se ao AP, ele efetua o login com êxito. Quando o evento encaminhado atinge o SonicWall, ele não tem o Framed-IP-Address ou o IP no Calling-Station-Id (somente o endereço MAC).

 Attribute Value Pairs
    AVP: l=19  t=Acct-Session-Id(44): 53AB6162-00000010
    AVP: l=6  t=Acct-Status-Type(40): Stop(2)
    AVP: l=6  t=Acct-Authentic(45): RADIUS(1)
    AVP: l=10  t=User-Name(1): user
    AVP: l=6  t=NAS-IP-Address(4): 10.10.0.150
    AVP: l=14  t=NAS-Identifier(32): xxxxxxxxx
    AVP: l=6  t=NAS-Port(5): 0
    AVP: l=35  t=Called-Station-Id(30): XX-XX-XX-XX-XX-XX:SSID
    AVP: l=19  t=Calling-Station-Id(31): XX-XX-XX-XX-XX-XX
    AVP: l=6  t=NAS-Port-Type(61): Wireless-802.11(19)
    AVP: l=23  t=Connect-Info(77): CONNECT 0Mbps 802.11b
    AVP: l=46  t=Class(25): 420e04e70000013700011700000000000000000000000000...
    AVP: l=6  t=Acct-Session-Time(46): 604
    AVP: l=6  t=Acct-Input-Packets(47): 182
    AVP: l=6  t=Acct-Output-Packets(48): 145
    AVP: l=6  t=Acct-Input-Octets(42): 32797
    AVP: l=6  t=Acct-Output-Octets(43): 47272
    AVP: l=6  t=Event-Timestamp(55): Jun 26, 2014 09:47:54.000000000 PDT
    AVP: l=6  t=Acct-Terminate-Cause(49): User-Request(1)
    AVP: l=22  t=Proxy-State(33): 1700000000000000000000000000000000000039

Descobri que meus APs Ubiquiti não enviam o Framed-IP-Address ou o IP no Calling-Station-Id e recomendam o RADIUS para obter essas informações do DHCP. Devo estar faltando alguma coisa, pois não consigo encontrar a configuração em nenhum lugar no NPS ou no serviço DHCP.

Como obtenho as informações corretas no meu SonicWall através do DHCP ou NPS?

    
por AWippler 26.06.2014 / 19:28

2 respostas

2

Outras pessoas têm sem sucesso. Parece, depois de examinar o código, que seria necessária alguma engenharia razoável para que isso acontecesse. ( Ubiquiti chegou à mesma conclusão .

Os APs Ubiquiti são baseados em Linux e usam hostapd para fornecer sua funcionalidade AP. Eu procurei na fonte do hostapd um pouco, e não estou achando que ele suporta o preenchimento do atributo Framed-IP-Address RADIUS ( src/radius/radius.c , o radius_attr_type radius_attrs struct). Quanto ao preenchimento do atributo Calling-Station-Id , o hostpad apenas preenche aquele com o endereço MAC, pelo que eu posso ver ( src/ap/ieee802_11_auth.c na função hostapd_radius_acl_query onde obtém o MAC de hostapd_allowed_address e em src/ap/ieee802_1x.c em a função add_common_radius_sta_attr ).

Desde hostapd está preocupado principalmente com a autenticação da unidade móvel (MU) (e um pouco pouco de contabilização RADIUS) e não está lidando com tráfego IP arbitrário para o MU uma vez que é autenticado não está indo realmente ter o IP do MU para dar ao RADIUS.

Eu não acho que você vai conseguir o que quer sem escrever código. Em teoria, você poderia colocar algum tipo de proxy RADIUS de camada 7 entre o serviço NPS e o Sonicwall e reescrever esse atributo do MAC para o endereço IP (consultando seus servidores DHCP). As políticas do FreeRADIUS podem ser capazes de fazer o que você quer.

    
por 26.06.2014 / 21:51
0

Seguindo a sugestão de Evan. Acabei escrevendo meu próprio código usando o unifi-api da calmh. Meu fork do projeto inclui instruções sobre como configurá-lo com o FreeRADIUS.

Eu fui o FreeRADIUS > NPS (Auth) > Rota Sonicwall (Acct).

    
por 11.07.2014 / 02:04