[MASOCH-L] Ldap com Freeradius

André Proto andreproto at acmesecurity.org
Mon Jul 28 11:35:39 BRT 2008


Olá André,

Vou te passar uma lista de sugestões do que possa ser e o que você deve
fazer para corrigir o problema. Há sugestões para os dois domínios que
você testou (dc=mshome e dc=radius,dc=org,dc=br).

Só uma observação: não se preocupe com o schema do radius. Em primeiro
lugar você não precisa dele para fazer o freeradius+ldap funcionar (pois
é eu não uso o schema por aqui). Esse schema é apenas opcional.

-----------------Para o domínio
dc=teste,dc=radius,dc=org,dc=br------------------------------
Hipótese: Problemas com indexação no banco do LDAP;

Esse problema acontece quando você adiciona um novo atributo no
parâmetro index do slapd.conf. Quando o banco já existe e um novo
atributo é adicionado, é necessário reindexar a base ldap, senão
qualquer coisa que ele procurar, mesmo existindo, ele não encontrará. No
seu caso está:

index   objectClass,uid   eq

Sugiro as seguintes mudanças nesse parâmetro:

index   objectClass  eq
index   uid         pres,eq

ou retirar o atributo uid da indexação:

index   objectClass eq

Após feito essa alteração, pare o daemon do slapd e digite o seguinte
comando:

sh # slapindex

Caso você tenha retirado o "uid" do parâmetro, não é necessário o
comando acima.

Inicie novamente o slapd e teste o freeradius. Teste também o comando
"ldapsearch -x -b dc=teste,dc=radius,dc=org,dc=br uid=notebook".
--------------------------------------------------------------------------------------------

------------------------ Para o domínio dc=mshome -------------------------
Veja que neste domínio o erro já é outro. A primeira coisa a se notar é:

Jul 26 20:21:08 zeus slapd[2897]: conn=3 op=5 SEARCH RESULT tag=101
err=0 nentries=1 text=

Ou seja, nentries=1, ele achou o usuário. Porém:

Sat Jul 26 20:21:08 2008 : Auth: Login incorrect: [teste/teste] (from
client private-network-1 port 10)

O que sugere que a senha está incorreta. Como você digitou:

radtest teste "teste" 192.168.80.254:1812 10 teste

Com a senha entre aspas, sugiro que você tente sem as aspas. Caso não
surta resultado, teste a senha do usuário com o comando:

ldapsearch -x -b dc=mshome -D uid=teste,dc=mshome -W

Ele pedirá a senha. Se a senha estiver correta ele deverá mostrar a
base. Senão mostrará uma mensagem de erro. Em caso de problemas com a
senha utilize o ldappasswd pra alterar a senha:

ldappasswd -x -S -D cn=admin,dc=mshome -W uid=teste,dc=mshome

Um detalhe muito importante: Vale lembrar que, se no notebook que você
está utilizando para testar o login usa windows com o método EAP nativo
(MsCHAPv2), será necessário adicionar os atributos lmPassword e
ntPassword para cada usuário. Isso porque esse método EAP só entende
senhas no formato windows (formato do samba). Talvez você tenha que
integrar o samba ao LDAP para fazer isso funcionar. Caso você não esteja
com muita paciência e gostaria apenas de testar, sugiro que instale no
notebook o seguinte programa:

http://www.securew2.com/

Este programa faz autenticação com vários tipos de métodos EAP. Eu
indico utilizar o TTLS, pelo menos nos testes que você está fazendo. Ele
não precisa utilizar senhas no formato samba.
----------------------------------------------------

Não desanime de configurar o freeradius+ldap. Apesar do sofrimento
inicial, o resultado é muito bom. Continue relatando os problemas aqui,
vamos fazer isso funcionar!

Atenciosamente,

André Proto



André Comarú wrote:
> André Proto,
>
> Li suas dicas e não obtive resultados melhores. Estou quase desistindo
> disso e tentar outra solução.
> Estou enviando todos os resultados e arquivos de confs.
> Mandei até o arquivo do schema, pois já to vendo cabelo em ovo nisso.
> É um detalhe para deixar qualquer um desanimado.
> Se puderes dar uma última olhada ficarei agradecido.
>
> Abraços
>
> André
>
>
> ----- Original Message ----- From: "André Proto"
> <andreproto at acmesecurity.org>
> To: "Mail Aid and Succor, On-line Comfort and Help"
> <masoch-l at eng.registro.br>
> Sent: Friday, July 25, 2008 4:09 PM
> Subject: Re: [MASOCH-L] Ldap com Freeradius
>
>
> André,
>
> Como você viu na resposta do comando, nenhum usuário foi encontrado, ou
> seja, o problema está no servidor openldap. Ou o slapd.conf está
> configurado com um sufixo diferente de
>
> dc=teste,dc=radius,dc=org,dc=br
>
> ou o usuário uid=notebook não foi cadastrado. Verifique se no arquivo
> slapd.conf se o parâmetro "suffix" está configurado como acima. Caso ele
> esteja como "dc=radius,dc=org,dc=br", você deve adicionar na sua base
> LDAP a seguinte entrada:
>
> dn: dc=teste,dc=radius,dc=org,dc=br
> objectClass: dcObject
> objectClass: organizationalUnit
> ou: teste
> dc: teste
>
> dn: uid=notebook,dc=teste,dc=radius,dc=org,dc=br
> objectClass: top
> objectClass: radiusprofile
> objectClass: inetOrgPerson
> uid: notebook
> cn: Andre
> sn: Comaru
> description: 802.1x
> radiusFilterId: "Enterasys:version=1:policy=Enterprise User"
> userPassword: {SHA}Lm+bDViFtgEPkWd4dEVhf1U6c18=
>
>
> Adicione as entradas acima com o ldapadd. Execute o comando dinovo
> (ldapsearch -x -b dc=teste,dc=radius,dc=org,dc=br) e verifique se as
> entradas adicionadas são exibidas.
>
> A propósito, você não me mandou o radiusd.conf e sim o radius.log.
>
> Atenciosamente,
>
> André Proto
>
> André Comarú wrote:
>> André,
>>
>> Segue meu radius.conf e a resposta do comando.
>>
>> ldapserver:~#  ldapsearch -x -b dc=teste,dc=radius,dc=org,dc=br
>> uid=notebook
>> # extended LDIF
>> #
>> # LDAPv3
>> # base with scope subtree
>> # filter: uid=notebook
>> # requesting: ALL
>> #
>> # search result
>> search: 2
>> result: 0 Success
>> # numResponses: 1
>> ldapserver:~#
>>
>> Obrigado desde já.
>>
>> André
>>
>> De:masoch-l-bounces at eng.registro.br
>>
>> Para:"Mail Aid and Succor, On-line Comfort and Help"
>> masoch-l at eng.registro.br
>>
>> Cópia:
>>
>> Data:Fri, 25 Jul 2008 14:24:42 -0300
>>
>> Assunto:Re: [MASOCH-L] Ldap com Freeradius
>>
>>
>>> Olá André,
>>>
>>> Analisando seus logs, entendi que ele não está encontrando o usuário na
>>> base (uid=notebook). Estranho que, apesar do usuário cadastrado, o ldap
>>> retorna 0 entradas ("nentries=0").
>>>
>>> Você poderia postar sua configuração de ldap no arquivo radiusd.conf?
>>> Aproveite faça o seguinte teste em linha de comando:
>>>
>>> ldapsearch -x -b dc=teste,dc=radius,dc=org,dc=br uid=notebook
>>>
>>> Veja se realmente o usuário é encontrado. Se não for, aí tem algo
>>> errado
>>> com seu openldap e não com o freeradius.
>>>
>>> Atenciosamente,
>>>
>>> André Proto
>>>
>>>
>>> André Comarú wrote:
>>>
>>>> Ola Jeronimo,
>>>>
>>>> Eu fiz esta estratégia. Criei no arquivo users 2 usuários. um para
>>>> teste local e outro via eap-wpa para autenticar via notebook. Os 2
>>>> testes deram certo.
>>>>
>>>> segue no anexo users.
>>>>
>>>> Por isso digo q separados estão funcionando.
>>>>
>>>>
>>>> Até
>>>>
>>>>
>>>> De:masoch-l-bounces at eng.registro.br
>>>>
>>>> Para:"Mail Aid and Succor,On-line Comfort and Help"
>>>> masoch-l at eng.registro.br
>>>>
>>>> Cópia:
>>>>
>>>> Data:Fri, 25 Jul 2008 13:50:29 -0300
>>>>
>>>> Assunto:Re: [MASOCH-L] Ldap com Freeradius
>>>>
>>>>
>>>>
>>>>> Sugiro você primeiro fazer o radius autenticar no /etc/passwd e
>>>>> testar na sua aplicação, para depois partir para o ldap. É uma boa
>>>>> abordagem para saber onde se encontra o problema, se está no
>>>>> radius ou
>>>>> no ldap.
>>>>>
>>>>>
>>>>> André Comarú wrote:
>>>>>
>>>>>
>>>>>> Bom dia Jeronimo,
>>>>>>
>>>>>> Por partes:
>>>>>>
>>>>>> - Testei com o radtest apontando para um usuário cadastrado no
>>>>>> ldap com os objectclass apropiados para Radius.
>>>>>>
>>>>>> Segue ldif do usuário:
>>>>>>
>>>>>> dn: uid=notebook,dc=teste,dc=radius,dc=org,dc=br
>>>>>> objectClass: top
>>>>>> objectClass: radiusprofile
>>>>>> objectClass: inetOrgPerson
>>>>>> uid: notebook
>>>>>> cn: Andre
>>>>>> sn: Comaru
>>>>>> description: 802.1x
>>>>>> radiusFilterId: "Enterasys:version=1:policy=Enterprise User"
>>>>>> userPassword: {SHA}Lm+bDViFtgEPkWd4dEVhf1U6c18=
>>>>>>
>>>>>> - Sim, tenho o esquema adicionado no slapd.conf
>>>>>>
>>>>>> - Realmente tem bons tutoriais lá. Usei alguns.
>>>>>>
>>>>>> Recorri ao fórum por estar sem opções.
>>>>>>
>>>>>> Espero conseguir uma luz aqui.
>>>>>>
>>>>>> Abraços e obrigado pela atenção.
>>>>>>
>>>>>>
>>>>>> Até
>>>>>>
>>>>>> Comarú
>>>>>> De:masoch-l-bounces at eng.registro.br
>>>>>>
>>>>>> Para:"Mail Aid and Succor,On-line Comfort and Help"
>>>>>> masoch-l at eng.registro.br
>>>>>>
>>>>>> Cópia:
>>>>>>
>>>>>> Data:Fri, 25 Jul 2008 10:34:08 -0300
>>>>>>
>>>>>> Assunto:Re: [MASOCH-L] Ldap com Freeradius
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> André Comarú wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Pessoal,
>>>>>>>>
>>>>>>>> Estou com um problema na integração do openldap com o freeradius.
>>>>>>>>
>>>>>>>> Sozinhos eles estão funcionando legal. Mas juntos não consigo.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> Como você testou para saber se o se o seu radius funciona bem
>>>>>>> sozinho? Ele é complexo de configurar, dependendo do tipo de
>>>>>>> autenticação que você escolher, no caso o ldap.
>>>>>>>
>>>>>>> Você adicionou o schema do radius no seu servidor ldap ? E populou
>>>>>>> ele com esses dados ?
>>>>>>>
>>>>>>> Sugiro dar uma olhada no site www.vivaolinux.com.br. Lá tem vários
>>>>>>> tutoriais para integração do radius com ldap. E é complicado mesmo.
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Jeronimo Zucco
>>>>>>> LPIC-1 Linux Professional Institute Certified
>>>>>>> Núcleo de Processamento de Dados
>>>>>>> Universidade de Caxias do Sul
>>>>>>>
>>>>>>> http://jczucco.blogspot.com
>>>>>>>
>>>>>>> __
>>>>>>> masoch-l list
>>>>>>> https://eng.registro.br/mailman/listinfo/masoch-l
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> __
>>>>>> masoch-l list
>>>>>> https://eng.registro.br/mailman/listinfo/masoch-l
>>>>>>
>>>>>>
>>>>>>
>>>>> -- 
>>>>> Jeronimo Zucco
>>>>> LPIC-1 Linux Professional Institute Certified
>>>>> Núcleo de Processamento de Dados
>>>>> Universidade de Caxias do Sul
>>>>>
>>>>> http://jczucco.blogspot.com
>>>>>
>>>>> __
>>>>> masoch-l list
>>>>> https://eng.registro.br/mailman/listinfo/masoch-l
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> __
>>>>> masoch-l list
>>>>> https://eng.registro.br/mailman/listinfo/masoch-l
>>>>>
>>> __
>>> masoch-l list
>>> https://eng.registro.br/mailman/listinfo/masoch-l
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> __
>>> masoch-l list
>>> https://eng.registro.br/mailman/listinfo/masoch-l
>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
> ####Via linha de Comando:
>
> zeus:/etc/freeradius# radtest teste "teste" 192.168.80.254:1812 10 teste
> Sending Access-Request of id 157 to 192.168.80.254 port 1812
>        User-Name = "teste"
>        User-Password = "teste"
>        NAS-IP-Address = 192.168.80.254
>        NAS-Port = 10
> Sending Access-Request of id 157 to 192.168.80.254 port 1812
>        User-Name = "teste"
>        User-Password = "teste"
>        NAS-IP-Address = 192.168.80.254
>        NAS-Port = 10
> rad_recv: Access-Reject packet from host 192.168.80.254 port 1812,
> id=157, length=20
> zeus:/etc/freeradius#
>
> log do freeradius
> Sat Jul 26 20:21:08 2008 : Auth: Login incorrect: [teste/teste] (from
> client private-network-1 port 10)
> log do slapd
>
> Jul 26 20:21:08 zeus slapd[2897]: conn=3 op=5 SRCH base="dc=mshome"
> scope=2 deref=0 filter="(uid=teste)"
> Jul 26 20:21:08 zeus slapd[2897]: conn=3 op=5 SRCH
> attr=radiusNASIpAddress radiusExpiration acctFlags ntPassword
> lmPassword radiusCallingStationId radiusCalledStationId
> radiusSimultaneousUse radiusAuthType radiusCheckItem
> radiusReplyMessage radiusLoginLATPort radiusPortLimit
> radiusFramedAppleTalkZone radiusFramedAppleTalkNetwork
> radiusFramedAppleTalkLink radiusLoginLATGroup radiusLoginLATNode
> radiusLoginLATService radiusTerminationAction radiusIdleTimeout
> radiusSessionTimeout radiusClass radiusFramedIPXNetwork
> radiusCallbackId radiusCallbackNumber radiusLoginTCPPort
> radiusLoginService radiusLoginIPHost radiusFramedCompression
> radiusFramedMTU radiusFilterId radiusFramedRouting radiusFramedRoute
> radiusFramedIPNetmask radiusFramedIPAddress radiusFramedProtocol
> radiusServiceType radiusReplyItem userPassword sasdefaultloginsequence
> Jul 26 20:21:08 zeus slapd[2897]: conn=3 op=5 SEARCH RESULT tag=101
> err=0 nentries=1 text=
>
>
> ####  Via notebook-access point
>
> Entrei com o mesmo usuário e senha ( teste/teste )
>
> log radius:
>
> Sat Jul 26 20:20:38 2008 : Auth: Login incorrect: [teste/<no
> User-Password attribute>] (from client private-network-1 port 24 cli
> 0015af114b42)
>
> log slapd:
>
> Jul 26 20:20:38 zeus slapd[2897]: conn=3 op=4 SRCH base="dc=mshome"
> scope=2 deref=0 filter="(uid=teste)"
> Jul 26 20:20:38 zeus slapd[2897]: conn=3 op=4 SRCH
> attr=radiusNASIpAddress radiusExpiration acctFlags ntPassword
> lmPassword radiusCallingStationId radiusCalledStationId
> radiusSimultaneousUse radiusAuthType radiusCheckItem
> radiusReplyMessage radiusLoginLATPort radiusPortLimit
> radiusFramedAppleTalkZone radiusFramedAppleTalkNetwork
> radiusFramedAppleTalkLink radiusLoginLATGroup radiusLoginLATNode
> radiusLoginLATService radiusTerminationAction radiusIdleTimeout
> radiusSessionTimeout radiusClass radiusFramedIPXNetwork
> radiusCallbackId radiusCallbackNumber radiusLoginTCPPort
> radiusLoginService radiusLoginIPHost radiusFramedCompression
> radiusFramedMTU radiusFilterId radiusFramedRouting radiusFramedRoute
> radiusFramedIPNetmask radiusFramedIPAddress radiusFramedProtocol
> radiusServiceType radiusReplyItem userPassword sasdefaultloginsequence
> Jul 26 20:20:38 zeus slapd[2897]: conn=3 op=4 SEARCH RESULT tag=101
> err=0 nentries=1 text=
>
>
> ------------------------------------------------------------------------
>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>   



More information about the masoch-l mailing list