next up previous contents
suivant: La lutte anti-spam monter: Etude et comparaison de précédent: La lutte anti-spam   Table des matières

Configurer sendmail avec les macros m4

Voici comment configurer sendmail en utilisant les macros m4. Le principe est simple : on définit un certain nombre d'options dans un fichier, et on le passe au pré-processeur m4 qui affiche sur la sortie standard le contenu du fichier sendmail.cf qu'on cherche à générer.

La documentation de référence est le fichier README, contenu dans le répertoire de configuration de sendmail (/usr/lib/sendmail-cf/README sous RedHat, par exemple). La page d'accueil de Sendmail [13] fournit des informations complémentaires.

Nous allons utiliser le fichier tcpproto.mc fournit avec sendmail pour faire notre fichier host.mc :

VERSIONID(`@(#)tcpproto.mc      8.10 (Berkeley) 5/19/1998')
OSTYPE(linux)
DOMAIN(domaine)
FEATURE(nouucp)
MAILER(local)
MAILER(smtp)

Et voici le contenu du fichier domaine.m4 :

MASQUERADE_AS(domaine)
FEATURE(masquerade_envelope)
FEATURE(genericstable)

Détaillons ces options :

VERSIONID
Cette macro optionelle est utile pour enregistrer le numéro de la version du fichier source de configuration .mc. Ce numéro est affiché entre autres lors d'une connexion via telnet :

OSTYPE(linux)
ceci précise quel système d'exploitation est utilisé. En fait, c'est surtout le nom du fichier contenant les informationss sur le système d'exploitation qui est précisé (répertoires des fichiers de configuration, chemins et arguments des mailers, répertoires utilisés par sendmail pour stocker les messages...). Cette option est donc obligatoire et devrait apparaître en début de tout fichier de configuration. Ici, ce sera le fichier linux.mc, mais avec la Debian par exemple, ce fichier s'appelle debian.mc. Il faudra donc mettre ;

DOMAIN(domaine)
Indique le nom du fichier contenant des options spécifiques au domaine. Ce peut être interessant si on souhaite configurer le service de courrier électronique pour un grand nombre de machines dans notre réseau ;

MAILER(local)
par défaut, le mél est distribué en local. Par souci de clareté, il est sage de le spécifier. Ceci inclut à la fois l'agent de distribution local, utilisé pour envoyer des méls dans la boîte aux lettres des utilisateurs, et le programme utilisé pour envoyer les messages aux programmes locaux.

Comme la plupart des systèmes ont besoin d'avoir au moins la distribution de méls en local, ces deux variables seront positionnées dans la plupart des configurations.

MAILER(smtp)
Le moyen le plus utilisé pour transporter du mél sur Internet est SMTP. En incluant cet agent de transport, quatre mailers sont configurés : smtp (le SMTP basique), esmtp (Extended SMTP, qui permet entre autres d'utiliser les accents), smtp8 (SMTP sur 8 bits) et relay (prédestiné pour relayer des messages entre des hôtes) ;

MASQUERADE_AS(domaine)
Réécrit le nom du domaine dans le champ From en domaine, au lieu de machine.domaine.

Ce nom de domaine est donc le nom de domaine à montrer après le @ dans le champ From: des méls sortants : une personne recevant un mél verra From: login@domaine. Ce domaine devrait être le nom de domaine pleinement qualifié (machine.domaine) si ce domaine est effectivement enrégistré par un DNS, ou le nom de domaine du fournisseur d'accès. Dans le cas d'un intranet avec un nom de domaine ``bidon'' (car enrégistré par aucun DNS de l'Internet), il faut cacher ce nom car des utilisateurs vérifient les noms de domaines des méls qu'ils reçoivent, sous peine de les mettre directement à la poubelle.

Cette option est employée avec la caractéristique ;

FEATURE(masquerade_envelope)
Si on veut que l'enveloppe des méls (ainsi que les en-têtes) laissent croire qu'ils viennent d'un nom de domaine particulier, il faut préciser cette option ;

FEATURE(genericstable)
Permet d'utiliser la caractéristique genericstable, qui sert à réécrire les adresses méls des utilisateurs expédiant des couriers. La mise en oeuvre de cette caractéristique est détaillée dans la section suivante. Noter que les noms et chemins de la base de donnée peuvent être spécifiés comme suit : FEATURE(genericstable, `hash -o /etc/mabd') pour une base de données se trouvant dans le fichier /etc/mabd.db ;

On peut maintenant générer le fichier sendmail.cf. Pour cela, il faut chercher le fichier cf.m4 :

# locate cf.m4
/usr/share/sendmail/sendmail.cf/m4/cf.m4
#

puis compiler notre fichier à l'aide du pré-processeur m4 :

# m4 /usr/share/sendmail/sendmail.cf/m4/cf.m4 local.mc > sendmail.cf
#

Il ne reste alors plus qu'à copier ce fichier dans le répertoire /etc et de relancer sendmail pour tester :

# /etc/init.d/sendmail restart
Stopping mail transport agent: sendmail.
Starting mail transport agent: sendmail.
#



Sous-sections
next up previous contents
suivant: La lutte anti-spam monter: Etude et comparaison de précédent: La lutte anti-spam   Table des matières
Mathieu DECORE <mdecore@linux-france.org>