Geração e renovação de certificados

Começando

Proceda com a configuração do ambiente de trabalho administrativo.

Gerando novas chaves

Proceda usando o keyringer:

keyringer $HYDRA genpair ssl ssl/$DOMAIN *.$DOMAIN

No caso da chave snakeoil (fornecida quando um atacante acessa https://IP), use

keyringer $HYDRA genpair ssl-self ssl/example.org example.org

Chaves também podem ser geradas em massa. No caso de certificados simples (não-wildcard):

for domain in $DOMAINS; do
  keyringer $HYDRA genpair ssl ssl/$domain $domain
done

Registrando mudancas parciais

keyringer $HYDRA git commit
keyringer $HYDRA git push

Comprando um certificado

Em seguida, compre um certificado no registrar, envie a requisição de certificado (arquivo CSR) e proceda com a validação.

Após a renovação

cat /path/to/registrar.crt >> /path/to/$DOMAIN.crt
cat /path/to/$DOMAIN.crt    | keyringer $HYDRA encrypt ssl/$DOMAIN.crt

# Registrando e enviando mudancas finais
keyringer $HYDRA git commit
keyringer $HYDRA git push

Informações de fingerprint:

openssl x509 -noout -text        -in /path/to/$DOMAIN.crt
openssl x509 -noout -fingerprint -in /path/to/$DOMAIN.crt
openssl x509 -noout -fingerprint -in /path/to/$DOMAIN.crt -md5

Verificando os certificados assinados:

openssl verify -verbose -CAfile /path/to/registrar.crt /path/to/$DOMAIN.crt

Comunicação ao público:

  • Modelo de mensagem.
  • Notificação para https://www.$DOMAIN/pt-br/certs dispínvel em notices/certs*.

Assine as comunicações com a chave do grupo, por exemplo:

GPG_AGENT_INFO="" gpg -b --armor --default-key $KEY_FINGERPRINT -s $FOLDER/doc/notices/certs/$DOMAIN.pt-br.txt
GPG_AGENT_INFO="" gpg -b --armor --default-key $KEY_FINGERPRINT -s $FOLDER/doc/notices/certs/$DOMAIN.en.txt

Copie as notificações para ser incluída em https://$DOMAIN/certs:

cp $FOLDER/doc/notices/certs/* $FOLDER/puppet/modules/site_apache/files/htdocs/$MAIN_DOMAIN/certs/
cd $FOLDER/puppet
git add modules/site_apache/files/htdocs/$DOMAIN/certs/
git commit -m "Atualizando info sobre certificados"
git push

Por fim, atualize os postfix::tlspolicy_snippet do $DOMAIN, caso aplicável.

Instalando

Para instalar o certificado num nodo:

hydra $HYDRA import-certs <nodename>