Serveur de messagerie · 1 min read · Oct 06, 2025

Solution complète de serveur de messagerie avec domaines et utilisateurs virtuels (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Page 13

C. Certificats clients et serveurs signés par une CA

Si vous souhaitez utiliser des certificats clients signés par une CA, vous devrez prendre d’autres mesures, à la fois dans Postfix et dans Dovecot pour que cela fonctionne. Si vous voulez que les noms d’utilisateur soient pris à partir du certificat lui-même, vous devez actuellement définir le nom commun sur le nom d’utilisateur, par exemple [email protected], qui a été utilisé dans ce document.

1. Informer Postfix des certificats

Dans Postfix, vous pouvez soit utiliser un répertoire de certificats CA, soit un fichier composite avec tous les certificats concaténés ensemble. Nous allons utiliser la forme concaténée, car c’est ce que Dovecot attend.

# postconf -e 'smtpd_tls_CAfile = /etc/ssl/example.com/ca/all.pem'

2. Informer Dovecot des certificats

Dans Dovecot, vous devez avoir la CRL avec le certificat pour que l’authentification fonctionne. Les directives elles-mêmes sont les suivantes.

/etc/dovecot/dovecot.conf
[...]  
ssl_ca_file = /etc/ssl/example.com/ca/all.pem  
ssl_verify_client_cert = yes  
ssl_require_client_cert = yes  
ssl_username_from_cert = yes  
[...]  

NOTE : Vous devrez également changer le password_query pour celui commenté dans /etc/dovecot/dovecot-sql.conf

Avertissement : Si vous exécutez Dovecot release candidate 28 ou une version antérieure, le serveur n’enverra pas la liste des noms CA acceptés, ce qui pourrait empêcher les clients avec plusieurs certificats clients de se connecter. Veuillez mettre à jour ou installer ce correctif.

3. Concaténer des fichiers

Si vous avez plusieurs CAs et CRLs, il pourrait être difficile de les concaténer à chaque fois, donc un petit script a été créé pour le faire pour vous. Il suffit de le placer dans votre répertoire /etc/ssl/example.com/ca/ et de l’exécuter. Il créera un all.pem avec tous les certificats et toutes les CRLs.

make.sh:
#!/bin/bash  
rm all.pem 2> /dev/null  
cat *.pem *.crl > all.pem

4. Paramètres TLS de Postfix

Comme je l’ai dit précédemment, il y a certains paramètres dans Postfix qui doivent également être modifiés, alors modifions main.cf :

# postconf -e 'smtpd_tls_ask_ccert = yes'  
# postconf -e 'smtpd_tls_req_ccert = no'  
# postconf -e 'smtpd_recipient_restrictions = permit_tls_all_clientcerts, reject'

Maintenant, vous devriez avoir un serveur de messagerie prêt pour l’entreprise avec des certificats clients.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.