Dans ce tutoriel, vous apprendrez comment installer un certificat SSL sur un serveur Courier IMAP. Vous combinez votre certificat, votre clé privée et la chaîne CA dans un seul fichier PEM, vous configurez le paramètre TLS_CERTFILE de Courier pour qu’il y pointe, puis vous redémarrez le service afin qu’IMAPS et POP3S servent le nouveau certificat.
Générer un code CSR sur un serveur Courier IMAP
Si vous avez déjà généré votre CSR et reçu les fichiers SSL, passez la partie 1 et allez directement aux étapes d’installation.
Le CSR (Certificate Signing Request) est un bloc de texte encodé qui contient vos coordonnées. Vous le créez et l’envoyez à votre autorité de certification (CA) pour passer la validation SSL. La génération du CSR crée également la clé privée correspondante, qui reste sur votre serveur et est nécessaire à l’installation. Vous avez deux options :
- Utilisez notre Générateur de CSR pour créer le CSR automatiquement.
- Suivez notre tutoriel étape par étape sur comment générer un CSR sur un serveur Courier IMAP.
Pour ouvrir le fichier CSR, utilisez n’importe quel éditeur de texte brut. Lors de la commande, copiez l’intégralité du bloc, y compris les lignes BEGIN et END. Conservez le fichier de clé privée en lieu sûr : vous devrez le fusionner dans votre fichier PEM lors de l’installation.
Installer un certificat SSL sur un serveur Courier IMAP
Après validation, votre CA vous envoie par e-mail une archive ZIP contenant vos fichiers SSL : le certificat principal (serveur) et un ou plusieurs certificats intermédiaires (CA). Extrayez l’archive sur votre serveur, puis suivez les étapes ci-dessous.
Étape 1 : Combinez le certificat, la chaîne et la clé dans un seul fichier PEM
Courier lit le certificat et la clé privée à partir d’un seul fichier PEM défini dans TLS_CERTFILE. Concaténez les fichiers dans cet ordre : votre certificat serveur d’abord, puis la chaîne intermédiaire CA, puis votre clé privée. Depuis le répertoire contenant les fichiers extraits, exécutez :
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
Si votre CA a fourni les intermédiaires sous forme de fichiers séparés plutôt que dans un seul .ca-bundle, listez chacun d’eux entre le certificat et la clé. Le fichier PEM final devrait ressembler à ceci :
-----BEGIN CERTIFICATE-----
(le texte de votre certificat SSL principal)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(le texte du certificat de la chaîne intermédiaire / CA)
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
(le texte de votre clé privée)
-----END PRIVATE KEY-----
Les clés plus anciennes peuvent être étiquetées BEGIN RSA PRIVATE KEY au lieu de BEGIN PRIVATE KEY ; les deux formats fonctionnent. La clé ne doit pas être chiffrée avec une phrase de passe, car Courier la charge sans invite. Le fichier PEM ne doit être lisible que par root (le chmod 600 ci-dessus), car il contient la clé privée.
Si vous préférez conserver la clé privée dans son propre fichier, ne l’incluez pas dans le PEM et définissez TLS_PRIVATE_KEYFILE avec le chemin de la clé dans la configuration (étape 2). Lorsque la clé est déjà intégrée dans TLS_CERTFILE, le fichier de clé séparé est facultatif.
Étape 2 : Configurez Courier pour pointer vers votre fichier PEM
Ouvrez le fichier de configuration que Courier utilise pour IMAP sur SSL. Le chemin dépend de votre distribution : il s’agit généralement de /etc/courier/imapd-ssl, ou de /usr/lib/courier-imap/etc/imapd-ssl sur certains systèmes. Modifiez-le avec un éditeur de texte, par exemple :
sudo nano /etc/courier/imapd-ssl
Repérez la ligne TLS_CERTFILE (ou ajoutez-la si elle est absente) et définissez-la vers votre fichier PEM :
TLS_CERTFILE=/etc/courier/imapd.pem
Si vous avez conservé la clé privée séparément à l’étape 1, définissez également son chemin :
TLS_PRIVATE_KEYFILE=/etc/courier/imapd.key
Tant que vous êtes dans ce fichier, renforcez les paramètres TLS. Supprimez ou commentez toute ligne qui impose un protocole obsolète, tel que TLS_PROTOCOL=SSL3 : SSLv3 et les premières versions TLS 1.0 et 1.1 sont non sécurisées et doivent être désactivées. Configurez Courier pour exiger TLS 1.2 ou supérieur. TLS_PROTOCOL s’applique au port SSL dédié (IMAPS), et TLS_STARTTLS_PROTOCOL s’applique à STARTTLS sur le port standard :
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2
La valeur TLSv1.2 signifie « TLS 1.2 ou supérieur », donc TLS 1.3 est toujours négocié lorsque votre version d’OpenSSL le prend en charge. Vous n’avez pas besoin de définir TLS_TRUSTCERTS pour servir votre certificat aux clients de messagerie ; cette variable ne concerne que la vérification des certificats clients.
Debian, Ubuntu et Devuan : sur ces distributions, Courier est compilé avec GnuTLS plutôt qu’avec OpenSSL, et TLS_PROTOCOL n’a aucun effet. Définissez plutôt le seuil de protocole avec TLS_PRIORITY, par exemple TLS_PRIORITY=NORMAL:-VERS-TLS1.0:-VERS-TLS1.1 (qui ne laisse que TLS 1.2 et 1.3). Le TLS_CERTFILE et le fichier PEM combiné ci-dessus sont identiques sur les deux compilations, donc l’installation du certificat elle-même reste inchangée.
Remarque sur les paramètres Diffie-Hellman : les paquets Courier actuels génèrent automatiquement un fichier de paramètres DH (via le script mkdhparams et une tâche cron périodique) et le lisent depuis TLS_DHPARAMS, donc vous n’avez plus besoin d’en créer un manuellement pour une installation standard. L’ancienne directive TLS_DHCERTFILE a été supprimée dans Courier 4.15. Si mkdhparams n’a jamais été exécuté sur votre serveur, exécutez-le une fois pour créer le fichier.
Si vous servez également POP3S (port 995), ouvrez le fichier de configuration POP3, /etc/courier/pop3d-ssl (ou /usr/lib/courier-imap/etc/pop3d-ssl), et appliquez les mêmes paramètres. Vous pouvez réutiliser le même fichier PEM, ou créer un fichier dédié /etc/courier/pop3d.pem avec le même contenu :
TLS_CERTFILE=/etc/courier/pop3d.pem
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2
Étape 3 : Redémarrez Courier
Redémarrez Courier pour qu’il charge le nouveau certificat. Sur la plupart des distributions basées sur systemd, redémarrez les services SSL et le démon d’authentification :
sudo systemctl restart courier-imap-ssl
sudo systemctl restart courier-pop3-ssl
sudo systemctl restart courier-authdaemon
Certains paquets exposent une seule unité combinée à la place. Si les services ci-dessus ne sont pas trouvés, essayez :
sudo systemctl restart courier
Sur un système qui n’utilise pas systemd, redémarrez via les scripts propres de Courier :
/usr/lib/courier-imap/libexec/imapd-ssl.rc restart
/usr/lib/courier-imap/libexec/pop3d-ssl.rc restart
Une fois le service redémarré correctement, votre nouveau certificat SSL est actif pour IMAPS (port 993) et POP3S (port 995), ainsi que pour STARTTLS sur les ports 143 et 110.
Testez votre installation SSL
Après l’installation, vérifiez que le certificat est correctement servi. Depuis un terminal, ouvrez une connexion TLS vers le port IMAPS et lisez le certificat présenté par le serveur :
openssl s_client -connect mail.yourdomain.com:993 -servername mail.yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates
Pour POP3S, utilisez le port 995. Pour tester STARTTLS sur le port IMAP standard, exécutez plutôt :
openssl s_client -connect mail.yourdomain.com:143 -starttls imap
La première commande transmet la connexion à openssl x509 et affiche l’émetteur, le sujet (nom commun) et les dates de validité, ce qui vous permet de confirmer que le bon certificat est servi. La commande STARTTLS affiche la poignée de main complète : vérifiez que l’émetteur et la chaîne sont corrects et que Verify return code : 0 (ok) apparaît vers la fin. Pour un rapport complet sur votre certificat et sa configuration, utilisez notre SSL Checker.
Questions fréquemment posées
Le certificat serveur d’abord, puis la chaîne intermédiaire (CA), puis la clé privée, tout dans un seul fichier PEM. Courier lit ce fichier depuis TLS_CERTFILE et présente la chaîne complète aux clients. La clé privée doit être non chiffrée (sans phrase de passe).
IMAP sur SSL est configuré dans /etc/courier/imapd-ssl, et POP3 sur SSL dans /etc/courier/pop3d-ssl. Sur certaines distributions, ces fichiers se trouvent plutôt sous /usr/lib/courier-imap/etc/. Les paramètres STARTTLS pour les ports en texte clair se trouvent dans les fichiers correspondants imapd et pop3d.
Pas manuellement pour une installation normale. Les paquets Courier actuels génèrent automatiquement un fichier de paramètres DH avec le script mkdhparams et le rafraîchissent selon une planification, en le lisant depuis TLS_DHPARAMS. L’ancienne directive TLS_DHCERTFILE a été supprimée dans Courier 4.15. Exécutez mkdhparams une seule fois si aucun fichier DH n’existe encore.
Supprimez toute ligne TLS_PROTOCOL=SSL3 et définissez TLS_PROTOCOL=TLSv1.2 dans imapd-ssl et pop3d-ssl. Définissez TLS_STARTTLS_PROTOCOL=TLSv1.2 pour les ports STARTTLS. La valeur TLSv1.2 signifie « 1.2 ou supérieur », donc TLS 1.3 est utilisé automatiquement lorsque votre OpenSSL le prend en charge.
Connectez-vous au port de messagerie avec OpenSSL et lisez le certificat servi : openssl s_client -connect mail.yourdomain.com:993 pour IMAPS, ou ajoutez -starttls imap sur le port 143. Confirmez que l’émetteur et la chaîne sont corrects et que la sortie affiche Verify return code : 0 (ok).
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10


