Projet

Général

Profil

Tâche #22384

Scénario #22140: Exim devrait remonter une erreur lorsque l'on écrit à un utilisateur local avec le mauvais domaine

Exim ne doit pas tenter de distribuer les mails aux utilisateurs LDAP pour les domaines non valides

Ajouté par Daniel Dehennin il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
08/12/2017
Echéance:
% réalisé:

100%

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

Description

Lorsque qu’un utilisateur ne dispose que d’une adresse de messagerie restreinte, nous ne devons pas autoriser les envois sur l’adresse publique pour le même nom d’utilisateur.

Actuellement, le routeur local_user qui arrive en dernier trouve l’utilisateur dans la base nsswitch et tente de délivrer le courier dans son répertoire personnel.

Révisions associées

Révision d5b53a8d (diff)
Ajouté par Daniel Dehennin il y a plus de 6 ans

Routing: we never deliver to local system user

  • exim4/eole.d/router/local.conf: remove “local_user” router.

Ref: #22384

Révision 1088ebac (diff)
Ajouté par Daniel Dehennin il y a plus de 6 ans

Verify recipient even for relayed connections

  • exim4/eole.d/acl.conf (acl_check_rcpt): do not bypass relayed host
    if recipient is in one of the local domains.

Ref: #22384

Historique

#1 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Temps estimé changé de 6.00 h à 2.00 h

#2 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Daniel Dehennin

#3 Mis à jour par Daniel Dehennin il y a plus de 6 ans

Dans roundcube ça donne le message :

Erreur SMTP (550) : échec lors de l'ajout du destinataire « prenom.eleve112@etb1.ac-test.fr » (Administrative prohibition)

#4 Mis à jour par Daniel Dehennin il y a plus de 6 ans

Validation de la demande

Exécuter un test en ligne de commande.

  • Désactiver temporairement l’obligation du TLS pour l’authentification:
    root@scribe:~# sed -i -E 's,(.*server_advertise_condition.*),#\1,' /etc/exim4/eole.d/auth.conf
    
  • Démarrer une session de test en ligne de commande:
    root@sribe:~# exim4 -d+route -bh 10.1.2.10
    [...]
    smtp_setup_msg entered
    
  • Identifier le client en saisissant ehlo client1.etb1.lan, vous devez obtenir la réponse :
    [...]
    250-AUTH LOGIN
    [...]
    
  • Démarrer une session d’authentification en saisissant AUTH LOGIN,
    SMTP<< AUTH LOGIN
    SMTP>> 334 VXNlcm5hbWU6
    334 VXNlcm5hbWU6
    
  • Identifiez vous en tant que test.prof en saisissant dGVzdC5wcm9m, vous devez obtenir la réponse :
    SMTP<< dGVzdC5wcm9m
    SMTP>> 334 UGFzc3dvcmQ6
    334 UGFzc3dvcmQ6
    
  • Envoyer le mot de passe de test.prof en saisissant ZW9sZQ==, vous devez obtenir la réponse :
    SMTP<< ZW9sZQ==
    login authenticator server_condition:
      $auth1 = test.prof
      $auth2 = eole
      $1 = test.prof
      $2 = eole
    Running PAM authentication for user "test.prof" 
    PAM success
    expanded string: 1
    SMTP>> 235 Authentication succeeded
    235 Authentication succeeded
    
  • Définissez l’expéditeur en saisissant mail from: test.prof@etb1.ac-test.fr, vous devez obtenir la réponse :
    SMTP<< mail from: test.prof@etb1.ac-test.fr
    SMTP>> 250 OK
    250 OK
    
  • Définissez un mauvais destinataire en saisissant rcpt to: prenom.eleve112@etb1.ac-test.fr, vous devez obtenir la réponse :
    SMTP<< rcpt to: prenom.eleve112@etb1.ac-test.fr
    using ACL "acl_check_rcpt" 
    processing "accept" 
    [...]
    end of ACL "acl_check_rcpt": DENY
    SMTP>> 550 Administrative prohibition
    550 Administrative prohibition
    LOG: MAIN REJECT
      H=(client1.etb1.lan) [10.1.2.10] F=<test.prof@etb1.ac-test.fr> A=login:test.prof rejected RCPT prenom.eleve112@etb1.ac-test.fr
    
  • Définissez un bon destinataire en saisissant rcpt to: prenom.eleve112@i-etb1.ac-test.fr, vous devez obtenir la réponse :
    SMTP<< rcpt to: prenom.eleve112@etb1.ac-test.fr
    using ACL "acl_check_rcpt" 
    processing "accept" 
    [...]
    end of ACL "acl_check_rcpt": ACCEPT
    SMTP>> 250 Accepted
    250 Accepted
    DSN: orcpt: NULL  flags: 0
    
  • Quitter la session de test en saisissant QUIT, vous devez obtenir la réponse :
    SMTP<< QUIT
    SMTP>> 221 scribe.etb1.lan closing connection
    221 scribe.etb1.lan closing connection
    LOG: smtp_connection MAIN
      SMTP connection from (client1.etb1.lan) [10.1.2.10] closed by QUIT
    search_tidyup called
    unbind LDAP connection to 127.0.0.1:389
    >>>>>>>>>>>>>>>> Exim pid=2996 terminating with rc=0 >>>>>>>>>>>>>>>>
    
  • Restaurer l’obligation du TLS pour l’authentification:
    root@scribe:~# sed -i -E 's,#(.*server_advertise_condition.*),\1,' /etc/exim4/eole.d/auth.conf 
    

#5 Mis à jour par Scrum Master il y a plus de 6 ans

  • Statut changé de En cours à Résolu

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

  • % réalisé changé de 0 à 100
  • Restant à faire (heures) changé de 6.0 à 0.25

#7 Mis à jour par Emmanuel GARETTE il y a plus de 6 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.25 à 0.0

Mail rejeté :

2017-12-19T15:51:49.711508+01:00 scribe.ac-test.fr exim[7744]: 2017-12-19 15:51:49 H=scribe.ac-test.fr [192.168.0.26] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no F=<admin@ac-test.fr> A=login:admin rejected RCPT <c31e1@ac-test.fr>

Mail accepté :

2017-12-19T15:51:14.994277+01:00 scribe.ac-test.fr exim[7707]: 2017-12-19 15:51:14 1eRJEg-00020G-SA => /home/mail/c31e1/ <c31e1@i-ac-test.fr> R=ldap_route T=directory_ldap

Formats disponibles : Atom PDF