serveurs:installation: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
serveurs:installation:postfix [2022/11/07 10:44] – [Définir un "sender" par défaut] jpmilcentserveurs:installation:postfix [2024/02/20 14:53] (Version actuelle) – [Installer Postfix] jpmilcent
Ligne 22: Ligne 22:
  
 ===== Installer Postfix ===== ===== Installer Postfix =====
- +  * Reprise de l'installation de Postfix, la modification majeure est la réécriture du Sender, ce changement permet d envoyer un mail sans la réécriture -r dans la commande d'envoie. 
-  * Installer les paquets nécessaires ''aptitude install libsasl2-modules postfix bsd-mailx '' +  *  Installation de Postfix <code bash> 
-    * Réponses à fournir dans l'interface d'installation de //Postfix// : +apt install libsasl2-modules postfix bsd-mailx 
-      * Type : //site-internet// +</code> 
-      FQDN : //web-srv.<domaine-sinp>// ou //db-srv.<domaine-sinp>// ou //bkp-srv.<domaine-sinp>// +    * Choisir : ''site internet'' 
-    * Par la suite, il est possible de modifier la valeur FQDN en éditant le fichier de conf de //Postfix// : ''vi /etc/postfix/main.cf'' +    Indique le domaine du serveur comme nom de courrierEx. : ''silene.eu'' 
-      Modifier la propriété //myhostname// si elle n'est pas correcte '' myhostname = web-srv.<domaine-sinp'' ou '' myhostname = db-srv.<domaine-sinp> '' ou '' myhostname = bkp-srv.<domaine-sinp> '' +  Ajout des informations du mail permettant l'envoie du message. Dans notre cas l'adresse mail est hébergée sur OVH : <code bash
-      * Modifier aussi la valeur présente dans le fichier : ''vi /etc/mailname'' +vi /etc/postfix/sasl/sasl_passwd 
-      * Redémarrer Postfix : ''systemctl restart postfix'' +</code> 
-  * Se connecter au compte //Gmail// et suivre le lien : https://myaccount.google.com/security +    * Ajouter le contenu (remplacer ''<mot-de-passe>'' par le mot de passe du compte email mailer@<domaine-sinp> d'**OVH** et <domaine-sinp> par le domaine du SINP, ex. //silene.eu//): <code bash
-    * Activer la validation en 2 étapes +[ssl0.ovh.net]:587 mailer@<domaine-sinp>:<mot-de-passe> 
-    * Générer 3 codes de sécurité pour les Postfix de l'instance Web et DB en suivant ce lien : https://security.google.com/settings/security/apppasswords +</code> 
-      * Sélectionner : ''Autre (personnalisé)'' +  * Créer le fichier de base de données //sasl_passwd.db// qui contiendra le mot de passe & vérifier qu'elle est bien présente <code bash> 
-      * Saisir : ''Postfix (web-<region>-sinp)''le second ''Postfix (db-<region>-sinp)'' et le troisième ''Postfix (bkp-<region>-sinp)'' +postmap /etc/postfix/sasl/sasl_passwd 
-      * Copier/coller le mot de passe généré +ll /etc/postfix/sasl/ 
-  * Ouvrir ou créer le fichier ''vi /etc/postfix/sasl/sasl_passwd'' et y ajouter le contenu suivant : +</code> 
-    * En test : <code>[smtp-relay.gmail.com]:587 <email-gmail>:<mot-de-passe-du-compte-email-gmail></code+    * Puis leurs attribuer les droits nécessaire : <code bash> 
-    * En prod : <code>[ssl0.ovh.net]:587 <email-ovh>:<mot-de-passe-du-compte-email-ovh></code> +chown root:root /etc/postfix/sasl/sasl_passwd* 
-  * Créer le fichier de base de données qui contiendra les mots de passe : '' postmap /etc/postfix/sasl/sasl_passwd '' +chmod 0600 /etc/postfix/sasl/sasl_passwd* 
-    * Vérifier que le fichier //sasl_passwd.db// existe : ''ls -al /etc/postfix/sasl/'' +</code> 
-    * **ATTENTION** : Il est nécessaire de relancer la commande ''postmap'' si le fichier //sasl_passwd// change ! +  * Éditer le fichier de configuration de Postfix <code bash> 
-  * Limiter l'accès à //root// aux fichiers //sasl_passwd// et //sasl_passwd.db// :  +vi /etc/postfix/main.cf 
-    * '' chown root:root /etc/postfix/sasl/sasl_passwd* '' +</code> 
-    * '' chmod 0600 /etc/postfix/sasl/sasl_passwd* ''  +    * Remplacer le contenu suivant, ''<server-name>'' peut valoir ''web-paca-sinp'' par exemple : <code properties> 
-  * Configurer le serveur SMTP relai dans Posfix : +smtpd_banner = $myhostname ESMTP 
-    * Éditer le fichier et  '' vi /etc/postfix/main.cf '' et modifier la propriété suivante :  +relayhost = [ssl0.ovh.net]:587 
-      * En test : <code properties> relayhost = [smtp-relay.gmail.com]:587 </code> +myhostname = <server-name> 
-      En prod : <code properties> relayhost [ssl0.ovh.net]:587 </code> +mydestination = $myhostname, localhost.$mydomain, localhost 
-    * Ajouter les propriétés suivantes en fin de fichier : <code properties>+</code> 
 +    Commenter le contenu suivant : <code properties> 
 +smtp_tls_security_level=may 
 +smtpd_tls_security_level=may 
 +</code> 
 +    * Ajouter le contenu suivant : <code properties>
 # Enable SASL authentication # Enable SASL authentication
 smtp_sasl_auth_enable = yes smtp_sasl_auth_enable = yes
Ligne 61: Ligne 66:
 # Location of CA certificates # Location of CA certificates
 smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
 +# Add Header rewrite (solution 1 🗑️)
 +# smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
 +# Add Sender rewrite (solution 2)
 +sender_canonical_classes = envelope_sender, header_sender
 +sender_canonical_maps = regexp:/etc/postfix/sender_canonical_maps
 </code> </code>
-  * Redémarrer //Postfix// : '' systemctl restart postfix '' 
- 
 ===== Note concernant le service Systemd Postfix ===== ===== Note concernant le service Systemd Postfix =====
  
Ligne 72: Ligne 80:
 ===== Définir un "sender" par défaut ===== ===== Définir un "sender" par défaut =====
 Si l'on souhaite contrôler l'adresse email qui envoie les emails du serveur (le ''FROM:''), deux solutions : Si l'on souhaite contrôler l'adresse email qui envoie les emails du serveur (le ''FROM:''), deux solutions :
-  - réécrire l'entête des emails envoyés à l'aide du paramètre ''smtp_header_check'' et mettre en place un fichier de remplacement à l'aide du paramètre ''smtp_generic_maps''+  - réécrire l'entête des emails envoyés à l'aide du paramètre ''smtp_header_check'' et mettre en place un fichier de remplacement à l'aide du paramètre ''smtp_generic_maps''. Cette solution semble poser problème si l'on souhaite installer OpenDkim.
   - réecrire avec le from à l'aide de ''sender_canonical_maps''   - réecrire avec le from à l'aide de ''sender_canonical_maps''
    
-Pour la solution 1 (voir aussi : https://superuser.com/a/695191): +🗑️ Pour la **solution 1** (voir aussi : https://superuser.com/a/695191): 
-  * Installer le paquet supplémentaire suivant : '' aptitude install postfix-pcre '' +  * Installer le paquet supplémentaire suivant : <code bash> apt install postfix-pcre </code> 
-  * Ajouter le paramètre suivant au fichier ///etc/postfix/main.cf// : '' vi /etc/postfix/main.cf '' <code properties>+  * Vérifier la présence du paramètre suivant dans le fichier ///etc/postfix/main.cf// : ''  vi /etc/postfix/main.cf '' <code properties>
 # Add Header rewrite # Add Header rewrite
 smtp_header_checks = pcre:/etc/postfix/smtp_header_checks smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
Ligne 85: Ligne 93:
 </code> </code>
     * Exemple : <code>/^From:\s+.*/ REPLACE From: "Silene web" <mailer@silene.eu></code>     * Exemple : <code>/^From:\s+.*/ REPLACE From: "Silene web" <mailer@silene.eu></code>
-    * Redémarrer //Postfix// : '' systemctl restart postfix ''+  * Redémarrer //Postfix// : <code bash> systemctl restart postfix </code>
  
-Pour la solution 2, ''sender_canonical_maps'' :  +Pour la **solution 2**, ''sender_canonical_maps'' :  
   * Créer le fichier suivant : <code bash>   * Créer le fichier suivant : <code bash>
 vi /etc/postfix/sender_canonical_maps vi /etc/postfix/sender_canonical_maps
 </code> </code>
     * Ajouter le contenu :<code>     * Ajouter le contenu :<code>
-/.+/  mailer@cbn-alpin.fr+/.+/  mailer@<domaine-sinp>
 </code> </code>
-  * Éditer le fichier de conf de Postfix : ''vi /etc/postfix/main.cf''+  * Éditer le fichier de conf de Postfix : <code bash>vi /etc/postfix/main.cf</code>
     * Ajouter le contenu : <code>     * Ajouter le contenu : <code>
 # Add Sender rewrite # Add Sender rewrite
Ligne 100: Ligne 108:
 sender_canonical_maps = regexp:/etc/postfix/sender_canonical_maps sender_canonical_maps = regexp:/etc/postfix/sender_canonical_maps
 </code> </code>
-  * Redémarrer //Postfix// : '' systemctl restart postfix ''+  * Redémarrer //Postfix// : <code bash> systemctl restart postfix </code>
  
 ===== Tester l'envoie d'email ===== ===== Tester l'envoie d'email =====
-  * Commande d'envoi d'email : +  * Commande d'envoi d'email : <code bash>echo "THIS IS A TEST EMAIL sended at $(date "+%F %H:%M")" | mail -s "[${HOSTNAME}] Test email" adminsys@<domaine-sinp> </code
-    * En test : '' echo "THIS IS A TEST EMAIL sended at $(date "+%F %H:%M")" | mail -s "[${HOSTNAME}] Test email" -r "mailer@cbn-alpin.fr" adminsys@<domaine-sinp'' +  * Vérifier en parallèle les logs : <code bash>tail -f /var/log/syslog </code>
-    * En prod : '' echo "THIS IS A TEST EMAIL sended at $(date "+%F %H:%M")" | mail -s "[${HOSTNAME}] Test email" -r "mailer@<domaine-sinp>" adminsys@<domaine-sinp'' +
-  * Vérifier en parallèle les logs : '' tail -f /var/log/syslog ''+
  
  • serveurs/installation/postfix.1667817872.txt.gz
  • Dernière modification : 2022/11/07 10:44
  • de jpmilcent