Configure um proxy openldap para outro servidor LDAP no centos 6

1

Estou tentando fazer com que um servidor local seja autenticado em seu próprio servidor openldap e, em seguida, proxy para o LDAP corporativo, se o usuário não for encontrado localmente.

  1. Os usuários locais trabalham
  2. A autenticação para o servidor LDAP local funciona
  3. A autenticação para o LDAP corporativo NÃO funciona
  4. Pesquisa LDAP para trabalhos corporativos ao usar o servidor local (ack!?!)

usuario = conta LDAP corporativa ldap interno = usuários - internal.com ldap corporativo = pessoas - datacenter.corporate.com

nota: a vinculação anônima é ativada no corporativo.

oot@ sssd]# ldapsearch -h 127.0.0.1 -x -b "uid=user,ou=people,dc=datacenter,dc=corporate,dc=com"
# extended LDIF
#
# LDAPv3
# base <uid=user,ou=people,dc=datacenter,dc=corporate,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# user, People, datacenter.corporate.com
dn: uid=user,ou=People,dc=datacenter,dc=corporate,dc=com
uid: user
cn: 
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowMax: 
shadowWarning: 
loginShell: /bin/bash
uidNumber: 
gidNumber: 
homeDirectory: /home/users/user
gecos: user
shadowLastChange: 16461

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Configurar slap.d:

#######################################################################
# database definitions
#######################################################################

database bdb
suffix "dc=internal,dc=com"
checkpoint 1024 15
rootdn "cn=adm,dc=internal,dc=com"
rootpw {SSHA}aaaaa
directory /var/lib/ldap

# Indices to maintain for this database
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub

# Replicas of this database
#replogfile /var/lib/ldap/openldap-master-replog
#replica host=ldap-1.example.com:389 starttls=critical
# bindmethod=sasl saslmech=GSSAPI
# authcId=host/[email protected]

#proxy ldap
database ldap
suffix "ou=People,dc=datacenter,dc=corp,dc=com"
uri "ldap://1.1.1.1:389/"

idassert-bind bindmethod=none

ldap.conf:

URI ldap://127.0.0.1
BASE dc=internal,dc=com
    
por zerobane 25.08.2015 / 04:19

1 resposta

1

atualize para qualquer um que possa encontrar este tópico; a documentação do openldap é extremamente carente de configuração de proxy. Isso foi encontrado basicamente por 48 horas de tentativa e erro.

nota: eu mudei de volta para o slapd.conf adicionando o seguinte em / etc / sysconfig / ldap SLAPD_OPTIONS="- f /etc/openldap/slapd.conf"

No arquivo slapd você encontrará 4 bancos de dados; 1. banco de dados local para LDAP AUTH (test.com) 2. conector de banco de dados externo para LDAP AUTH (external.local - > corp.com) 3. conector de banco de dados interno para LDAP AUTH (internal.local - > test.com) 4. banco de dados meta que combina os 2 conectores para 1 banco de dados

Ligação anônima em todos os lugares; facilitou as coisas.

Os clientes agora apontam para o banco de dados LDAP local e podem AUTH para o LDAP local ou para o LDAP corporativo sem problemas.

slapd.conf

#local database 
database        bdb
suffix  "dc=test,dc=com"
checkpoint      1024 15
rootdn  "cn=adm,dc=test,dc=com"
rootpw  {SSHA}aaa
directory       /var/lib/ldap


#Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

#database meta
database meta
suffix  "dc=local"
rootdn  "cn=adm,dc=local"
rootpw  {SSHA}aaa

#dir1
uri      "ldap://corporate-ldap.com/ou=external,dc=local"
lastmod       off
suffixmassage   "ou=external,dc=local" "dc=datacenter,dc=corp,dc=com"

#dir2
uri      "ldap://127.0.0.1/ou=internal,dc=local"
lastmod       off
suffixmassage   "ou=internal,dc=local" "dc=test,dc=com"
    
por 26.08.2015 / 05:22