Projet

Général

Profil

Tâche #14582

Scénario #17185: Traitement express- PNE-SR (39-41)

exim4: Pb lors de la remontées des message d'alerte, il n'est pas possible d'identifier le serveur qui a émis le message

Ajouté par christophe guerinot il y a plus de 8 ans. Mis à jour il y a plus de 7 ans.

Statut:
Ne sera pas résolu
Priorité:
Normal
Assigné à:
-
Début:
21/09/2015
Echéance:
% réalisé:

0%

Temps estimé:
3.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

template "/usr/share/eole/creole/distrib/exim-rewrite.conf"

####
#### All message To: root
####
        %if %%nom_domaine_local != %%domaine_messagerie_etab
#root@%%nom_domaine_local %%force_to %%to_flags
root@%%nom_domaine_local %%force_from %%to_flags
#root@%%domaine_messagerie_etab %%force_to %%to_flags
root@%%domaine_messagerie_etab %%force_from %%to_flags
        %else
#root@%%nom_domaine_local %%force_to %%to_flags
root@%%nom_domaine_local %%force_from %%to_flags
        %end if
    %end if

substituer la variable force_to par force_from, j'ai dupliquer l'ancienne ligne mise en commentaire

config.eol (2,34 ko) Thierry Bertrand, 22/02/2016 10:30


Demandes liées

Lié à Distribution EOLE - Demande #14729: Les courriels systèmes devraient avoir des entêtes bien formés. Pas un bug 22/01/2016
Lié à eole-exim - Tâche #15374: La réécriture de l’enveloppe sur les mails locaux ne fonctionne pas Fermé 08/03/2016

Historique

#1 Mis à jour par Emmanuel IHRY il y a plus de 8 ans

  • Tâche parente changé de #14487 à #14733

#2 Mis à jour par Daniel Dehennin il y a environ 8 ans

  • Description mis à jour (diff)

#3 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Fichier config.eol ajouté
  • Statut changé de Nouveau à En cours

Contexte :
pouvoir envoyer des messages en utilisant les variables creole system_mail_from & system_mail_from_for_headers

Avec la configuration issue du fichier config.eol joint, voici ce qu'indique le fichier /etc/exim4/eole.d/rewrite.conf :

######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################

begin rewrite

####
#### All message To: root
####
root@cete-ouest.i2 postmaster T

####
#### Force From: and To: envelope and Reply-To header
####
\N^([^@]+)@esbl-grr.*$\N "${if eq {$received_protocol}{local}{essai@cete-ouest.i2} fail}"  Ffrs
\N^([^@]+)@esbl-grr.*$\N "${if eq {$received_protocol}{local}{postmaster} fail}" T

En l'état la règle de réécriture ne fonctionne pas. Les messages sont envoyés en

En modifiant le fichier de la façon suivante :

root@cete-ouest.i2 essai@cete-ouest.i2 Ffrs

après relance d'exim, les mails arrivent bien en

Il semble donc que la règle de réécriture ne soit pas appliquée et que ce signalement corresponde en fait à celui-ci : https://dev-eole.ac-dijon.fr/issues/14729

#4 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Tâche parente changé de #14733 à #15002

#5 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Assigné à mis à Thierry Bertrand
  • Temps estimé mis à 3.00 h
  • Restant à faire (heures) mis à 3.0

#6 Mis à jour par Thierry Bertrand il y a environ 8 ans

on peut contourner le problème en utilisant les règles de réécriture étendue.

Dans notre cas, l'utilisation du pattern

root@cete-ouest.i2 essai@cete-ouest.i2 Ffrs

fait le boulot

#7 Mis à jour par Michel BALLY il y a environ 8 ans

un contournement possible sur la conf du serveur en mode expert dans la famille messagerie

la variable Activer les règles de réécriture étendue à passer à oui et rajouter dans schéma de réécriture :
root@domaine
serveur@domaine
Ffrs

#8 Mis à jour par Daniel Dehennin il y a environ 8 ans

Est-il possible d’avoir le résultat de la commande suivante:

for var in domaine_messagerie_etab \
    system_mail_from \
    system_mail_from_for_headers \
    system_mail_to \
    system_mail_to_for_headers \
    exim_relay_smtp
do
    echo "${var}=$(CreoleGet ${var})" 
done

#9 Mis à jour par Thierry Bertrand il y a environ 8 ans

domaine_messagerie_etab=cete-ouest.i2
system_mail_from=essai@cete-ouest.i2
system_mail_from_for_headers=oui
system_mail_to=postmaster
system_mail_to_for_headers=non
exim_relay_smtp=smtp.melanie2.i2

#10 Mis à jour par Daniel Dehennin il y a environ 8 ans

J’ai fait le test suivant depuis un amon, qui utilise le scribe du même établissement comme relais SMTP:

  1. Envoyer les mails à l’admin du scribe
    CreoleSet system_mail_to admin@etb1.ac-test.fr
    
  2. Désactiver la réécriture de l’entête From:
    CreoleSet system_mail_from_for_headers non
    
  3. Désactiver la réécriture de l’enveloppe MAIL FROM
    CreoleSet --default system_mail_from
    
  4. Reconfigure
  5. Envoyer un mail à root
    echo bidule | mail -s 'test mail' root
    

J’obtiens :

  • Dans les logs de l’Amon :
    2016-02-26T11:36:04.153473+01:00 amon.etb1.lan exim[17388]: 2016-02-26 11:36:04 1aZFki-0004WS-48 <= root@etb1.lan U=root P=local S=487
    2016-02-26T11:36:04.508417+01:00 amon.etb1.lan exim[17390]: 2016-02-26 11:36:04 1aZFki-0004WS-48 => admin@etb1.ac-test.fr R=satellite_route T=remote_smtp H=scribe.etb1.lan [10.1.3.5] X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128 C="250 OK id=1aZFki-0006aE-9o" 
    2016-02-26T11:36:04.508741+01:00 amon.etb1.lan exim[17390]: 2016-02-26 11:36:04 1aZFki-0004WS-48 Completed
    
  • Dans les logs du Scribe :
    2016-02-26T11:36:04.456657+01:00 scribe.etb1.lan exim[25310]: 2016-02-26 11:36:04 1aZFki-0006aE-9o Classified as ham (score -0.8)
    2016-02-26T11:36:04.485927+01:00 scribe.etb1.lan exim[25310]: 2016-02-26 11:36:04 1aZFki-0006aE-9o <= root@etb1.lan H=(amon.etb1.lan) [10.1.3.1] P=esmtps X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128 S=768 id=E1aZFki-0004WS-48@amon.etb1.lan
    2016-02-26T11:36:04.592573+01:00 scribe.etb1.lan exim[25312]: 2016-02-26 11:36:04 1aZFki-0006aE-9o => /home/mail/admin/ <admin@etb1.ac-test.fr> R=ldap_route T=directory_ldap
    2016-02-26T11:36:04.592955+01:00 scribe.etb1.lan exim[25312]: 2016-02-26 11:36:04 1aZFki-0006aE-9o Completed
    
  • Le source du message affiché par roundcube
    Return-path: <root@etb1.lan>
    Envelope-to: admin@etb1.ac-test.fr
    Delivery-date: Fri, 26 Feb 2016 11:27:18 +0100
    Received: from [10.1.3.1] (helo=amon.etb1.lan)
        by scribe.etb1.lan with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)
        (Exim 4.82)
        (envelope-from <root@etb1.lan>)
        id 1aZFcE-0006SN-BS
        for admin@etb1.ac-test.fr; Fri, 26 Feb 2016 11:27:18 +0100
    Received: from root by amon.etb1.lan with local (Exim 4.82)
        (envelope-from <root@etb1.lan>)
        id 1aZFcE-0004Oc-58
        for admin@etb1.ac-test.fr; Fri, 26 Feb 2016 11:27:18 +0100
    Date: Fri, 26 Feb 2016 11:27:18 +0100
    To: root@amon.etb1.ac-test.fr
    User-Agent: Heirloom mailx 12.5 6/20/10
    MIME-Version: 1.0
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit
    Message-Id: <E1aZFcE-0004Oc-58@amon.etb1.lan>
    From: root <root@amon.etb1.ac-test.fr>
    X-Spam-Status: No
    X-Spam-Score: -0.1
    
    bidule
    

Le champs From: du mail est bien de la forme <user> @ <nom_machine> . <domaine_messagerie_etab>.

Est-il possible d’avoir la valeur de la variable nom_domaine_local ?

#11 Mis à jour par Thierry Bertrand il y a environ 8 ans

root@esbl-grr:~# CreoleGet nom_domaine_local
cete-ouest.i2

#12 Mis à jour par Daniel Dehennin il y a environ 8 ans

Voici la situation:

Les adresses électroniques systèmes ont par défaut une des formes suivante :

  • user @ %%nom_domaine_local si l’expéditeur ne précise pas le nom de domaine, par exemple en exécutant la commande suivante:
    root@internet:~# echo "Test" | mail -s "Test mail from shell" -r root root
    
  • user @ %%nom_machine.%%domaine_messagerie_etab pour le maître si l’expéditeur utilise la configuration définie dans /etc/mailname
  • user @ %%conteneur.%%nom_machine.%%domaine_messagerie_etab pour les conteneurs si l’expéditeur utilise la configuration définie dans /etc/mailname

Si la valeur de %%nom_domaine_local est différente de la valeur de %%domaine_messagerie_etab, alors on force les formes suivantes, pour le maître et les conteneurs uniquement :

  • user @ %%nom_machine.%%domaine_messagerie_etab pour le maître
  • user @ %%conteneur.%%nom_machine.%%domaine_messagerie_etab pour les conteneurs

Dans le cas de cette demande, nous avons:

  • %%nom_domaine_local == %%domaine_messagerie_etab
  • les messages d’alertes sont envoyés avec des adresses sans domaine

le serveur SMTP va donc compléter les adresses avec @ %%nom_domaine_local.

La solution la plus simple est donc de définir:

  • %%nom_domaine_local au nom DNS utilisé sur le réseau
  • %%domaine_messagerie_etab au nom de domaine que vous souhaitez voir dans les mails.

#13 Mis à jour par Daniel Dehennin il y a environ 8 ans

Daniel Dehennin a écrit :

La solution la plus simple est donc de définir:

  • %%nom_domaine_local au nom DNS utilisé sur le réseau
  • %%domaine_messagerie_etab au nom de domaine que vous souhaitez voir dans les mails.

Faire attention en revanche s’il y a une gestion de boîte mail en local, dans quel cas cette solution ne s’applique pas.

#14 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Tâche parente changé de #15002 à #15299

#15 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Assigné à Thierry Bertrand supprimé
  • Tâche parente changé de #15299 à #15626

#16 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Statut changé de En cours à Nouveau

#17 Mis à jour par christophe guerinot il y a environ 8 ans

  • Assigné à mis à christophe guerinot

#18 Mis à jour par christophe guerinot il y a environ 8 ans

  • Statut changé de Nouveau à En cours

#19 Mis à jour par christophe guerinot il y a environ 8 ans

  • Statut changé de En cours à Nouveau

#20 Mis à jour par christophe guerinot il y a environ 8 ans

  • Assigné à christophe guerinot supprimé

#21 Mis à jour par Thierry Bertrand il y a environ 8 ans

  • Tâche parente changé de #15626 à #15871

#22 Mis à jour par Daniel Dehennin il y a environ 8 ans

Voir si #15374 n’a pas corrigé le problème, correctif à partir de 2.5.2.

#23 Mis à jour par Thierry Bertrand il y a presque 8 ans

  • Tâche parente changé de #15871 à #16085

#24 Mis à jour par Thierry Bertrand il y a presque 8 ans

  • Tâche parente changé de #16085 à #16199

#25 Mis à jour par Emmanuel IHRY il y a presque 8 ans

  • Tâche parente changé de #16199 à #16578

#26 Mis à jour par Thierry Bertrand il y a plus de 7 ans

  • Tâche parente changé de #16578 à #16726

#27 Mis à jour par Daniel Dehennin il y a plus de 7 ans

Une autre option, au lieu de différencier le %%nom_domaine_local et %%domaine_messagerie_etab serait de modifier le préfixe de qualification des adresses mail.

C’est à dire que lorsque quelqu’un envoi un mail sans spécifier le domaine de l’expéditeur avec un @<nom de domaine>, le serveur ajoute un nom de domaine automatiquement.

Par défaut il s’agit de %%nom_domaine_local, nous pourrions le forcer à @%%nom_machine.%%nom_domaine_local, ce qui fait que la règle de réécriture du From est bien prise en compte, même si cela devient inutile dans le cas d’identifier le serveur source puisque le nom de la machine fait partie de l’adresse mail de l’expéditeur.

Par contre si un expéditeur envoie manuellement avec un From utilisant le domaine @%nom_domaine_local, elle ne se sera pas réécrite.

#28 Mis à jour par Emmanuel IHRY il y a plus de 7 ans

  • Tâche parente changé de #16726 à #16958

#29 Mis à jour par Emmanuel IHRY il y a plus de 7 ans

  • Tâche parente changé de #16958 à #17185

#30 Mis à jour par Thierry Bertrand il y a plus de 7 ans

  • Statut changé de Nouveau à Ne sera pas résolu

#31 Mis à jour par Emmanuel IHRY il y a plus de 7 ans

  • Restant à faire (heures) changé de 3.0 à 0.0

Formats disponibles : Atom PDF