Neste tutorial, você aprenderá como instalar um certificado SSL em um servidor Courier IMAP. Você combina seu certificado, chave privada e cadeia da CA em um único arquivo PEM, aponta a configuração TLS_CERTFILE do Courier para ele e reinicia o serviço para que IMAPS e POP3S apresentem o novo certificado.
Gerar um código CSR no Servidor Courier IMAP
Se você já gerou seu CSR e recebeu os arquivos SSL, pule a parte 1 e vá direto para as etapas de instalação.
O CSR (Certificate Signing Request) é um bloco de texto codificado que contém seus dados de contato. Você o cria e o envia para sua Autoridade Certificadora (CA) para passar pela validação SSL. Gerar o CSR também cria a chave privada correspondente, que permanece em seu servidor e é necessária para a instalação. Você tem duas opções:
- Use nosso Gerador de CSR para criar o CSR automaticamente.
- Siga nosso tutorial passo a passo sobre como gerar um CSR no Servidor Courier IMAP.
Para abrir o arquivo CSR, use qualquer editor de texto simples. Ao fazer o pedido, copie todo o bloco, incluindo as linhas BEGIN e END. Mantenha o arquivo da chave privada em segurança: você o combinará com seu arquivo PEM durante a instalação.
Instalar um certificado SSL no Servidor Courier IMAP
Após a validação, sua CA envia por e-mail um arquivo ZIP com seus arquivos SSL: o certificado primário (do servidor) e um ou mais certificados intermediários (da CA). Extraia o arquivo em seu servidor e siga as etapas abaixo.
Etapa 1: Combine o certificado, a cadeia e a chave em um único arquivo PEM
O Courier lê o certificado e a chave privada de um único arquivo PEM definido em TLS_CERTFILE. Concatene os arquivos nesta ordem: primeiro seu certificado do servidor, depois a cadeia intermediária da CA e, por fim, sua chave privada. No diretório onde estão os arquivos extraídos, execute:
cat yourdomain.crt yourdomain.ca-bundle yourdomain.key > imapd.pem
sudo mv imapd.pem /etc/courier/imapd.pem
sudo chmod 600 /etc/courier/imapd.pem
Se sua CA entregou os certificados intermediários como arquivos separados em vez de um único .ca-bundle, liste cada um entre o certificado e a chave. O arquivo PEM final deve ficar assim:
-----BEGIN CERTIFICATE-----
(the text of your primary SSL certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(the text of the intermediate / CA chain certificate)
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
(the text of your private key)
-----END PRIVATE KEY-----
Chaves mais antigas podem estar rotuladas como BEGIN RSA PRIVATE KEY em vez de BEGIN PRIVATE KEY; ambas são aceitáveis. A chave não deve estar criptografada com uma senha, pois o Courier a carrega sem solicitar confirmação. O arquivo PEM deve ser legível apenas pelo root (o chmod 600 mostrado acima), já que contém a chave privada.
Se preferir manter a chave privada em seu próprio arquivo, deixe a chave fora do PEM e defina TLS_PRIVATE_KEYFILE com o caminho da chave na configuração (Etapa 2). Quando a chave já está incorporada em TLS_CERTFILE, o arquivo de chave separado é opcional.
Etapa 2: Aponte o Courier para o seu arquivo PEM
Abra o arquivo de configuração que o Courier usa para IMAP sobre SSL. O caminho depende da sua distribuição: geralmente é /etc/courier/imapd-ssl, ou /usr/lib/courier-imap/etc/imapd-ssl em alguns sistemas. Edite-o com um editor de texto, por exemplo:
sudo nano /etc/courier/imapd-ssl
Localize a linha TLS_CERTFILE (ou adicione-a se estiver ausente) e defina-a para o seu arquivo PEM:
TLS_CERTFILE=/etc/courier/imapd.pem
Se você manteve a chave privada separada na Etapa 1, defina também o caminho dela:
TLS_PRIVATE_KEYFILE=/etc/courier/imapd.key
Enquanto estiver neste arquivo, reforce as configurações de TLS. Remova ou comente qualquer linha que force um protocolo obsoleto, como TLS_PROTOCOL=SSL3: o SSLv3 e as primeiras versões do TLS 1.0 e 1.1 são inseguros e devem ser desativados. Configure o Courier para exigir TLS 1.2 ou superior. TLS_PROTOCOL aplica-se à porta SSL dedicada (IMAPS), e TLS_STARTTLS_PROTOCOL aplica-se ao STARTTLS na porta padrão:
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2
O valor TLSv1.2 significa “TLS 1.2 ou superior”, portanto o TLS 1.3 ainda é negociado quando sua versão do OpenSSL o suporta. Não é necessário definir TLS_TRUSTCERTS para apresentar seu certificado aos clientes de e-mail; essa variável serve apenas para verificar certificados de clientes.
Debian, Ubuntu e Devuan: nessas distribuições, o Courier é compilado com base no GnuTLS em vez do OpenSSL, e TLS_PROTOCOL não tem efeito. Defina o piso do protocolo com TLS_PRIORITY em vez disso, por exemplo TLS_PRIORITY=NORMAL:-VERS-TLS1.0:-VERS-TLS1.1 (o que deixa apenas TLS 1.2 e 1.3). O TLS_CERTFILE e o PEM combinado mostrado acima são idênticos em ambas as versões, então a instalação do certificado em si permanece inalterada.
Nota sobre os parâmetros Diffie-Hellman: os pacotes atuais do Courier geram automaticamente um arquivo de parâmetros DH (por meio do script mkdhparams e de uma tarefa cron periódica) e o leem a partir de TLS_DHPARAMS, então você não precisa mais criar um manualmente para uma instalação padrão. A antiga diretiva TLS_DHCERTFILE foi removida no Courier 4.15. Se o mkdhparams nunca foi executado em seu servidor, execute-o uma vez para criar o arquivo.
Se você também disponibiliza o POP3S (porta 995), abra o arquivo de configuração do POP3, /etc/courier/pop3d-ssl (ou /usr/lib/courier-imap/etc/pop3d-ssl), e aplique as mesmas configurações. Você pode reutilizar o mesmo arquivo PEM ou criar um /etc/courier/pop3d.pem dedicado com o mesmo conteúdo:
TLS_CERTFILE=/etc/courier/pop3d.pem
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2
Etapa 3: Reinicie o Courier
Reinicie o Courier para que ele carregue o novo certificado. Na maioria das distribuições baseadas em systemd, reinicie os serviços SSL e o daemon de autenticação:
sudo systemctl restart courier-imap-ssl
sudo systemctl restart courier-pop3-ssl
sudo systemctl restart courier-authdaemon
Alguns pacotes disponibilizam uma única unidade combinada em vez disso. Se os serviços acima não forem encontrados, tente:
sudo systemctl restart courier
Em um sistema que não usa systemd, reinicie por meio dos próprios scripts do Courier:
/usr/lib/courier-imap/libexec/imapd-ssl.rc restart
/usr/lib/courier-imap/libexec/pop3d-ssl.rc restart
Depois que o serviço reiniciar corretamente, seu novo certificado SSL estará ativo para IMAPS (porta 993) e POP3S (porta 995), assim como para o STARTTLS nas portas 143 e 110.
Teste sua instalação SSL
Depois da instalação, confirme se o certificado está sendo apresentado corretamente. No terminal, abra uma conexão TLS para a porta IMAPS e leia o certificado apresentado pelo servidor:
openssl s_client -connect mail.yourdomain.com:993 -servername mail.yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates
Para POP3S, use a porta 995. Para testar o STARTTLS na porta padrão do IMAP, execute:
openssl s_client -connect mail.yourdomain.com:143 -starttls imap
O primeiro comando encaminha a conexão para o openssl x509 e imprime o emissor, o titular (nome comum) e as datas de validade, permitindo confirmar que o certificado correto está sendo apresentado. O comando STARTTLS mostra o handshake completo: verifique se o emissor e a cadeia estão corretos e se Verify return code: 0 (ok) aparece próximo ao final. Para um relatório completo sobre seu certificado e sua configuração, use nosso SSL Checker.
Perguntas Frequentes
Primeiro o certificado do servidor, depois a cadeia intermediária (da CA) e, por fim, a chave privada, tudo em um único arquivo PEM. O Courier lê esse arquivo a partir de TLS_CERTFILE e apresenta a cadeia completa aos clientes. A chave privada deve estar sem criptografia (sem senha).
O IMAP sobre SSL é configurado em /etc/courier/imapd-ssl, e o POP3 sobre SSL em /etc/courier/pop3d-ssl. Em algumas distribuições, esses arquivos ficam em /usr/lib/courier-imap/etc/. As configurações de STARTTLS para as portas em texto simples estão nos arquivos correspondentes imapd e pop3d.
Não manualmente, em uma instalação normal. Os pacotes atuais do Courier geram automaticamente um arquivo de parâmetros DH com o script mkdhparams e o atualizam periodicamente, lendo-o a partir de TLS_DHPARAMS. A antiga diretiva TLS_DHCERTFILE foi removida no Courier 4.15. Execute o mkdhparams apenas uma vez, caso ainda não exista um arquivo DH.
Remova qualquer linha TLS_PROTOCOL=SSL3 e defina TLS_PROTOCOL=TLSv1.2 em imapd-ssl e pop3d-ssl. Defina TLS_STARTTLS_PROTOCOL=TLSv1.2 para as portas STARTTLS. O valor TLSv1.2 significa “1.2 ou superior”, então o TLS 1.3 é usado automaticamente quando seu OpenSSL o suporta.
Conecte-se à porta de e-mail com o OpenSSL e leia o certificado apresentado: openssl s_client -connect mail.yourdomain.com:993 para IMAPS, ou adicione -starttls imap na porta 143. Confirme se o emissor e a cadeia estão corretos e se a saída mostra Verify return code: 0 (ok).
Economize 10% em certificados SSL ao fazer seu pedido hoje!
Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10


