Instale um certificado raiz no CentOS 6

9

Sei que já foi solicitado, mas, apesar de muitas horas de pesquisa, não consegui encontrar uma solução funcional. Estou tentando instalar meu certificado raiz no meu servidor, para que o serviço interno possa se conectar usando SSL.

O que você deve saber sobre a nova CA raiz:

  1. Apache httpd e PHP
  2. Cliente OpenLDAP
  3. Node.js

Para o Apache, preciso de um aplicativo PHP para saber sobre o certificado raiz; portanto, se um site se conectar a outro site SSL (assinado pela mesma CA), ele funcionará bem e não se queixará de um certificado autoassinado.

Para o OpenLDAP, acredito que seja o mesmo que o PHP, o módulo que ele usa é bastante antigo, é o Net_LDAP2, instalado com o PEAR. Tentei editar a configuração local do openldap, mas parece que o sistema não a está usando.

Último Node.js, que eu uso para parsoide. Os servidores node.js precisam confiar na CA para fazer uma boa conexão SSL.

Tentei adicionar o certificado ao /etc/pki/tls/certs/ca-bundle.crt com pouco sucesso.

Embora o httpd não veja a CA raiz, eu consegui fazer com que outros serviços funcionassem com ele, como o tomcat e o 389.

Obrigado pelo seu apoio.

John White
fonte
1
Isso quase precisa ser de três perguntas separadas. No entanto, posso estar errado, talvez exista um método abrangente para confiar em um certificado CA para todos esses serviços. Se não houver um método abrangente para todo o sistema, pode ser necessário ter três perguntas separadas para obter respostas úteis.
Zoredache
O que exatamente você tentou? Esse é um material facilmente pesquisável, pois é bastante comum. Se nós sabemos por que você está tendo problemas, que podem ser capazes de dar uma resposta melhor do que SSLCACertificateFileem /etc/httpd/conf.d/ssl.conf, TLS_CACERTem /etc/openldap/ldap.conf(OpenLDAP Cliente), TLSCACertificateFileem /etc/openldap/slapd.conf(OpenLDAP Server), etc ..
Aaron Copley
O Apache httpd é a principal razão pela qual eu postei esta pergunta. Eu acho que lê certificados em todo o sistema. Mas editá-los não funcionou.
John White

Respostas:

7

Na minha caixa do RHEL 6, a man 8 update-ca-trustpágina de manual tem uma explicação bastante extensa sobre como os certificados de CA em todo o sistema e as relações de confiança associadas podem / devem ser gerenciados.

Mais frequentemente, a configuração não é específica da aplicação, como indicam os comentários acima.

HBruijn
fonte
2
Não existe esse manual para o CentOS. Acredito que os dois sistemas tenham ferramentas administrativas diferentes.
John White
Eles são parecidos, mas são pequenas diferenças como essa que sempre me atrapalham. Faz parte do rpm de certificados CA. Uma cópia da página de manual pode ser encontrada aqui
HBruijn
Meu CentOS 6.5 tem uma página de manual para update-ca-trust. @ Mc120k você possui o ca-certificates-2013 instalado?
8None1
1

Eu escrevi algumas linhas de comando para que seja mais acessível para iniciantes em SSL:

Navegue para a pasta PKI

$ cd /etc/pki/tls/certs/
 

VERIFIQUE links (físicos) e certificados de backup

$ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak
$ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak
 

Carregar cadeia de CA no CentOS

$ scp <cachain> root@sydapp28:/tmp 
 

Conecte-se ao CentOS via SSH (Putty?) Ou local

$ ssh -C root@sydapp28
 

IF PKCS12 CAChain: “Converta seu certificado de cadeia CA interno para o formato PEM e remova os cabeçalhos”:

$ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem
 

Anexe sua CA interna ao CentOS

$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt
$ reboot
Florian Bidabe
fonte