Dovecot + OpenLDAP

1

Estou tentando fazer o dovecot 2.0.19 autenticar usuários via LDAP (OpenLDAP 2.4.28) e usando o Wireshark para depurar o processo. Parece que a configuração básica do dovecot é boa, mas não é possível enviar a solicitação correta para o servidor LDAP. Primeiro de tudo, é assim que minhas entradas LDAP aparecem:

# ht
dn: dc=ht
objectClass: top
objectClass: dcObject
objectClass: organization
o: ip
dc: ht

# admin, ht
dn: cn=admin,dc=ht
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9cFY1b0ZZVUhack1aRTVvaUg1T3c2cytVWHV4aUNvaHI=

# people, ht
dn: ou=people,dc=ht
objectClass: organizationalUnit
objectClass: top
ou: people

# groups, ht
dn: ou=groups,dc=ht
objectClass: organizationalUnit
objectClass: top
ou: groups

# ipusers, groups, ht
dn: cn=ipusers,ou=groups,dc=ht
gidNumber: 500
cn: ipusers
objectClass: posixGroup
objectClass: top

# Max Mustermann, people, ht
dn: cn=Max Mustermann,ou=people,dc=ht
cn: Max Mustermann
givenName: Max
gidNumber: 500
homeDirectory: /home/users/mmustormann
sn: Mustermann
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1000
uid: mmustermann
userPassword:: e01ENX1ETUYxdWNEeHRxZ3h3NW5pYVhjbVlRPT0=
loginShell: /bin/bash
mail: [email protected]

Agora, eu uso a seguinte configuração para o dovecot:

hosts = 10.1.2.1
dn = cn=admin,dc=ht
dnpass = a
auth_bind = yes
auth_bind_userdn = uid=%u,ou=people,dc=ht
ldap_version = 3
scope = subtree
base = ou=people,dc=ht
user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid      
user_filter = (&(objectClass=posixAccount)(uid=%u))
pass_attrs = uid=user,userPassword=password
pass_filter = (&(objectClass=posixAccount)(uid=%u))

Agora o que vejo no Wireshark:

ODovecotnãopodeseautenticarporalgummotivo...

Seeualteraraconfiguraçãodaseguinteforma:

auth_bind=no#auth_bind_userdn=uid=%u,ou=people,dc=ht

Entãoeureceboaseguintefoto:

Elenãoselecionaaconfiguraçãobase=ou=people,dc=ht.Masomaisimportanteéque,mesmoolhandoparaaárvoreinteira"<ROOT>" wholeSubTree , ela não consegue encontrar a entrada necessária.

Estou realmente desesperada e não sei como fazer isso funcionar. Eu realmente só preciso fazer isso funcionar de alguma forma.

    
por Danny Lo 18.05.2014 / 02:31

1 resposta

0

Solução engraçada ... mas muito irritante por outro lado. O erro foi pegar o exemplo de arquivo de configuração dovecot-ldap.conf.ext onde tudo foi comentado. Eu assumi que foi comentado. A única linha única não comentada foi base = . Eu descobri depois de dois dias de tortura ...

Esta é a razão pela qual o dovecot enviou uma solicitação de pesquisa com base=<ROOT> . E é por isso que não retorna nenhum resultado. E a solução foi comentar essa linha.

Configuração atual:

hosts = 10.1.2.1
dn = cn=admin,dc=ht
dnpass = a
base = ou=people,dc=ht
ldap_version = 3
scope = onelevel
    
por 18.05.2014 / 21:24