informatique:serveur:postfix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:serveur:postfix [2023/11/26 14:23] – [1. Introduction] Cédric ABONNELinformatique:serveur:postfix [2023/12/29 18:29] (Version actuelle) – [Configurer Let's Encrypt pour le renouvellement automatique] Cédric ABONNEL
Ligne 54: Ligne 54:
 Le choix du programme d'envoi de courriels dépendra de vos besoins spécifiques, de votre niveau de confort avec la configuration et de la complexité de votre infrastructure de messagerie. Pour des tâches simples d'envoi de courriels depuis la ligne de commande ou depuis des scripts, **ssmtp** ou **msmtp** sont souvent des choix pratiques. Pour des besoins plus avancés, **Postfix** ou **Exim** peuvent être mieux adaptés. Le choix du programme d'envoi de courriels dépendra de vos besoins spécifiques, de votre niveau de confort avec la configuration et de la complexité de votre infrastructure de messagerie. Pour des tâches simples d'envoi de courriels depuis la ligne de commande ou depuis des scripts, **ssmtp** ou **msmtp** sont souvent des choix pratiques. Pour des besoins plus avancés, **Postfix** ou **Exim** peuvent être mieux adaptés.
  
-===== Installer Postfix ===== +===== Installer Postfix =====
-Sous Linux, le service chargé de la gestion de la distribution des courriels est connu sous le nom de **Postfix**. Il est considéré comme le successeur du programme **sendmail**.+
  
-  sudo apt install postfix+Pour installer Postfix sur Debian, vous devez utiliser le gestionnaire de paquets APT (Advanced Package Tool). Voici comment vous pouvez procéder : 
 + 
 +<code bash> 
 +sudo apt update 
 +sudo apt install postfix 
 +</code> 
 + 
 +La première commande ''apt update'' met à jour la liste des paquets disponibles dans les dépôts Debian, et la deuxième commande "apt install" installe Postfix ainsi que ces dépendances.
  
 {{:informatique:linux:pasted:20210116-054542.png}} {{:informatique:linux:pasted:20210116-054542.png}}
Ligne 72: Ligne 78:
   sudo dpkg-reconfigure postfix   sudo dpkg-reconfigure postfix
      
---+Pour supprimer **Sendmail**, vous pouvez utiliser la commande suivante : 
 +<code bash> 
 +sudo apt-get remove sendmail 
 +</code> 
 + 
 +Cette commande supprime le programme **Sendmail** de votre système Debian. 
 + 
 +Après avoir installé **Postfix**, vous devrez configurer ces logiciels pour les adapter à vos besoins spécifiques. 
 + 
 +===== Configurer Postfix ===== 
 + 
 +Les fichiers de configuration de postfix sont stockés dans /etc/postfix. Les deux principaux fichiers de configuration de postfix sont master.cf et main.cf, bien que nous ne traiterons que de main.cf ici. Tout d'abord, nous allons ajouter ou modifier certaines lignes dans le fichier de configuration main.cf. Les lignes suivantes doivent être ajoutées, modifiées ou décommentées : 
 + 
 +<code> 
 +myhostname = mail.example.com 
 +mydomain = example.com 
 +myorigin = $mydomain 
 +inet_interfaces = all 
 +mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
 +mynetworks = 192.168.0.0/24, 127.0.0.0/
 +relay_domains = 
 +home_mailbox = Maildir/ 
 +</code> 
 +===== - Tests ===== 
  
 Faire un essai d'envoi de mail Faire un essai d'envoi de mail
Ligne 249: Ligne 279:
  
  
-===== Mise à jour du certificat =====+===== Gestion des certificats =====
  
-On part du principe que : +Pour configurer **Postfix** et **Certbot** pour utiliser les certificats SSL/TLS de "smtp.monserveur.fr" avec **Let's Encrypt**, suivez ces étapes générales. Assurez-vous d'avoir les droits nécessaires sur le serveur et que vous êtes à l'aise avec l'édition de fichiers de configuration en ligne de commande.
-  le nom de domaine d'envoi des mails est ''smtp.monserveur.fr'' +
-  * le certificat de votre nom de domaine est géré par **Let's Encrypt** et est opérationnel +
-  * le renouvellement automatique opéré par **Certbot** utilise le protocole **ACME** et est opérationnel.+
  
-L'objectif est de copier le **certificat** et la **clé** du domaine pour **postfix** de manière automatique et régulière.+==== Configurer Postfix pour utiliser SSL/TLS ====
  
-1. Se connecter sur le serveur avec le compte ''root''+1. **Accédez à la configuration de Postfix**: 
 +   * Connectez-vous à votre serveur en tant que sudouser. 
 +   * Ouvrez le fichier de configuration principal de Postfix avec un éditeur de texte, tel que ''nano'' ou ''vim''. Le fichier est généralement situé à ''/etc/postfix/main.cf''.
  
-2. Créer le fichier ''/root/scripts/update_smtpd_certificat.sh''+2. **Définissez les chemins des certificats**: 
 +   * Localisez ou ajoutez les lignes suivantes dans ''main.cf'' pour spécifier l'emplacement des fichiers de certificat et de clé privée (remplacez les chemins par les vôtres si nécessaire) : 
 +<code> 
 +smtpd_tls_cert_file = /etc/letsencrypt/live/smtp.monserveur.fr/fullchain.pem 
 +smtpd_tls_key_file = /etc/letsencrypt/live/smtp.monserveur.fr/privkey.pem 
 +</code> 
 +   * Activez l'utilisation de TLS en ajoutant ou en s'assurant que la ligne suivante est présente : 
 +<code> 
 +smtpd_use_tls = yes 
 +</code>
  
-  nano /root/scripts/update_smtpd_certificat.sh+3. **Redémarrez Postfix**: 
 +   * Sauvegardez vos modifications et fermez le fichier. 
 +   * Exécutez la commande ''sudo systemctl restart postfix'' pour appliquer les modifications.
  
-avec le contenu suivant+==== Configurer Dovecot pour SSL/TLS ====
  
-<code BASH update_smtpd_certificat.sh> +Si vous utilisez Dovecot comme serveur IMAP/POP3 : 
-#!/bin/bash + 
-# mettre à jour le certificat pour smtpd +1. Les fichiers de configuration de **Dovecot** se trouvent généralement dans ''/etc/dovecot/''. Le fichier principal de configuration est souvent nommé ''dovecot.conf'', et il peut inclure d'autres fichiers de configuration situés dans ''/etc/dovecot/conf.d/''. 
-cp /etc/letsencrypt/live/smtp.monserveur.fr/cert.pem /etc/postfix/smtpd.cert + 
-cp /etc/letsencrypt/live/smtp.monserveur.fr/privkey.pem /etc/postfix/smtpd.key+2. Dans les fichiers de configuration de **Dovecot**, vous devrez trouver et modifier les lignes qui définissent le chemin du certificat SSL et de la clé privée. Recherchez quelque chose comme ceci : 
 + 
 +<code> 
 +ssl_cert = </etc/letsencrypt/live/smtp.serveur.fr/fullchain.pem 
 +ssl_key = </etc/letsencrypt/live/smtp.serveur.fr/privkey.pem
 </code> </code>
  
-Attention, il se peut que le fichier ''/etc/postfix/smtpd.cert'' soit un alias vers ''/usr/local/ispconfig/interface/ssl/ispserver.crt'' dans le cadre de l'utilisation d'**ISP Config**+Pensez à désactiver la configuration présente dans ''/etc/dovecot/conf.d/10-ssl.conf''.
  
-Le script écrasera systématiquement les fichiers cibles dans le dossier ''/etc/postfix''+3. **Redémarrez Dovecot** avec ''sudo systemctl restart dovecot''.
  
-3Rendre exécutable le script+4Après le redémarrage, assurez-vous que tout fonctionne comme prévu. Vous pouvez vérifier que **Dovecot** écoute avec le nouveau certificat en vous connectant avec un client de messagerie ou en utilisant OpenSSL :
  
-  chown +x /root/scripts/update_smtpd_certificat.sh+<code> 
 +openssl s_client -connect smtp.serveur.fr:993 
 +</code> 
 +==== Configurer Let's Encrypt pour le renouvellement automatique ====
  
-4Programmer le script avec ''crontab''+1**Certbot** gère généralement les renouvellements automatiquement. Cependant, vous pouvez personnaliser ou ajouter des scripts de renouvellement dans le dossier de hooks de renouvellement.
  
-{{  :informatique:pasted:20220720-234923.png}}+2. **Scripts de renewal-hooks**:
  
-  crontab -e+  * Placez les scripts personnalisés dans ''/etc/letsencrypt/renewal-hooks/''. Vous pouvez avoir des scripts ''pre'', ''deploy'', et ''post'' pour s'exécuter avant, pendant, et après le renouvellement. 
 +  * Un script typique dans ''post'' pourrait redémarrer Postfix et Dovecot pour appliquer les nouveaux certificats. 
 + 
 +Voir les pages :  
 +  * [[informatique:serveur:postfix:Créer un script de hook Let's Encrypt pour Postfix]] 
 +  * [[informatique:serveur:dovecot:Créer un script de hook Let's Encrypt pour Dovecot]] 
 + 
 +Si vous avez deux scripts distincts, ''reload-dovecot.sh'' et ''reload-postfix.sh,'' et vous souhaitez exécuter les deux après le renouvellement de certificat **Let's Encrypt** par **Certbot**, vous pouvez configurer les hooks dans le fichier de configuration de renouvellement de **Certbot** ou les placer dans les répertoires de hook appropriés. 
 + 
 +Vous devriez ajouter des lignes pour post_hook dans la section ''[renewalparams]''. Votre fichier pourrait ressembler à ceci :
  
 <code> <code>
-0 0 * * * /root/scripts/update_smtpd_certificat.sh 2>&1+[renewalparams] 
 +post_hook = /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh && /etc/letsencrypt/renewal-hooks/post/reload-postfix.sh
 </code> </code>
  
-<WRAP clear/>+3. **Tester le renouvellement**: 
 +   * Exécutez ''sudo certbot renew --dry-run'' pour tester le processus de renouvellement et s'assurer que tout fonctionne comme prévu. 
 + 
 +==== Vérification et maintenance ==== 
 + 
 +  * **Vérifiez les logs** de **Postfix** et **Dovecot** pour les erreurs liées aux certificats SSL/TLS. 
 +  * Assurez-vous que les certificats se renouvellent correctement en vérifiant les dates d'expiration et en observant le comportement du système lors des renouvellements planifiés.
  
 +==== Remarques ====
  
-5Vérifier le certificat+  * Faites toujours une copie de sauvegarde des fichiers de configuration avant de les modifier. 
 +  * Les chemins exacts et les commandes peuvent varier légèrement en fonction de votre distribution Linux et de la version de vos logiciels. 
 +  * Assurez-vous que les ports nécessaires sont ouverts sur votre pare-feu pour permettre les connexions TLS/SSL.
  
-  openssl x509 -text -in /etc/postfix/smtpd.cert+En suivant ces étapes, vous devriez être capable de configurer **Postfix** et **Dovecot** pour utiliser les certificats SSL/TLS avec **Let's Encrypt**, améliorant ainsi la sécurité de votre serveur de messagerie. Assurez-vous de tester votre configuration pour vérifier que tout fonctionne correctement avant de la mettre en production.
  
  
Ligne 302: Ligne 368:
  
   * https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/   * https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/
 +  * https://wiki.centos.org/HowTos(2f)postfix.html
  • informatique/serveur/postfix.1701004986.txt.gz
  • Dernière modification : 2023/11/26 14:23
  • de Cédric ABONNEL