Não é possível configurar as opções de TLS para o OpenLDAP

2

Estou lutando para configurar o TLS para um novo servidor OpenLDAP. O sistema é Debian Jessie (atualizado para o mais recente 8.7 estável), e eu configurei o servidor instalando o pacote slapd , com quase nenhuma modificação até o momento.

Uma das coisas que estou tentando configurar é o TLS Cipher Suite. Aqui está o LDIF:

dn: cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: HIGH

Quando tento enviar essa alteração com o seguinte comando:

ldapmodify -Y EXTERNAL -H ldapi:/// -f set-cipher-suite.ldif

Eu recebo este erro:

ldap_modify: Server is unwilling to perform (53)

Eu também tentei definir o arquivo de certificado com o seguinte LDIF:

dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/foo.crt

Aqui eu recebo um erro 80 em vez de um erro 53.

ldap_modify: Other (e.g., implementation specific) error (80)

Eu verifiquei que o arquivo existe e que slapd tem acesso ao arquivo.

Mudei olcLogLevel para any (provando assim que sou capaz de modificar a configuração) e verifiquei a saída de depuração, mas o que eu vejo lá não tem valor de informação para meu olho destreinado. Aqui está o trecho onde o erro 53 ocorre:

[...]
Jun  8 16:46:21 pelargir slapd[36937]: slap_queue_csn: queueing 0x7f3648f4a430 20160608144621.742848Z#000000#000#000000
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_required entry (cn=config), objectClass "olcGlobal"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "objectClass"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "cn"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcArgsFile"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcLogLevel"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcPasswordHash"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcPidFile"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcToolThreads"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "structuralObjectClass"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "entryUUID"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "creatorsName"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "createTimestamp"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcTLSCipherSuite"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "entryCSN"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "modifiersName"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "modifyTimestamp"
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_result: conn=1002 op=1 p=3
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_result: err=53 matched="" text=""
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_response: msgid=2 tag=103 err=53
Jun  8 16:46:21 pelargir slapd[36937]: conn=1002 op=1 RESULT tag=103 err=53 text=
[...]

Alguém pode me dar uma dica que eu poderia estar fazendo errado aqui? O que eu acho totalmente desconcertante é que eu posso modificar com sucesso opções simples, como olcLogLevel ou olcPasswordHash , mas que eu falho quando tento fazer o mesmo para opções TLS similarmente simples, como olcTLSCipherSuite .

    
por herzbube 08.06.2016 / 17:01

1 resposta

0

Eu corri para o mesmo problema, o openldap no debian é compilado no pacote gnu-tls e não é instalado por padrão.

Isso pode ajudar:

apt install gnutls-bin

Certifique-se também de que o usuário do openldap tenha permissões suficientes para ler os certificados. Por exemplo:

useradd letsencrypt
chown openldap:letsencrypt /etc/letsencrypt/ -R
usermod -a -G letsencrypt openldap
    
por 11.12.2016 / 13:08

Tags