Configuração de sobreposição de cadeia OpenLDAP

2

Estou tentando fazer com que a sobreposição de cadeia do OpenLDAP funcione, mas, infelizmente, a documentação é bastante esparsa.

Estou usando os pacotes OpenLDAP versão 2.4.39 que vêm com o RHEL 6, e o mestre e o escravo LDAP estão usando TLS para se comunicar. Os certificados e chaves TLS são armazenados com o Mozilla NSS, portanto, as declarações tls_certdir e tls_cert abaixo devem estar corretas (elas definitivamente funcionam neste formulário para replicação).

Minha configuração (em slapd.conf form, que eu converto para notação OLC antes de usar) é:

overlay chain
chain-uri              ldap://my.ldap.master.example.com
chain-rebind-as-user   FALSE
chain-idassert-bind    bindmethod="simple"
                       binddn="cn=Manager,dc=example,dc=com"
                       credentials="xxxxxxxxxxxxxxxx"
                       mode="self"
                       starttls=yes
                       tls_reqcert=demand
                       tls_cacertdir=/etc/openldap/certs
                       tls_cert=my.ldap.slave.example.com
chain-tls              start tls_reqcert=demand tls_cacertdir=/etc/openldap/certs tls_cert=my.ldap.slave.example.com
chain-return-error     TRUE

[...syncrepl...]

updateref       ldap://my.ldap.master.example.com

Eu quero que isso funcione para que as atualizações de política sejam encaminhadas ao mestre (por exemplo, quando alguém recebe sua senha errada cinco vezes ou mais, o escravo enviará o pwdAccountLockedTime para o mestre, em vez de armazená-lo localmente). Eu tenho ppolicy_forward_updates definido no arquivo de configuração, para este fim.

Eu testei isso e não estou vendo nenhum tráfego indo para o mestre LDAP quando faço alterações no escravo.

Alguém sabe o que estou fazendo de errado aqui?

    
por paul88888 08.08.2016 / 08:51

1 resposta

3

Você precisa verificar se a sobreposição chain está configurada no banco de dados frontend e não no banco de dados hdb / mdb / bdb . Então, no seu banco de dados cn=config , você deve terminar com as seguintes entradas:

  • olcDatabase={-1}frontend,cn=config
  • olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
  • olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config

Eu tive o mesmo problema em que eu tinha configurado a sobreposição no banco de dados principal hdb e tinha os mesmos sintomas onde não havia tráfego do escravo para o mestre. Assim que eu reimplantei a sobreposição e seu banco de dados no banco de dados frontend , ela começou a funcionar.

Você também pode precisar configurar o atributo olcAuthzPolicy no servidor mestre.

    
por 08.08.2016 / 12:14