Un service de mail englobe plusieurs services et ressources et il faut parfois en limiter l’accès. Nous mettons donc en place de l’authentification, c’est-à-dire qu’un utilisateur doit prouver son identité (à l’aide d’un login et d’un mot de passe) pour avoir le droit d’effectuer certaines opérations. De plus, ces services doivent aussi contrôler les données qui passent à travers eux (des mails), et parfois ces données sont liées à l’existence d’utilisateurs autorisés a priori. Par exemple, quand le MTA reçoit un mail destiné à trucbidule@picasoft.net, il doit vérifier que trucbidule est bien un utilisateur possédant une boîte mail. Cependant, cette vérification se fait sans que trucbidule aie besoin de se connecter à un service quelconque.
Nous utilisons un serveur LDAP qui centralise:
Ces informations peuvent être une photo, l’appartenance à un groupe, un mot de passe, etc. Nous utilisons beaucoup LDAP pour vérifier:
On peut voir que les vérifications dans le LDAP ont des finalités différentes. On peut en différencier deux types de connexion à un serveur LDAP:
Noter que le SASL est un protocole standard qui est supporté pas seulement par LDAP mais aussi par PAM (framework UNIX), IMAP et bien d’autres services permettant de protéger l’accès à une ressource.
Voici, à ce jour, les connexions LDAP qui sont effectuées par les différents composants du système de mail. Vous pouvez cliquer sur les liens pour voir l’implémentation technique.
Type | Effectuée par | But |
---|---|---|
SASL | saslauthd pour postfix | Protéger l'émission de courriels en @picasoft.net |
Bind | ldap-virtual-mailbox-maps pour postfix | Vérifier que des adresses mail existent |
SASL et Bind | dovecot | Réserver à un utilisateur l’accès à sa boîte mail |
Bind | dovecot | Contrôler l’existence de boîtes mails |
On pourrait éventuellement rajouter un bind permettant aux bons utilisateurs d’émettre des mails avec leurs adresses.