[GTER] Freeradius: atributos de checagem do grupo não funcionam

Eduardo Schoedler eschoedler at viavale.com.br
Wed Jun 3 00:27:30 -03 2009


Eu estou controlando tudo por mysql... ao meu ver, não deveria ser 
necessário criar uma estrutura adicional, uma vez que já existem tabelas que 
fazem/comportam exatamente o que eu precisaria informar ao FR.

Bom, paciência...

Abraço!

----- Original Message ----- 
From: "Alexandre J. Correa - Onda Internet" <alexandre at onda.psi.br>
Sent: Wednesday, June 03, 2009 12:12 AM
Subject: Re: [GTER] Freeradius: atributos de checagem do grupo não funcionam


um script externo tambem resolve o seu problema ...


Eduardo Schoedler wrote:
> Pessoal.
>
> Andei fazendo mais alguns testes...
>
> Aparentemente, os atributos de verificação por grupos só serve para dizer 
> ao FR quando enviar ou não atributos de retorno do grupo ao NAS.
> Não consegui fazer qualquer verificação de atributos utilizando a tabela 
> radgroupcheck.
>
> Abaixo, segue um exemplo.
>
> 'test-user' pertence ao grupo 'test-group'.
>
> Na tabela de radgroupcheck, adicionei a seguinte "regra":
> 'test-group' => Framed-Protocol == PPP
>
> Na tabela de radgroupreply, adicionei um atributo de retorno:
> 'test-group' => Idle-Timeout <= 600
>
> Então começou a funcionar... mas não do jeito que eu imaginava ou 
> precisava.
> Quando enviei 'Framed-Protocol' na requisição, ele respondia o atributo 
> especificado no grupo.
>
> Na verdade, eu precisaria que ele rejeitasse (Access-Reject) se a 
> requisição não tivesse 'Framed-Protocol' ou então o valor desse atributo 
> fosse diferente de PPP.
>
> # radtest test-user test-pass localhost 0 testing123 1
> Sending Access-Request of id 110 to 127.0.0.1 port 1812
>        User-Name = "test-user"
>        User-Password = "test-pass"
>        NAS-IP-Address = 127.0.0.1
>        NAS-Port = 0
>        Framed-Protocol = PPP
> rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=110, 
> length=26
>        Idle-Timeout = 600
>
> Quando mandava sem, ele respondia Access-Accept de qualquer jeito... mas 
> não retornava 'Idle-Timeout'.
>
> # radtest test-user test-pass localhost 0 testing123
> Sending Access-Request of id 12 to 127.0.0.1 port 1812
>        User-Name = "test-user"
>        User-Password = "test-pass"
>        NAS-IP-Address = 127.0.0.1
>        NAS-Port = 0
> rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=12, 
> length=20
>
> Ou seja: se eu quiser recusar qualquer login a partir dos atributos da 
> requisição, terei de adicionar atributos em usuário por usuário.... nada 
> prático e muito suscetível a erros por parte do operador.
>
> Acredito que uma solução seria alterar a consulta SQL de 
> authorize_check_query ... talvez um UNION trazendo junto os atributos do 
> radgroupcheck.
> Não é a melhor solução, mas acho que funcionaria.
>
> Abraços.
> -- 
> gter list    https://eng.registro.br/mailman/listinfo/gter
>

--
gter list    https://eng.registro.br/mailman/listinfo/gter 




More information about the gter mailing list