Projet

Général

Profil

Tâche #22337

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

Étude du problème

Ajouté par Joël Cuissinat il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

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

100%

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

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 6 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Joël Cuissinat il y a plus de 6 ans

  • % réalisé changé de 0 à 80
  • Restant à faire (heures) changé de 6.0 à 2.0

En bout de chaîne, le router local_user constate que l'utilisateur est connu par le système et essaie de copier le message dans son homedir :

exim4 -bt -d +router+transport -f test.prof@ac-test.fr eleve112@ac-test.fr

   [ ... ]

--------> local_user router <--------
local_part=eleve112 domain=ac-test.fr
checking domains
cached yes match for +local_domains
cached lookup data = NULL
ac-test.fr in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "eleve112": cache not available
getpwnam() succeeded uid=10066 gid=10002
R: local_user for eleve112@ac-test.fr
calling local_user router
local_user router called for eleve112@ac-test.fr
  domain = ac-test.fr
set transport maildir_spool
queued for maildir_spool transport: local_part = eleve112
domain = ac-test.fr
  errors_to=NULL
  domain_data=NULL localpart_data=NULL
routed by local_user router
  envelope to: eleve112@ac-test.fr
  transport: maildir_spool
eleve112@ac-test.fr
  router = local_user, transport = maildir_spool
search_tidyup called
unbind LDAP connection to 127.0.0.1:389

Si c'est possible, on pourrait autoriser le routage uniquement pour les uidNumber < 10000 ?

#3 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 
    

#4 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)

#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 80 à 100
  • Restant à faire (heures) changé de 2.0 à 0.0

#7 Mis à jour par Joël Cuissinat il y a plus de 6 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF