Usando letsencrypt & certbot, como adiciono um servidor de e-mail a um certificado existente?

Usando letsencrypt & certbot, como adiciono um servidor de e-mail a um certificado existente?

Hospedar:Oceano Digital

SO:CentOS

Tenho um certificado SSL existente que cobre meu domínio.

$ certbot certificatesproduz esta saída.

Found the following certs:
   Certificate Name: example.com
     Domains: example.com www.example.com
     Expiry Date: 2020-04-12 21:20:31+00:00 (VALID: 86 days)
     Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
     Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem

Instalei postfixe acredito que preciso adicionarmail.exemplo.comao meu certificado.

Eu tentei adicionarmail.exemplo.comao meu certificado usando este comando,

$ sudo certbot certonly --standalone -d mail.example.com

Infelizmente, gerou esse erro,

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mail.example.com
Waiting for verification…
Challenge failed for domain mail.example.com
http-01 challenge for mail.example.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:

The following errors were reported by the server:

Domain: mail.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up A for mail.example.com

Parece que o certbot está tentando instalarmail.exemplo.comusando um registro A. No Digital Ocean na minha seção de registros de domíniomail.exemplo.comfoi criado como um registro MX, não como um registro A.

Responder1

Você está certo: para entrega de correspondência, você precisa de uma entrada MX. MAS: mail.testsite.com é um nome de host totalmente qualificado. E você precisa dizer a todos que desejam entregar mensagens para você qual é o endereço IP desse nome de host. Portanto, você também precisa de um registro A, apontando para o servidor onde deseja receber o e-mail.

Crie um registro e aponte para o seu servidor de e-mail e execute o certbot nessa máquina. Certifique-se de que um servidor web esteja respondendo na porta 80 para mail.testsite.com para que a verificação seja bem-sucedida. Então funcionará.

Responder2

Faça isso deste modo:

$ sudo certbot -d mail.example.com --manual --preferred-challenges dns certonly

Um registro DNS TXT será impresso (só não cliquedigitarainda), publique-o no seu DNS e espere até ter certeza de que o registro TXT pode ser lido fora do seu DNS e clique emdigitare isso será verificado.

Responder3

Se Ionos for seu provedor de DNS e você seguir a convenção comum de chamar seu servidor de email mail.example.com, não será suficiente criar um registro A "mail" e um registro MX "mail". Seu registro TXT não satisfaz o certbot.

Você deve criar umsubdomíniochamado "mail" usando a IU do Ionos. Então você pode navegar até esse subdomínio na UI, criar seu registro TXT e chamá-lo de "_acme-challenge". Isso produz um registro TXT "_acme-challenge.mail.example.com" funcional.

melhor deixar para consultas futuras

Parece-me que o valor do desafio muda cada vez que você executa o certbot. Portanto, você pode deixar o registro TXT no lugar, mas terá que editá-lo todas as vezes.

informação relacionada