SLAPD Falha ao Abrir o Certificado TLS

2

Estou tentando configurar o TLS para SLAPD, mas ele continua falhando com o erro "TLS init def ctx failed". Eu era capaz de rastrear o erro para a chamada do sistema onde o daemon tenta abrir o arquivo de certificado de CA ( open("/etc/ssl/certs/ca.crt", O_RDONLY) = -1 EACCES ). Ele abre o arquivo CRT com o sinalizador O_RDONLY e obtém EACCES como a resposta. No entanto, o arquivo em si é legível pelo mundo. Além disso, eu corri sudo -u openldap cat /etc/ssl/certs/ca.crt e o arquivo sai muito bem (o openldap é de fato o usuário e o grupo do daemon). Algum conselho?

EDITAR:

As permissões no arquivo são de propriedade de root: root, e as permissões de todos os diretórios pai são 755 de root: root. Eu tentei alterar proprietário / grupo para openldap e também tentei alterar as permissões para 777. Também tentei mover o arquivo para /, tudo sem sorte. Também tentei executar como root, ou seja, executando sem as opções -u e -g, e ainda falha.

Últimas linhas da saída strace: link

    
por parent5446 14.08.2012 / 19:58

2 respostas

4

O AppArmor provavelmente está negando o acesso ao arquivo, confira /var/log/kern.log para confirmar isso:

grep audit /var/log/kern.log

Se este for o caso, edite /etc/apparmor.d/usr.sbin.slapd e dê permissão a este arquivo.

/etc/ssl/certs/ r,
/etc/ssl/certs/* r,

Execute sudo service apparmor reload depois de modificar os perfis.

    
por 14.08.2012 / 23:28
2

Isso cheira muito ao SELinux ou a algum outro módulo de segurança. O selinux está ativado? Você pode procurar em /var/log/audit/audit.log por mensagens indicando que o selinux bloqueou uma operação. Você também pode tentar desabilitar o selinux executando:

# setenforce 0

E agora inicie slapd . Se funcionar, isso foi um problema seu, e há duas maneiras de corrigi-lo:

  • Desativar persistentemente o selinux. Exatamente como fazer isso depende da sua distribuição.
  • Crie uma política de seleção que permitirá que o slapd leia o certificado.

Você pode usar o programa audit2allow para gera uma política de selinux apropriada .

Veja a resposta do mgorven sobre o que fazer se você tiver o AppArmor em vez do SElinux.

    
por 14.08.2012 / 23:29

Tags