Servidor de E-mail · 4 min read · Sep 08, 2025
Segurando seu servidor de e-mail gerenciado pelo ISPConfig 3 com um certificado SSL Let's Encrypt válido

Se você está executando seu próprio servidor de e-mail, é uma boa prática conectá-lo de forma segura com uma conexão SSL/TLS. Você precisará de um certificado válido para essas conexões seguras. Neste tutorial, configuraremos um certificado Let’s Encrypt para nosso servidor de e-mail que renova automaticamente.
Atenção: Este tutorial é baseado neste tutorial: https://www.howtoforge.com/tutorial/securing-ispconfig-3-with-a-free-lets-encrypt-ssl-certificate/ mas modificado para que você tenha um certificado separado para seu servidor de e-mail e painel de controle. Se você já seguiu esse tutorial antes, este tutorial pode quebrar sua configuração.
Este tutorial usa certificados emitidos pelo acme.sh. Se você estiver usando o certbot, siga este tutorial em vez disso: https://www.howtoforge.com/community/threads/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-ssl-certificate-certbot.86372/
Nota para ISPConfig 3.2: O ISPConfig 3.2 é capaz de criar um certificado SSL Let’s Encrypt válido para o nome do host do servidor automaticamente durante a instalação, que é usado para o servidor de e-mail também. Não há necessidade de criar manualmente um certificado SSL Let’s Encrypt como descrito aqui em sistemas ISPConfig 3.2, a menos que você precise de nomes de domínio diferentes no certificado SSL além do nome do host do servidor.
Pré-requisitos
- Seu servidor deve estar instalado de acordo com o tutorial do Servidor Perfeito para seu SO.
- Certifique-se de que você está logado como usuário root.
Começando
Eu usarei os seguintes nomes de host para meu servidor de e-mail: mail.example.com, smtp.example.com, imap.example.com.
Substitua todos os nomes de host sublinhados em vermelho neste tutorial pelos seus próprios.
Crie os registros DNS para seu(s) nome(s) de host, para que eles apontem para seu servidor. Estes devem ser registros A (e eventualmente AAAA). Em seguida, na interface do ISPConfig, vá para a aba Sites.
Emitindo o certificado
Sob Sites, clique em “Adicionar novo site”. Defina mail.example.com como domínio. Desative Subdomínio Automático e marque a caixa Let’s Encrypt.
Depois disso, você pode adicionar seus outros nomes de host como domínios alias, indo para a lista de domínios alias e clicando em “Adicionar novo domínio alias”. Selecione smtp.example.com como domínio e mail.example.com como site pai. Desative Subdomínio Automático e salve o novo registro. Repita isso para seus outros nomes de host, se houver.
Verifique se o certificado está no lugar. Você pode fazer isso com uma ferramenta como https://www.sslshopper.com/ssl-checker.html
Deve parecer algo assim:

Se o(s) nome(s) de host estiverem listados e não houver outros erros, você pode prosseguir. Caso contrário, verifique os erros e resolva-os antes de continuar.
Substituindo o certificado pelo certificado Let’s Encrypt
Agora podemos substituir o certificado atual pelo seu certificado confiável. Faça login no seu servidor e execute estes comandos:
(substitua mail.example.com pelo nome do host que você usou para o site)
cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /var/www/mail.example.com/ssl/mail.example.com-le.crt smtpd.cert
ln -s /var/www/mail.example.com/ssl/mail.example.com-le.key smtpd.key
systemctl restart postfix
systemctl restart dovecotO certificado deve agora ser usado para seu servidor Postfix e Dovecot. Mas ainda não terminamos! O certificado Let’s Encrypt renova a cada 60 dias, então devemos automatizar o processo de substituição do certificado no futuro, para que você não se esqueça dele.
Nós de multiserver sem GUI do ISPConfig
Se este for um nó sem GUI em uma configuração de multiserver do ISPConfig, você deve agora verificar se o próprio ISPConfig tem um certificado SSL. Não faça esta etapa em uma configuração de servidor único ou em um servidor que executa uma GUI do ISPConfig.
Você pode fazer o teste com os seguintes comandos ls:
cd /usr/local/ispconfig/interface/ssl/
ls ispserver.crt
ls ispserver.keyO resultado parecerá assim se já houver um certificado:
root@server:/usr/local/ispconfig/interface/ssl# ls ispserver.crt
ispserver.crt
root@server:/usr/local/ispconfig/interface/ssl# ls ispserver.key
ispserver.keySe os dois comandos ls não retornarem os arquivos ispserver.crt e ispserver.key, então crie-os como links simbólicos para o certificado Let’s Encrypt assim:
ln -s /var/www/mail.example.com/ssl/mail.example.com-le.cer ispserver.crt
ln -s /var/www/mail.example.com/ssl/mail.example.com-le.key ispserver.keyConfigurando um script de renovação automática
Abra um novo arquivo de script:
nano /usr/local/bin/le_mailserver_restart.shCole isso nesse arquivo:
#!/bin/sh
### BEGIN INIT INFO
# Provides: LE MAILSERVER CERT AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE MAILSERVER CERT AUTO UPDATER
# Description: Reinicia o servidor de e-mail automaticamente quando um novo certificado Let's Encrypt é emitido.
### END INIT INFO
systemctl restart postfix
systemctl restart dovecotTorne o script executável:
chmod +x /usr/local/bin/le_mailserver_restart.shPara acionar automaticamente este script na renovação, vamos usar o systemd.
Crie e abra o novo serviço systemd:
nano /etc/systemd/system/le-mailserver-restart.serviceCole isso nesse arquivo:
[Unit]
Description="Executar script para reiniciar Postfix e Dovecot após o certificado ter sido renovado"
[Service]
ExecStart=/usr/local/bin/le_mailserver_restart.shSalve e feche este arquivo. Em seguida, crie e abra o novo arquivo de caminho do systemd:
nano /etc/systemd/system/le-mailserver-restart.pathCole isso nesse arquivo e substitua mail.example.com pelo nome do host que você usou:
[Unit]
Description="Monitorar os arquivos de certificado do servidor de e-mail para acionar uma reinicialização dos serviços de e-mail após os certificados terem sido renovados"
[Path]
PathModified=/var/www/mail.example.com/ssl/
Unit=le-mailserver-restart.service
[Install]
WantedBy=multi-user.targetSalve e feche este arquivo. Em seguida, inicie o serviço e habilite-o para que ele seja executado na inicialização:
systemctl start le-mailserver-restart.pathE habilite-o para que ele seja executado na inicialização:
systemctl enable le-mailserver-restart.pathE estamos prontos!
Não está funcionando?
Uma vez tive um problema com isso, porque o Let’s Encrypt usou um dos domínios alias como domínio principal. Você pode encontrar o domínio principal na ferramenta SSL mencionada anteriormente como “Nome comum” ou listando o conteúdo de /root/acme.sh/ para ver qual dos (alias)domínios tem uma pasta lá.
Se você ainda estiver enfrentando um problema, abra um tópico no fórum para que outros possam ajudá-lo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.