bg-tutorials

Como Instalar um Certificado SSL no Servidor Courier IMAP

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:

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

Em que ordem devo combinar os arquivos no PEM do Courier?

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).

Onde está o arquivo de configuração SSL do Courier?

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.

Ainda preciso de parâmetros Diffie-Hellman (DH) para o Courier?

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.

Como desativo o SSLv3 e versões antigas do TLS no Courier?

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.

Como verifico o certificado depois de reiniciar o Courier?

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

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.