Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Installer un certificat pour postfix

1. Récupération des fichiers

Dans un premier temps, il faut récupérer les fichiers nécessaires à l'installation de votre certificat. Vous avez besoin de 2 fichiers :

  • Votre clé privée : ce fichier a été généré en même temps que votre CSR lors de votre commande de certificat. Si un mot de passe a été mis en place sur cette clé, il faut le déchiffrer. Vous pouvez le faire directement grâce à notre outil en ligne : déchiffrement de clé privée par votre navigateur

  • Votre certificat et la chaîne de certification : depuis la page statut de votre certificat, bouton "Voir le certificat", cliquez sur le lien "Voir le certificat avec chaîne". Cela vous permettra de télécharger votre certificat ainsi que la chaîne au format PEM

2. Installation du certificat

Pour installer votre certificat sous postfix, il faut éditer le fichier main.cf pour y rajouter ou modifier des paramètres.

La méthode d'installation diffère en fonction de la version de Postfix qui est installé.

Pour Postfix 3.4 et +

La documentation de Postfix conseille d'installer un seul fichier qui va contenir :

  • la clé privée
  • le certificat serveur
  • la chaine de certification

Ouvrez le fichier avec l'extension .pem récupéré dans la première partie et insérez au tout début de ce fichier le contenu de votre clé privée.

Le contenu devra ressembler à celui-ci :

    --------------BEGIN PRIVATE KEY----------------
...
... //votre clé privée
...
    --------------END PRIVATE KEY----------------

    --------------BEGIN CERTIFICATE----------------
...
... //votre certificat serveur
...
    --------------END CERTIFICATE----------------

    --------------BEGIN CERTIFICATE----------------
...
... // le certificat intermediaire
...
    --------------END CERTIFICATE----------------

Il est important que le fichier contienne ces 3 éléments dans cet ordre exact, sinon cela ne fonctionnera pas.

Éditez ensuite le fichier main.cf

  1. Pour la partie réception des méls (serveur SMTP)
    # directive pour indiquer le certificat
    smtpd_tls_chain_files = /chemin/vers/votre/fichier.pem
    
    #directive pour autoriser le protocole TLS et désactiver le SSL
    smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    
    # active le TLS
    smtpd_tls_security_level = may	
    
    # recommandé pour avoir des détails dans les logs
    smtpd_tls_loglevel = 1
    
    # recommandé pour rajouter une trace TLS dans les entêtes
    smtpd_tls_received_header = yes
    
    # directive concernant les ciphers
    smtpd_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
    smtpd_tls_mandatory_ciphers = high
    
            
  2. Pour la partie envoi des méls (client SMTP):
    #active le TLS si besoin
    smtp_tls_security_level = may
    
    #directive pour autoriser le protocole TLS et désactiver le SSL
    smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    
    # recommandé pour avoir des détails dans les logs
    smtp_tls_loglevel = 1
    
    # directive concernant les ciphers
    smtp_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
    smtp_tls_mandatory_ciphers = medium
    
            

Pour Postfix 3.3 et -

  1. Pour la partie réception des méls (serveur SMTP):
    # directive pour indiquer le certificat et la chaîne de certification
    smtpd_tls_cert_file = /chemin/vers/votre/fichier.pem 
    smtpd_tls_key_file = /chemin/vers/votre/cléprivée.key
    
    #directive pour autoriser le protocole TLS et désactiver le SSL
    smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    
    # active le TLS
    smtpd_tls_security_level = may	
    
    # recommandé pour avoir des détails dans les logs
    smtpd_tls_loglevel = 1
    
    # recommandé pour rajouter une trace TLS dans les entêtes
    smtpd_tls_received_header = yes
    
    # directive concernant les ciphers
    smtpd_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
    smtpd_tls_mandatory_ciphers = high
    
            
  2. Pour la partie envoi des méls (client SMTP):
    #active le TLS si besoin
    smtp_tls_security_level = may
    
    #directive pour autoriser le protocole TLS et désactiver le SSL
    smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
    
    # recommandé pour avoir des détails dans les logs
    smtp_tls_loglevel = 1
    
    # directive concernant les ciphers
    smtp_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
    smtp_tls_mandatory_ciphers = medium
    
            
Il vous faudra ensuite éditer votre fichier master.cf pour vous assurer que l'instruction suivante est bien décommentée :
    tlsmgr    unix  -       -       n       1000?   1       tlsmgr
Si votre configuration est standard vous pouvez vous arrêter ici. Pour une configuration avancée, nous recommandons :
  • De télécharger, avec OpenSSL, notre archive des autorités de confiance à installer dans /etc/postfix/tbs-trusted-roots/

  • Rajouter les lignes suivantes pour comprendre les certificats des autres serveurs ou utilisateurs:
    smtpd_tls_CAfile = /etc/postfix/tbs-trusted-roots/clientca.txt
    smtp_tls_CAfile = /etc/postfix/tbs-trusted-roots/allroots.txt
        
  • Si vous voulez forcer le chiffrement entre 2 domaines (par exemple intra-entreprise ou avec des partenaires, rajoutez:
    smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
        
    Et créez le fichier /etc/postfix/tls_policy suivant le modèle:
    [127.0.0.1]             none
    [127.0.0.1]:10024       none
    tbs-internet.com       encrypt
    
    Ici vous pouvez spécifiez quels domaines destinataires doivent être transportés chiffrés. N'oubliez pas la commande postmap tls_policy pour compiler le fichier pour postfix. Voir la documentation de smtp_tls_policy_maps

Liens utiles