Autenticação do Debian no OpenLdap

15 views
Skip to first unread message

Renato Rudnicki

unread,
Mar 19, 2010, 5:28:29 PM3/19/10
to Tche...@googlegroups.com
Ola Pessoal.

Estou com dificuldades de fazer um Debian Lenny 32 bits autenticar na base LDAP de outro servidor Debian Lenny 32 bits. Ja tentei várias configurações, mas ainda não está OK. Eu consigo listar os usuários e  grupos da base ldap sem problemas, tanto no servidor LDAP quando no cliente ldap. Porém, quando eu tento fazer login na base ldap, não rola...da senha incorreta....nos logs não apresenta nenhum erro. Abaixo estou postando as minhas configurações. Se alguem puder me ajudar, eu agradeço.


SERVIDOR LDAP: IP 192.168.50.64

/etc/pam_ldap.conf

base dc=adlab,dc=local
uri ldap://127.0.0.1
ldap_version 3
rootbinddn cn=admin,dc=adlab,dc=local


/etc/libnss-ldap.conf

base dc=adlab,dc=local
uri ldap://127.0.0.1
ldap_version 3


/etc/nsswitch

passwd:         files ldap
group:          files ldap
shadow:         files ldap
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 ldap
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis


/etc/ldap/slapd.conf

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd/slapd.args
loglevel        none
modulepath      /usr/lib/ldap
moduleload      back_bdb
sizelimit 500
tool-threads 1
backend         bdb
database        bdb
suffix          "dc=adlab,dc=local"
directory       "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index           objectClass eq
index ou,cn,sn,mail,givenname           eq,pres,sub
index uidNumber,gidNumber,memberUid     eq,pres
index loginShell                        eq,pres
lastmod         on
checkpoint      512 30
access to attrs=userPassword,shadowLastChange
        by dn="cn=admin,dc=adlab,dc=local" write
        by anonymous auth
        by self write
        by * none
access to dn.base="" by * read
access to *
        by dn="cn=admin,dc=adlab,dc=local" write
        by * read


/etc/pam.d/common-account

account [success=2 new_authtok_reqd=done default=ignore]        pam_unix.so
account [success=1 default=ignore]      pam_ldap.so
account requisite                       pam_deny.so
account required                        pam_permit.so



/etc/pam.d/common-auth

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_ldap.so use_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so


/etc/pam.d/common-session

session [default=1]                     pam_permit.so
session requisite                       pam_deny.so
session required                        pam_permit.so
session required                        pam_unix.so
session optional                        pam_ldap.so


/etc/pam.d/common-password

password        [success=2 default=ignore]      pam_unix.so obscure md5
password        [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass
password        requisite                       pam_deny.so
password        required                        pam_permit.so


##############################################################################################################################################################



CLIENTE LDAP -  192.168.50.63

/etc/pam_ldap.conf

base dc=adlab,dc=local
uri ldap://192.168.50.64
ldap_version 3
rootbinddn cn=admin,dc=adlab,dc=local


/etc/libnss-ldap.conf

base dc=adlab,dc=local
uri ldap://192.168.50.64
ldap_version 3


/etc/nsswitch

passwd:         files ldap
group:          files ldap
shadow:         files ldap
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 ldap
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis


--
[]'s,
Renato

Inteligência tem limite, mas burrice é infinita.  

Luiz Gustavo P Tonello

unread,
Mar 20, 2010, 3:27:09 PM3/20/10
to tche...@googlegroups.com
Eai Renato,


Fiz esta configuração à algum tempo atrás, e também tive alguns problemas. Meu objetivo era conectar via SSH utilizando usuários do LDAP. Porém era em um Red Hat.
É isto que queres?

Veja no link que te dá alguns exemplos de diversas distrib.

Mas tenha cuidado para não ferrar a tua autenticação local, alterando a configuração de logins, etc no PAM.

[]'s

--
Luiz Gustavo P Tonello.




--
Você está recebendo esta mensagem porque se inscreveu no grupo "TcheLinux" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para tche...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para tchelinux+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/tchelinux?hl=pt-BR.

Vinicius Mello

unread,
Mar 21, 2010, 6:27:03 PM3/21/10
to tche...@googlegroups.com
Renato Rudnicki wrote:
Eu consigo listar os usu�rios e

> grupos da base ldap sem problemas, tanto no servidor LDAP quando no
> cliente ldap. Por�m, quando eu tento fazer login na base ldap, n�o
> rola...da senha incorreta....nos logs n�o apresenta nenhum erro. Abaixo
> estou postando as minhas configura��es. Se alguem puder me ajudar, eu
> agrade�o.

>
>
> SERVIDOR LDAP: IP 192.168.50.64
>
> /etc/pam_ldap.conf
>
> base dc=adlab,dc=local
> uri ldap://127.0.0.1 <http://127.0.0.1>
> ldap_version 3
> rootbinddn cn=admin,dc=adlab,dc=local

Renato,

Pra testar se realmente � problema s� de autentica��o do pam_ldap, tenta
simular um login com o ldapsearch. Vai em uma das m�quinas clientes, e
escolhe o DN de algum usu�rio pra fazer o login:

$ ldapsearch -x -h 192.168.50.64 -D "uid=usuario,dc=adlabe,dc=local" -W
(substituindo a parte entre aspas pelo DN de um usu�rio v�lido que tu
saiba a senha)

Se funcionar o login, a� est� praticamente confirmado que o problema �
no pam_ldap.


Algumas possibilidades de erro no pam_ldap:

1) Tu colocou a senha do rootbinddn no arquivo /etc/pam_ldap.secret ou
em algum outro lugar? Caso n�o, este pode ser o problema. O m�dulo
pam_ldap faz um login no LDAP com o rootdn, faz uma busca pra saber o DN
do usu�rio e depois faz um BIND ("login") com o DN do usu�rio. Se ele
n�o conhecer a senha do "rootbinddn", ele n�o consegue fazer a primeira
opera��o e o login falha. A senha do rootdn fica no arquivo
/etc/pam_ldap.secret (que � um arquivo s� com a senha em texto puro, que
tu precisa criar manualmente).

Se tu n�o tinha criado esse arquivo faz o seguinte: ao inv�s de cri�-lo,
comenta a linha do "rootbinddn" e usa o par�metro "binddn" e coloca a
senha no parametro "bindpw", tudo no mesmo arquivo.


2) Pode ser tamb�m que a estrutura de DN que tu usa para os usu�rios
seja diferente da pesquisa de DN. Por padr�o ele procura por "uid =
usuario". Caso no DN seja "cn = usuario" ou algum outro atributo, tem
que alterar no pam_ldap.conf.

S� duas considera��es de seguran�a:

1) N�o � bom usar no pam_ldap.conf o DN root do OpenLDAP, porque a senha
fica em texto puro. Se invadirem qualquer um dos servidores clientes
do LDAP, ter�o controle sobre o LDAP e possivelmente acesso a todos os
servidores Linux, �s senhas e arquivos dos usu�rios. Pra resolver isso,
usa os par�metro binddn e bindpw com um dn com privil�gios apenas de
leitura no LDAP.


2) Se os usu�rios tamb�m tem atributos do Samba, cria uma regra no LDAP
pra proteger as senhas do Samba tamb�m:

access to attrs=entry,sambaLMPassword,SambaNTPassword
by dn="cn=admin,dc=adlab,dc=local" write
by dn="cn=samba,dc=adlab,dc=local" write


by self write
by * none


Do contr�rio, as senhas do Samba poder�o ser lidas por qualquer um, e
elas s�o f�ceis de crackear.

Sds,
vmm.

Reply all
Reply to author
Forward
0 new messages