A autenticação LDAP falha

3

Eu tento configurar um diretório LDAP que me permita autenticar usuários Debian. Depois que a configuração do servidor LDAP e dos arquivos PAM for concluída, a autenticação falhará. Eu acho que o cliente não encontra o usuário ldap no diretório. Quando tento fazer o login com um usuário ldap, ele diz um login incorreto e, quando tento fazer login com um usuário local, ele me pergunta uma senha e, em seguida, a senha do LDAP.

Servidor

1) Eu instalei pela primeira vez o ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg

2) No arquivo /etc/ldap/ldap.conf:

BASE dc=example,dc=com    

URI ldap://192.168.1.254/

3)

dpkg-reconfigure slapd

Verifico se as informações sobre o domínio estão corretas: correto.

4)

ldapsearch -x

Adapta-se ao que eu escolhi antes.

5) Eu crio os arquivos .ldif para o diretório e os usuários

structure.ldif:

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
u: users
description: users

dn: ou=computers,dc=example,dc=com
objectClass: organizationalUnit
ou: computers
description: computers

dn: ou=sale,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: sale
description: sale

dn: ou=direction,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: direction
description: direction

dn: cn=sale,ou=sale,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 501
cn: sale
description: Sale group

dn: cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 502
cn: direction
description: Direction group

dn: cn=pauldupont,cn=direction,ou=direction,ou=users,dc=newsoft,dc=ch
cn=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: pauldupont
userPassword: pauldupont
cn: pauldupont
uidnumber: 1050
gidnumber: 501
homeDirectory: /home/profils/pauldupont
sn: pauldupont

adduseringroup.ldif:

dc: cn=sale,ou=sale,ou=users,dc=example,dc=com
changetype: modify
add: memberuid
memberuid: uid=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com

6) Eu envio os arquivos para o diretório:

ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f file.ldif

6)

ldapsearch -x

As informações estão lá.

Cliente

1) Eu instalei ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg libnss-ldap libpam-ldap libpam-módulos libpam-cracklib nscd

2) configuração do libnss-ldap: ip do servidor: 192.168.1.254, dc = example, dc = com

3) configuração libpam-ldap: não que o administrador LDAP seja como usuário local, não que o servidor LDAP solicite informações antes de fazer consultas

4)     dpkg-reconfigure libnss-ldap

As informações estão corretas.

5) No arquivo /etc/ldap/ldap.conf

BASE dc=example,dc=com
URI ldap://192.168.1.254/

6) No arquivo /etc/nsswitch.conf

passwd: compat ldap
group: compat ldap
shadow: compat ldap

7) No arquivo /etc/libnss-ldap.conf

base dc=example,dc=com
uri ldap://192.168.1.254/
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com

8) No arquivo /etc/libnss-ldap.secret

 ldap password

9) No arquivo /etc/pam_ldap.conf:

base dc=example,dc=com
uri ldap://192.168.1.254/
rootbinddn cn=admin,dc=example,dc=com
port 389
scope sub
bind_timelimit 30
idle_timelimit 3600
pam_filter objectClass=posixAccount
pam_login_attribute uid

10) Nos arquivos /etc/pam.d/common-auth & conta comum & sessão comum que eu adicionei na parte inferior:

auth sufficient pam_ldap.so

11) No arquivo /etc/pam.d/common-password eu adicionei na parte inferior:

password sufficient pam_ldap.so use_first_pass

12)

getent passwd && getent group

Mostra apenas usuários e grupos locais.

13) O cliente parece entrar em contato com o servidor:

ldapsearch -x -H "ldap://192.168.1.254" -b "dc=example,dc=com" dn

me devolve as entradas dn

14)     getent passwd pauldupont

Não me devolve nada e quando eu fizer o check in /var/log/auth.log:

May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: could not search LDAP server - Server is unavailable

Parece que as credenciais estão erradas. Eu verifiquei todos os arquivos de configuração acima e não consigo encontrar nenhum erro.

Alguém sabe onde está o problema?

Obrigado pela sua ajuda.

Estou usando o Debian Jessie 8.0 AMD64 para o cliente e o servidor

uname -a: Linux SRV1-DEB 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt9-3 ~ deb8u1 (2015-04-24) x86_64 GNU / Linux

OpenLDAP 2.4

EDIT : Depois de adicionar a senha no arquivo /etc/ldap.secret e fazer um getent passwd , recebo os usuários do ldap, mas ainda consigo ' t conectar.

Uma vez que tentei me conectar, eu tenho isso no arquivo de log:

May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_mail(login:session): user unknown
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_loginuid(login:session): error_ log for user-name'pauldupont' does not exist
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_unix(login:session): session opened for user pauldupont by LOGIN(uid=0)
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: User not known to the underlying authentication module
    
por EAI 12.05.2015 / 11:29

1 resposta

3

Parece que você está fornecendo um binddn, mas más credenciais para ele. O conteúdo de /etc/ldap.secret e o que você coloca em um prompt -W são exatamente iguais?

rootbinddn é o binddn usado pelo root na máquina cliente. Geralmente não deve ser o rootdn do sufixo, pois isso significaria que o comprometimento da máquina também comprometeria o diretório.

Há poucas situações em que usar sssd over pam_ldap e nss-ldap / nss-ldapd não é a escolha correta. Este não é um desses. (Foi, na minha experiência, limitado a autenticar contas não-posix.)

Há outras coisas erradas aqui ao lidar com os grupos RFC2307 vs. RFC2307bis, mas você está falhando antes disso. Quando isso se torna seu problema real, faça outra pergunta.

    
por 12.05.2015 / 18:24