Autenticação OpenLDAP TLS

9

Estou tentando implementar o TLS de acordo com o link Quando tento modificar o banco de dados cn = config com este arquivo ldif:

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/test-ldap-server_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/test-ldap-server_key.pem

Eu recebo o seguinte erro:

ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)

O que estou fazendo de errado?

EDITAR: Quando tento usar a autenticação simples, recebo o seguinte erro:

ldapmodify -x -D cn=admin,dc=example,dc=com -W -f certinfo.ldif
Enter LDAP Password:
ldap_bind: Invalid DN syntax (34)
        additional info: invalid DN
    
por Amar Prasovic 10.07.2015 / 10:31

8 respostas

14

Eu seguia o mesmo guia e tinha o mesmo problema. Ele funcionará se você executar as etapas para "Aumentar a propriedade e as permissões" listadas após o primeiro comando ldapmodify - a saber:

sudo adduser openldap ssl-cert
sudo chgrp ssl-cert /etc/ssl/private
sudo chgrp ssl-cert /etc/ssl/private/ldap01_slapd_key.pem
sudo chmod g+X /etc/ssl/private
sudo chmod g+r /etc/ssl/private/ldap01_slapd_key.pem

e

sudo systemctl restart slapd.service
    
por 19.06.2016 / 21:58
2

Como acompanhamento de A. A resposta de Gutierrez , a melhor maneira de verificar o acesso de cada arquivo é executar sudo -u openldap cat <filename> . Eu olhei todos os arquivos várias vezes e eles pareciam ter permissões definidas corretamente. Acabou por ser um problema de grupo para o openldap. Uma vez que eu finalmente percebi isso, um simples sudo usermod -a -G ssl-cert openldap resolveu isso para mim.

    
por 28.05.2016 / 15:03
1

Bem, não sei se isso é uma solução ou apenas uma solução alternativa, mas consegui que funcionasse.

Primeiro parei o slapd com:

service slapd stop

Então eu iniciei no modo de depuração:

slapd -h ldapi:/// -u openldap -g openldap -d 65 -F /etc/ldap/slapd.d/ -d 65

Importante é começar SOMENTE com ldapi: /// URL. Depois de iniciado, executei o comando ldapmodify e os atributos foram importados.

No final, parei o modo de depuração e iniciei o slapd normalmente.

    
por 10.07.2015 / 15:03
1

Às vezes o problema está no perfil apparmor para o serviço slapd. Certifique-se de que o perfil apparmor tenha permitido caminhos de certificado para o daemon.

É bastante visualmente em /etc/apparmor.d/usr.sbin.slapd . Por padrão, este perfil permite ler certificados em locais padrão.

O Apparmor deve evitar ações não especificadas para o executável do daemon, apesar das permissões apropriadas do unix.

    
por 12.09.2017 / 13:21
1

Como eu relatei em este bug no Ubuntu Launchpad , este problema também pode ser causado por apparmor. Geralmente, isso será mostrado no syslog como uma negação de acesso.

A correção é inserir a seguinte linha em /etc/apparmor.d/usr.sbin.slapd:

/etc/letsencrypt/** r,

e depois atualizando o perfil:

# apparmor_parser -vr usr.sbin.slapd
# service apparmor restart
    
por 26.11.2018 / 17:38
0

Eu tenho esse problema também. O problema é que o usuário que está executando o slapd não tem acesso aos arquivos certs. Confira que o dono desses arquivos é o usuário do openldap.

    
por 27.01.2016 / 13:30
0

Para mim, o problema estava na ordem errada dos registros - aqui está o que funcionou:

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cm_ca_cert.pem
-
# This never worked for me, no idea why
#add: olcTLSCipherSuite
#olcTLSCipherSuite: TLSv1+RSA:!NULL
#-
replace: olcTLSVerifyClient
olcTLSVerifyClient: never
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/cm_server.pem
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/cm_server.key
    
por 14.12.2016 / 17:27
0

Infelizmente, este parece ser o erro "padrão" que você recebe para praticamente qualquer coisa. A resposta do @wulfsdad geralmente conserta isso.

Uma outra coisa que eu sempre esqueço é que, por padrão, o slapd do ubuntu quer a chave no formato openssl. Eu regulo, mas PCKS # 8 chaves nele e espero que apenas funcione (o que, para ser justo, deveria). Se você tentou todos os anwsers acima, verifique se a chave tem o formato correto. Quando pesquisando sobre o erro, você geralmente lê sobre permissões erradas e esfrega a cabeça por que o apache trabalha com o slapd muito básico que não gosta.

    
por 23.01.2017 / 19:25

Tags