Você já destacou as principais etapas deste processo: certificados e delegação de serviços de e-mail da Web para o servidor de e-mail.
Com relação aos certificados, eu recomendaria usar nomes de host diferentes para o servidor de e-mail e da web e também para certificados diferentes.
Como você está usando Vamos criptografar - a maioria dos casos de uso de suas ferramentas são para servidores web. O protocolo ACME precisa de uma verificação de que você está no controle do seu nome de domínio. Isso funciona bem com recursos da web. O certbot (ou qualquer outra ferramenta que suporte o ACME) colocará um arquivo simples em sua webroot e instruirá o Let's Encrypt a verificar por solicitação HTTP ou HTTPS.
Para o seu servidor de email, isso não funciona. Mas se você usar qualquer provedor de DNS compatível (como o Amazon Route 53 ou DNS Made Easy ou ...) você pode fazer o mesmo sem um servidor web.
Veja a lista a seguir sobre os plug-ins de provedor de DNS suportados no Certbot:
--dns-cloudflare Obtain certificates using a DNS TXT record (if you are
using Cloudflare for DNS). (default: False)
--dns-cloudxns Obtain certificates using a DNS TXT record (if you are
using CloudXNS for DNS). (default: False)
--dns-digitalocean Obtain certificates using a DNS TXT record (if you are
using DigitalOcean for DNS). (default: False)
--dns-dnsimple Obtain certificates using a DNS TXT record (if you are
using DNSimple for DNS). (default: False)
--dns-dnsmadeeasy Obtain certificates using a DNS TXT record (if you
areusing DNS Made Easy for DNS). (default: False)
--dns-google Obtain certificates using a DNS TXT record (if you are
using Google Cloud DNS). (default: False)
--dns-luadns Obtain certificates using a DNS TXT record (if you are
using LuaDNS for DNS). (default: False)
--dns-nsone Obtain certificates using a DNS TXT record (if you are
using NS1 for DNS). (default: False)
--dns-rfc2136 Obtain certificates using a DNS TXT record (if you are
using BIND for DNS). (default: False)
--dns-route53 Obtain certificates using a DNS TXT record (if you are
using Route53 for DNS). (default: False)
Veja o exemplo a seguir como funciona para o Route53 da Amazon:
# set AWS API credentials
export AWS_ACCESS_KEY_ID="1234567890"
export AWS_SECRET_ACCESS_KEY="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# create a certificate
certbot certonly --noninteractive --agree-tos -m [email protected] \n
--no-eff-email --dns-route53 --rsa-key-size 4096 \n
-d mail.example.com -d smtp.example.com -d imap.example.com
Como você pode ver na última linha do meu exemplo, Vamos Criptografar suporta vários certificados de domínio. Se o seu servidor de e-mail atende a vários domínios, você precisa seguir esse caminho. SMTP ou IMAP não suporta SNI como o HTTPS.
O segundo passo é encaminhar seus e-mails do seu servidor da Web para o servidor de e-mail. Como prática recomendada para cada serviço, um servidor separado Linux / Unix usará o correio local em muitos casos. Então você não deve remover o Postfix inteiramente do seu servidor web. Altere a configuração do Postfix para a configuração chamada "satélite". Aqui, o seu Postfix encaminhará mensagens para um servidor de retransmissão e fornecerá o SMTP apenas para serviços locais (soquete e / ou host local: 25).
Se você está usando Debian ou Ubuntu você pode reconfigurar o Postfix via:
dpkg-reconfigure postfix
Na configuração do satélite, será solicitado um servidor de retransmissão de email. Digite aqui o nome de domínio do seu novo servidor de e-mail (por exemplo, mail.example.com).
Em sua configuração do servidor de e-mail, você deve ativar o endereço IP do seu servidor da Web como fonte confiável para retransmissão de e-mail. Uma boa abordagem é usar a diretiva de configuração Postfix permit_mynetworks .