Eu uso minha própria CA para criar certificados SSL para serviços em minha infra. Esses certificados são assinados diretamente pela minha CA.
Parece-me que esta é provavelmente uma estratégia fraca, como se o certificado fosse comprometido, preciso criar novos a partir de uma CA. Se a CA for comprometida, o jogo terminará, pois todos os serviços precisarão ser atualizados.
Portanto, meu entendimento é que a maneira típica de se 'proteger' e 'diluir' a preocupação é criar uma cadeia de certificados e assinar os certificados de serviço com o final da cadeia, para que, se o signatário for comprometido, o próximo nível acima pode ser usado para criar um novo certificado de assinatura.
Eu entendi direito?
O que eu gostaria de fazer é criar minha própria cadeia de certificados.
Todo o material TLS/SSL ainda é um pouco nebuloso para mim, mas como posso ver, primeiro crie uma chave mestra e, em openssl genrsa
seguida, crie um certificado autoassinado usando essa chave openssl req -x509 -new
para criar a CA.
Então posso criar novas chaves e solicitações de assinatura de certificado com openssl req -new -key' and sign the request with my CA with
openssl x509 -req -CA ca.pem ...`
Então, para criar uma cadeia de certificados, o que devo fazer?
Eu simplesmente crio uma nova chave, nova solicitação de assinatura e assino com o último certificado assinado em vez da CA? E assim por diante até que eu tenha níveis suficientes de proteção, então assine todos os pares de certificados/chaves com o certificado de nível mais baixo?
Este material é confuso e eu gostaria de acertar ;-)
Tudo o que encontro apenas sobre TLS é extremamente complicado, enquanto os tutoriais 'simples' são obscuros. Estou procurando nas páginas de manual do openssl, mas gostaria de obter uma explicação simples do processo e, em seguida, garantirei que cada etapa seja correta.
Obrigado por sua visão.
Você assina uma solicitação de CA intermediária com a CA raiz. Com essa autoridade de certificação de assinatura, a CA raiz pode permanecer offline.
A CA raiz ainda pode ser confiável e emitir CAs de assinatura de substituição, se necessário. O desafio torna-se emitir revogações de certificados, especialmente se você não controlar todos os clientes.
O processo é um pouco complicado se você fizer isso manualmente. Consulte https://jamielinux.com/docs/openssl-certificate-authority/ para obter um guia.
Parece muito barulho, quando o Let's Encrypt está agora em Public Beta...
https://letsencrypt.org/