Duvida sobre comando certbot -d

Saudações, estou com uma pequena dúvida, que apesar de simples não vi nenhuma resposta sobre que pudesse esclarecer essa dúvida.

Depois que eu precisei fazer umas alterações no arquivo de configuração do vhost no Apache, eu reconfigurei meus domínios com este comando:
"certbot -d exemplo.com,exemplo.net,subd.exemplo.net,www.exemplo.com,www.exemplo.net --expand"
Foi simples assim porque o cetificado já estava instalado.

A minha dúvida é, quando eu for adicionar mais domínios e subdomínios no meu certificado, eu devo repetir o comando acima, com todos os domínios que estão instalados, juntos com os quais vou instalar? Ou bastaria apenas o "certbot -d novoexemplo.org,sub2.exemplo.com --expand", que será adicionado no sistema sem afetar os outros?

O meu servidor é o Apache 2.4.

Grato!

Oi @Ballagyr,

É isso. Entretanto, o Certbot pode gerenciar vários certificados independentes, que pode ser melhor ou mais fácil em muitos casos. Por exemplo, se você for executar

o Certbot criaria outro certificado independente e gerenciaria ele independemente do certificado original. Isso é porque nenhum dos nomes no segundo pedido correspondem aos nomes no certificado original.

O Certbot confunde muita gente com sua ênfase na questão de duplicação (ou não) de nomes entre pedidos. Geralmente, pedindo um certificado com conjunto de nomes completamente independente do original, você recebe um certificado novo e distinto. Pedindo um certificado com alguns nomes já presentes em um certificado já obtido, tem um risco do Certbot tentar expandí-lo ou de criar um certificado com cobertura duplicada. :crying_cat_face:

É possível indicar que o Certbot deveria modificar um certificado específico com a opção --cert-name (nesse caso, é importante listar todos os nomes que quer ter no certificado atualizado, mesmo os que já estejam no certificado antigo!!, porque nomes não listados serão retirados!!). Também é possível exibir os certificados gerenciados pelo Certbot, com sua cobertura, com certbot certificates.

Faz sentido?

Se eu entendi bem, então mesmo se eu adicionar domínios e subdomínios usando o comando que listei no segundo exemplo, ele vai criar outro certificado, mesmo se algum destes subdomínios forem de algum domínio que consta no certificado antigo? É mais seguro, no sentido de evitar algum problema descritos por você, se usar um certificado independente para cada nova entrada? Se eu ir para essa direção, como ficaria a questão do desempenho do servidor?

Sim, certo.

Há vantagens e desvantagens dos dois estilos.

  • Um certificado com vários domínios →funciona até para os clientes (cada vez menos comuns) que não entendem a SNI. Menos configuração. A perda ou falha de qualquer um dos domínios irá prevenir a renovação do certificado inteiro. A renovação leva mais tempo no servidor (mesmo que geralmente ninguém o perceba, porque acontece sem intervenção humana). O certificado é maior e usa mais dados para entregar ao cliente (mesmo que sejam extremamente poucos em comparação com o conteúdo da maioria dos sites!). Se os domínios pertencem a pessoas ou organizações diferentes, é mais fácil para o usuário final perceber a relação entre os sites (pelo menos, o fato deles serem hospedados no mesmo servidor).

  • Vários certificados, cada um com um só dominio → funciona apenas para os clientes que entendem SNI. Mais configuração. A perda ou falha de qualquer domínio não afeta os outros. O certificado é relativamente pequeno. Etc.

Ambas as opções são válidas.

2 Likes

Eu usei o comando "certbot certificates" e meus certificados estão assim:

Blockquote- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: exemplo.com
Serial Number: 000000000000000000000000000000000000
Key Type: RSA
Domains: exemplo.com sts.exemplo.net exemplo.net
Expiry Date: 2022-01-05 17:12:13+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/exemplo.com/fullchain.pem
Private Key Path: /etc/letsencrypt/live/exemplo.com/privkey.pem
Certificate Name: exemplo.net
Serial Number: 000000000000000000000000000000000000
Key Type: RSA
Domains: exemplo.com sts.exemplo.net exemplo.net www.exemplo.com www.exemplo.net
Expiry Date: 2022-01-05 09:05:01+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/exemplo.net/fullchain.pem
Private Key Path: /etc/letsencrypt/live/exemplo.net/privkey.pem


Como você tinha falado da tal duplicação, eu achei estranho o fato de um dos certificados aparecerem com alguns dos domínios que também aparecem do outro. Funciona sem problemas, mas eu só queria saber mesmo se está tudo bem, ou se devo fazer alguma intervenção.

Acho provável que um dos certificados não é mais usado. Além disso, não acho que tem problema (o certificado não danifica nada).

Beleza então, aproveitando, eu li no site GlobalSign (neste endereço) um artigo sobre SNI e achei bastante interessante e fiquei mais tranquilo para usar o método de certificados independentes.

Seja como for, nossa conversa foi muito proveitosa e esclarecedora, que graças a isso tive acesso a mais informações que me ajudou bastante. Muito obrigado!

2 Likes