diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2024-02-24 15:03:05 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2024-02-24 15:03:05 -0300 |
commit | c1b973a39a5be58eb4465603b971235ed7fedd4d (patch) | |
tree | 4cd1890930fa3ee59e244a9d963592a7b51979d4 /docs/certs.md | |
parent | 3541adeafcdb79efdedc1f9d29a3bca15571c611 (diff) | |
download | padrao-c1b973a39a5be58eb4465603b971235ed7fedd4d.tar.gz padrao-c1b973a39a5be58eb4465603b971235ed7fedd4d.tar.bz2 |
Feat: migrate docs from Ikiwiki to MkDocs
Diffstat (limited to 'docs/certs.md')
-rw-r--r-- | docs/certs.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/certs.md b/docs/certs.md new file mode 100644 index 0000000..9fc1a04 --- /dev/null +++ b/docs/certs.md @@ -0,0 +1,76 @@ +# Geração e renovação de certificados + +## Começando + +Proceda com a [configuração do ambiente de trabalho administrativo](/install). + +## Gerando novas chaves + +Proceda usando o [keyringer](https://keyringer.pw): + + 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](https://protocolos.fluxo.info/mensagens/certs/). + * Notificação para `https://www.$DOMAIN/pt-br/certs` dispínvel em `notices/certs*`. + +Assine as comunicações com a [chave do grupo](https://protocolos.fluxo.info/trac/wiki/Comunicacao/OpenPGP), 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> |