Page suivante - Page précédente - Table des matières

8. Gérer le courrier distant

Cette section décrit l'utilisation de POP et d'IMAP pour gérer le courrier distant.

Parmi les alternatives, on trouve le montage via NFS des zones de stockage du courrier sur les machines clientes (Danger Will Robinson ! Est-ce que tout le monde utilise la même méthode de verrouillage ?) ou bien l'utilisation d'une passerelle courrier-vers-web (une solution assez populaire de nos jours).

8.1 Un peu d'histoire

Sur les réseaux de stations de travail, le courrier a toujours été un problème :

  • Soit vous utilisez utilisateur@ordinateur.lambda.fr et, vous avez des problèmes quand ordinateur est hors service ; vous faîtes connaître les machines qui composent votre réseau à des personnes extérieures ; vous utilisez une adresse différente par ordinateur pour un même utilisateur ; et cætera.
  • Soit vous utilisez une poste centrale (mail hub) machine.lambda.fr avec des règles de réécriture pour que l'on ait l'impression que tous utilisateurs envoient leur courrier depuis la même adresse quelque-soit l'ordinateur qu'ils utilisent.

Mais dans ce cas, comment les utilisateurs peuvent-ils lire leur courrier ?

En utilisant rsh avec elm ? :-)

Cela surchargerait notre centre de tri ! Une méthode serait de rediriger le courrier ou d'utiliser UUCP, SMTP, etc. mais c'est bien trop complexe.

Vinrent ensuite POP et IMAP, tout deux avec des problèmes de sécurité au début (qui sont maintenant réglés par l'utilisation ssh sur les dernières versions). Pour les utiliser, un agent de transport de courrier doit parfois être installé sur la machine de l'utilisateur (du style qmail, smail ou vmail si par exemple vous utilisez elm, l'utilisation de mozilla vous évitera cela), cependant cela simplifiera l'envoi et la réception de courrier.

8.2 Récupérer le courrier

Voici le principaux inconvénients de POP :

  • Le mot de passe est envoyé en clair sur le réseau.
  • Vous devez choisir l'un des nombreux lecteur de courrier qui gèrent POP (comme Pine, Emacs, Mozilla, Netscape, Mutt, IE, Pegasus, Eudora, Claris, etc.).
  • Lorsqu'un utilisateur peut travailler sur de multiples machines, le fait que son courrier soit stocké sur la machine qu'il a utilisé la veille peut être une plaie.
  • Certains serveurs POP (comme qpopper ou ipop2d) sur des serveur très utilisé, peuvent freiner significativement la machine. Considérez les options de contrôle (comme ne pas laisser le courrier sur le serveur) et le remplacement de votre serveur pop (par cucipop par exemple). Évitez également de lancer votre serveur via inetd.

Le problème du mot de passe peut être résolu en utilisant POP au travers d'un canal chiffré ou en utilisant les extensions APOP ou RPOP. Le problème du lecteur de courrier peut être résolu soit en changeant de lecteur (ne sous-estimez pas l'effort qu'il faut déployer pour rééduquer les utilisateurs), soit en utilisant un programme qui rapatrie le courrier via POP (comme par exemple fetchmail) associé à un agent de distribution local.

IMAP peut être préférable à POP dans diverses situations comme par exemple si vous permettez les accès distants (et spécialement pour des utilisateurs se connectant de machines différentes). Vous pouvez également utiliser POP en restreignant son accès à un réseau local sur lequel le vol des mots de passe transitant par le réseau n'est pas à craindre. Mark Aitchison nous a signalé qu'une façon de faire cela était d'utiliser les fichiers hosts.deny et hosts.allow et de lancer votre serveur POP à partir d'inetd (reportez-vous pour de plus amples détails au « Net-3 HOWTO »).

Le choix de laisser (ou non) le courrier sur le serveur a des conséquences en termes d'espace disque, de facilité de mise en oeuvre des sauvegardes et de la sécurité, ainsi que sur la possibilité pour un utilisateur donné de se connecter depuis plusieurs machines distinctes. Ainsi la meilleure solution dépend de votre type d'organisation. Bien sûr, cela ne vous garantira pas que votre courrier ne puisse pas être lu, mais personne ne pourra l'effacer ; et si votre courrier est chiffré avec PGP, cela en fait une très bonne solution.

Voici quelques clients POP qui en valent la peine :

  • gwpop (a Good Way to POP) est très sécurisé car il crée un canal chiffré et place le courrier directement dans l'espace de stockage ; cependant, il nécessite l'installation de Perl.
  • popclient est facile à utiliser. Par exemple, si votre identifiant est jean et votre mot de passe est AssezSecret, vous lancerez
    $ popclient -3 -v mail.acme.net -u jean -p "AssezSecret" -k -o JOHN-INET-MAIL
    
    Ceci est fortement déconseillé sur les machines multi-utilisateurs. En effet, les autres utilisateurs pourraient voir votre mot de passe en lançant par exemple ps auxw.
  • fetchmail, qui est activement supporté et incroyablement facile à utiliser. On le configure grâce au fichier ~.fetchmailrc. Ainsi, vous n'aurez qu'à lancer fetchmail quand vous voudrez rapatrier votre courrier. Voici mon .fetchmailrc :
    poll mail.server protocol pop3:
     forcecr
     password AssezSecret;
    
    L'option forcecr est requise pour utiliser fetchmail avec qmail qui respecte strictement les RFC.

8.3 Envoyer du courrier

Pour cela, vous devrez utiliser un programme gérant SMTP comme par exemple qmail, smail, vmail ou mozilla (ce dernier fait tout : lecture du courrier, rapatriement du courrier via POP et envoie du courrier via SMTP).

Reportez-vous à l'une des sections précédentes pour installer et configurer celui que vous préférez. Ensuite, quand vous atteindrez la section Tester, essayer d'envoyer un courrier électronique sur un compte local de votre passerelle de courrier.

8.4 Lire le courrier

Si votre programme ne fait pas tout lui-même, vous pouvez installer elm, pgp, mush, pine, etc. Beaucoup de bons programmes sont disponibles librement et gratuitement pour les plate-formes Linux.

8.5 Tester

Pour vérifier si votre serveur POP est bien installé tapez

$ telnet machine 110

Si cela marche, vous obtiendrez quelque chose du genre « OK Pop server (...) starting ». Tapez « quit » !

Pour installer un canal ssh chiffré, testez d'abord votre serveur de courrier en tapant

$ ssh machine date

Si vous obtenez la date, cela devrait être bon. Remarquez que ssh ne vous demandera pas de mot de passe, en conséquence, vous devrez créer un fichier .shosts sur le serveur de courrier, contenant le nom du client. Pour tester la redirection de port ssh (que wgpop utilise), tapez

$ ssh -n -f -L 12314:localhost:110 machine sleep 30
puis
$ telnet localhost 12314

Alors vous aurez bon espoir de voir la bannière de la poste centrale POP. Si vous n'utilisez pas ssh, n'oubliez pas de commenter $ssh dans le script gwpop. Pour vérifier si procmail tourne essayez procmail~-v.

8.6 Utilisation

Maintenant vous pouvez éditer le script Perl gwpop pour vérifier que tout va bien, puis lancez gwpop :

$ gwpop -v votre-nom-d'utilisateur
POP password on mailhost: votre-mot-de-passe-secret

Si les « messages d'erreurs » de gwpop vous parraissent normaux, le courrier sera téléchargé depuis votre poste principal et placé sur votre machine locale à l'endroit que vous aurez indiqué à gwpop (faîtes des tests avec quelques courriers électroniques).

Vous pouvez aussi utiliser gwpop en tant que démon :

$ gwpop -d $HOME/tmp votre-nom-d'utilisateur

Les messages de gwpop seront envoyés à syslog et gwpop tournera indéfiniment en tâche de fond ; un signal HUP forcera gwpop à aller chercher votre courrier.

Vous pouvez télécharger les logiciels pop utilisés ici sur :


Page suivante - Page précédente - Table des matières