Confie em um certificado PEM autoassinado

22
  1. Eu configurei um servidor proxy com SSL usando um certificado PEM. Agora, há algumas máquinas minhas que eu gostaria de confiar neste certificado automaticamente (sem reclamar o navegador). Como posso instalar um certificado PEM em cada máquina?

  2. Além disso, o que é mais recomendado: gerar um certificado autoassinado ou concatenar o certificado de serpente?

por Teresa e Junior 31.07.2011 / 15:04

3 respostas

9

Os navegadores têm uma lista de certificados de "autoridade de certificação" (CA) confiáveis. Se o certificado de um servidor for assinado por um desses certificados de CA e for formado corretamente, você não receberá o aviso de SSL.

Muitos navegadores são fornecidos com muitos certificados de CA comuns, como Verisign, Thawte, etc. A maioria dos navegadores permite que você importe uma nova CA para essa lista de CAs confiáveis.

Assim como criar seu próprio certificado de servidor autoassinado, você pode criar seu próprio certificado de CA autoassinado. Você pode então usar isso para assinar seu certificado de servidor. Se a sua CA não é fornecida por uma empresa conhecida, o que não seria feito se você fosse uma empresa, ela teria que ser explicitamente importada no lado do servidor.

Eu usei xca para fazer isso antes. Tem modelos para CAs e servidores HTTP. O procedimento é este:

  • Crie uma chave privada para sua CA
  • Crie uma autoridade de certificação autoassinada usando essa chave usando o modelo "CA"
  • Crie uma chave privada para seu servidor proxy
  • Crie uma "solicitação de assinatura de certificado" (CSR) usando a segunda chave, fazendo referência à CA que acabou de criar.
  • "Assine" o CSR e você terá o certificado do servidor proxy, que faz referência à sua própria autoridade de certificação.

Você precisará exportar (como um arquivo, se estiver usando xca ) o certificado de CA (mas não inclua a chave privada, é claro). Um .pem será gerado, mas você pode alterar a extensão para .crt . Quando um usuário clica nele, ele será oferecido para ser instalado no Firefox e no Internet Explorer e, possivelmente, em outros grandes navegadores. Quanto a instalação automática deste .crt, você pode:

  • use a política de grupo no IE
  • direcione os usuários para uma página de introdução solicitando que eles façam o download / instalem o .crt, se quiserem evitar avisos.

Você pode usar as funções de exportação no certificado do servidor HTTP (exporte a chave privada e o certificado para o lado do servidor) para colocar no seu servidor proxy.

    
por 31.07.2011 / 15:50
16
  1. Copie seu certificado para /etc/ssl/certs no sistema de destino. Em seguida, crie um link simbólico usando o hash gerado pelo comando openssl x509 -noout -hash -in ca-certificate-file substituindo ca-certificate-file pelo nome do seu certificado. Seu certificado deve ser aceito por todos os programas sem seu próprio armazenamento de certificados.

    Para programas com seu próprio armazenamento de certificados (navegadores, Java e outros), você precisará importar o certificado.

  2. A geração de seu próprio certificado autoassinado ou assinado é melhor.

    Você pode querer instalar tinyca2 e gerar sua própria autoridade de certificação. Você pode importar o certificado de autoridade de certificação conforme detalhado nas etapas acima. Gere e implemente certificados assinados para seus aplicativos.

    Distribua seu certificado de CA para os usuários que precisam confiar em seu certificado. Você pode precisar fornecer informações sobre como importar o certificado para eles. AVISO: Se eles fizerem isso, você se tornará outra CA confiável para eles, portanto, proteja sua CA de acordo.

    Muitas ferramentas também podem ser configuradas para confiar em certificados autoassinados ou em certificados com CAs não confiáveis. Isso geralmente é uma ação única. Isso pode ser mais seguro do que aceitar um certificado CA de uma autoridade insegura, apenas o certificado aceito é confiável.

por 31.07.2011 / 15:43
11

No Debian e Ubuntu você tem que copiar o certificate.pem para /usr/local/share/ca-certificates/certificate.crt e então executar dpkg-reconfigure ca-certificates . /etc/ssl/certs é gerenciado por esse comando.

    
por 26.04.2014 / 00:20