servidor freeradius adicionando verificação adicional

1

Consegui implantar com sucesso um servidor freeradius e criei um script python que faz uma verificação adicional no usuário (solicitação de entrada). Eu verifiquei a internet (recursos para freeradius são muito horríveis) e só encontrei um tópico que explica algumas noções básicas sobre como adicionar um script python ao processo.

Neste momento, eu o tenho dentro de / etc / freeradius / sites-enabled / default na seção authorize :

update control {
       Auth-Type := '/usr/bin/python /etc/test.py '%{User-Name}' '%{User-Password}''
}

Meu arquivo test.py cospe Reject ou Accept . Eu também tenho sql configuração de autenticação com freeradius e o problema é que, se meu script retornar Accept , qualquer outro pedido de autorização abaixo será ignorado; A resposta ainda será um Accept , mesmo que sql cheque rejeite o usuário.

Pelo que entendi, devo passar um noop em vez de Accept para permitir que o freeradius continue e só passe Reject se eu precisar rejeitar o usuário, mas se eu responder com noop , o servidor reclama. / p>

Alguma ideia? Talvez eu precise adicionar meu código à seção Authentication. ? Como?

    
por Romeo Mihalcea 11.04.2013 / 22:43

1 resposta

0

...if my script returns Accept any other authorization request under is ignored

Sim. Isso é por design. Você está dizendo ao FreeRADIUS para aceitar esse usuário. Não vai incomodar com mais nada em sua seção de autorização. Acredito que você esteja correto em que deseja que seu script retorne um noop em vez de um Accept se desejar que outros métodos de autorização sejam usados em conjunto com ele.

Você deve analisar a página de manual unlang se ainda não tiver a página de manual rlm_python. Leia também os comentários todos nos arquivos de configuração.

Você não especificou o que está tentando fazer com que o FreeRADIUS faça em um nível conceitual, por isso não tenho certeza de como aconselhá-lo ainda mais. No entanto, tive excelentes resultados com a lista de usuários do FreeRADIUS-Users. É freqüentado pelos desenvolvedores e muitas pessoas que têm um profundo conhecimento do FreeRADIUS e de sua capacidade. Eu leria o seu FAQ antes de postar (usuários que não são banidos com frequência), descreva o que você quer fazer em um nível amplo e conceitual e no nível de implementação (como você fez aqui) e certifique-se de enviar a totalidade de sua saída de depuração.

A razão pela qual sugiro que você vá para a lista de discussão é que eu suspeito que existe uma maneira melhor de alcançar seus objetivos, mas eu não estou familiarizado o suficiente com o rlm_python para sugerir um caminho a seguir. Independente disso, não parece certo usar as regras de unlang para chamar um script python ...

    
por 11.04.2013 / 23:17

Tags