Zimbra + Letsencrypt

Certificado SSL Lets Encrypt no Zimbra

Existe um guia extenso no Wiki da Zimbra sobre como configurar (manualmente) um certificado Letsencrypt no Servidor Zimbra.
Mas gosto de implementações práticas e objectivas.
Aqui ficam o guia para implementar um certificado válido e gratuito da Let’s Encrypt no Zimbra 8.7 e 8.8.

Nota:
Atenção ao DNS para que tudo corra sobre rodas.
A emissão de certificados pela Let’s Encrypt é simples: basicamente instala um pacote, solicita o certificado com o nome principal (ex: mail.zimbra.pt) e a validação é efectuada através de uma consulta DNS: Se a consulta partir do endereço IP para qual o endereço resolve, o certificado será emitido.

Requisitos:
Configuração DNS correta
Ubuntu Server versão >= 16.04
Certbot Versão >=0.7.0
Zimbra Versão >= 8.7
certbot_zimbra.sh

Instalação do certbot de acordo com EFF:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot

Instalação do certbot_zimbra.sh:
Clonar o certbot-zimbra apartir GitHub:

$ cd /usr/local/src
$ git clone https://github.com/YetOpen/certbot-zimbra.git
$ cd certbot-zimbra

Agora para obter e instalar o certificado letsencrypt no Zimbra, execute (como root):

$ ./certbot_zimbra.sh -n

Agora o script irá:

  1. Alterar o nginx;
  2. Solicitar o certificado (para o host definido por zmhostname);
  3. Verificar o certificado;
  4. Instalar o certificado diretamente no Zimbra;
  5. Reiniciar o Zimbra.

Agora para finalizar, vamos criar renovação automática do certificado:

$ crontab -e
Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

escolher opção 2 e no final do ficheiro escrever:

55 4 * * * root /usr/bin/certbot renew --post-hook "/usr/local/src/certbot-zimbra/certbot_zimbra.sh -r -d $(zmhostname)"

Perfeito. temos agora o Zimbra com um certificado válido da Let’s Encrypt!.

5 Comments

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *