Como se conectar com segurança a vários servidores LDAPS diferentes (Debian)

4

Estou tentando conectar-me a vários servidores LDAPS diferentes. Muita da documentação que eu vi recomenda a configuração de TLS_REQCERT never , mas isso me parece terrivelmente inseguro para não verificar o certificado. Então eu configurei isso para demand .

Toda a documentação que vi diz que eu preciso atualizar o ldap.conf com uma diretiva TLS_CACERT apontando para um arquivo .pem. Eu tenho esse arquivo .pem configurado com o certificado do servidor LDAP # 1 e conexões ldaps estão acontecendo bem.

Agora tenho que me comunicar com segurança com outro servidor LDAP em outro ramo da minha organização, que usa um certificado diferente. Não vi nenhuma documentação sobre como fazer isso, exceto uma página que diz que posso simplesmente colocar vários certificados (não encadeados) no mesmo arquivo .pem. Eu fiz isso e tudo está funcionando bem.

No entanto, quando eu disse a um colega o que eu fiz, ele soou como se o céu estivesse caindo - colocar 2 certificados não encadeados em um arquivo .pem aparentemente é a pior coisa desde ... sempre.

Existe uma maneira mais aceitável de fazer isso? Ou esta é a única maneira aceita?

    
por Pickle 03.07.2013 / 18:33

1 resposta

0

Agrupar certificados não relacionados não é uma prática incomum. É a maneira que RedHat gerencia suas CAs. No entanto, esse método pode dificultar a remoção de certificados nos quais você não deseja mais confiar. Talvez você queira ir para o método de diretório de certificado com hash. Esta é a maneira que debian gerencia suas CAs.

  1. Coloque seus certificados em um único diretório (por exemplo, /etc/ldap/cacerts ).
  2. Execute c_rehash com root privileges no diretório do certificado da CA (por exemplo, sudo c_rehash /etc/ldap/cacerts ).
  3. Remova sua opção TLS_CACERT e defina TLS_CACERTDIR para apontar para o diretório de certificados de CA.
  4. Lembre-se de executar c_rehash sempre que adicionar um certificado e executar sudo find -L /etc/ldap/cacerts -type l -exec rm {} + sempre que você remover um. (Repetir o comando sem alterar nada não tem efeitos negativos, mas é inútil.)
por 05.07.2013 / 21:49