• Aucun résultat trouvé

Courrier électronique

11.3. Agent de transfert de courrier (ATC)

11.3.1. Sendmail

La tâche principale de Sendmail est de déplacer de façon sécurisée des messages électroniques entre des hôtes, utilisant généralement le protocole SMTP. Toutefois, Sendmail est hautement configurable, ce qui vous permet de contrôler presque tous les aspects du traitement des messages, y compris le protocole à utiliser. De nombreux administrateurs système choisissent d’utiliser Sendmail comme ATC en raison de sa puissance et de sa scalabilité.

11.3.1.1. Objectif et limites

Il est important de bien comprendre ce qu’est Sendmail et ce qu’il peut faire, de même que ce qu’il n’est pas. En cette période d’applications monolithiques jouant des rôles multiples, on pourrait pen-ser que Sendmail est la seule application nécessaire pour exécuter un pen-serveur de messagerie au sein d’une organisation. Techniquement parlant, ceci est vrai car Sendmail peut spouler du courrier sur vos répertoires utilisateur et accepter de nouveaux messages sortant pour les utilisateurs. Cependant, la plupart des utilisateurs désirent bien plus que le simple acheminement du courrier. Ils veulent en général interagir avec le courrier électronique à l’aide d’un AGC qui utilise POP ou IMAP pour télé-charger leurs messages sur leur ordinateur local. Ou alors, ils pourraient préférer une interface Web pour avoir accès à leur boîte à lettres. Ces autres applications fonctionnent de concert avec Sendmail et SMTP, mais existent en réalité pour différentes raisons et peuvent fonctionner indépendemment les unes des autres.

L’explication de tout ce que Sendmail devrait et pourrait faire en fonction de sa configuration va bien au-delà de la portée de cette section. Étant donné le nombre d’options différentes et de réglages possibles, des volumes entiers ont été écrits pour expliquer toutes les possibilités de Sendmail et les façons de régler d’éventuels problèmes. Reportez-vous à la Section 11.6 pour obtenir une liste des ressources dédiées à Sendmail.

Cette section passe en revue les fichiers installés avec Sendmail par défaut et examine certaines mo-dification de configuration élémentaires, y compris comment éviter de recevoir du pourriel (spam) et comment augmenter les capacités de Sendmail avec le protocole’Lightweight Directory Access Protocol’ (LDAP).

11.3.1.2. Installation de Sendmail par défaut

Le fichier exécutable de Sendmail est/usr/sbin/sendmail.

Le fichier de configuration de Sendmail, long et détaillé, est /etc/mail/sendmail.cf. Évitez d’éditer le fichier sendmail.cf directement. Pour apporter des modification à la configuration, éditez plutôt le fichier/etc/mail/sendmail.mc, sauvegardez le fichier original /etc/mail/sendmail.cfet utilisez ensuite le macroprocesseurm4qui est inclus pour créer un nouveau fichier/etc/mail/sendmail.cf. De plus ample informations sur la configuration de Sendmail sont disponibles dans la Section 11.3.1.3.

Divers fichiers de configuration Sendmail sont installés dans/etc/mail/, notamment:

access— Spécifie les systèmes qui peuvent utiliser Sendmail pour le courrier électronique sortant.

domaintable— Spécifie le mappage de noms de domaine.

local-host-names— Spécifie les alias de l’hôte.

mailertable— Spécifie des instructions qui écrasent le routage de domaines spécifiques.

virtusertable— Spécifie une forme de dénomination par alias spécifique au domaine, ce qui permet à des domaines virtuels multiples d’être hébergés sur un ordinateur.

Plusieurs fichiers de configuration placés dans/etc/mail/, tels queaccess,domaintable, mai-lertableetvirtusertable, doivent en fait stocker leurs informations dans des fichiers de base de

données avant que Sendmail puisse appliquer les modifications apportées à la configuration. Pour in-clure les changements apportés à ces fichiers de configuration dans leurs fichiers de base de données, vous devez exécutez la commande:

makemap hash /etc/mail/· nom¸¹· /etc/mail/· nom¸

º nom» doit être remplacé par le nom du fichier de configuration à convertir.

Par exemple, pour que tous les messages électroniques destinés au domaineexample.comsoit en-voyés à <bob@other-example.com>, ajoutez la ligne reproduite ci-dessous au fichier virtuser-table:

@example.com bob@other-example.com

Pour finaliser cette modification, le fichiervirtusertable.dbdoit être mis à jour à l’aide de la commande suivante, en étant connecté en tant que super-utilisateur:

makemap hash /etc/mail/virtusertable · /etc/mail/virtusertable

Ce faisant, un nouveau fichiervirtusertable.dbest créé, reflétant la nouvelle configuration.

11.3.1.3. Modifications courantes de la configuration de Sendmail

Lors de la modification du fichier de configuration Sendmail, il est recommandé de générer un tout nouveau un fichier/etc/mail/sendmail.cfplutôt que de modifier un fichier existant.

Attention

Avant de modifier le fichiersendmail.cf, il est toujours conseillé d’effectuer une copie de sauvegarde de la version courante du fichier.

Pour ajouter la fonctionnalité désirée à Sendmail, éditez le fichier /etc/mail/sendmail.mc. Une fois cette opération terminée, utilisez le macroprocesseur m4 pour générer un nouveau fichier sendmail.cf en exécutant la commande m4 /etc/mail/sendmail.mc ¼ /etc/mail/sendmail.cf. Après la création d’un nouveau fichier/etc/mail/sendmail.cf, redémarrez Sendmail pour qu’il reflète les changements apportés. Pour ce faire, le moyen le plus simple consiste à taper la commande/sbin/service sendmail restart, en étant connecté en tant que super-utilisateur.

Par défaut, le macroprocesseurm4est installé avec Sendmail mais fait partie du paquetagem4.

Important

Le fichiersendmail.cfpar défaut n’autorise pas Sendmail à accepter des connexions réseau de tout hôte autre que l’ordinateur local. Afin de configurer Sendmail en tant que serveur pour d’autres clients, éditez/etc/mail/sendmail.mcet modifiez les valeurs deDAEMON_OPTIONSpour permettre l’écoute des périphériques de réseau ou supprimez tout simplement les commentaires appropriés pour cette option. Régénérez ensuite le fichier/etc/mail/sendmail.cfgrâce à la commande:

m4 /etc/mail/sendmail.mc ¸ /etc/mail/sendmail.cf

Cette configuration devrait fonctionner pour la plupart des sites exclusivement SMTP. Ellene fonc-tionnera paspour les sites UUCP (’UNIX to UNIX Copy’); vous devrez générer un nouveau fichier sendmail.cfsi vous devez utiliser les transferts de courrier UUCP.

Consultez le fichier/usr/share/sendmail-cf/READMEavant de modifier tout fichier contenus dans les répertoires sous le répertoire/usr/share/sendmail-cf, car ils peuvent affecter la confi-guration future de fichiers/etc/mail/sendmail.cf.

11.3.1.4. Masquarade

L’une des configurations courantes de Sendmail est d’avoir un seul ordinateur qui agit comme passe-relle de messagerie pour tous les ordinateurs sur un réseau. Par exemple, une société pourrait souhaiter qu’un ordinateur appelémail.bigcorp.comgère tout son courrier électronique et attribue à tous les messages sortants la même adresse de retour.

Dans ce cas de figure, le serveur Sendmail est obligé de déguiser le nom des ordinateurs du réseau de la société de façon à ce que leur adresse de retour soit user@bigcorp.com au lieu de user@devel.bigcorp.com.

Pour ce faire, ajoutez les lignes suivantes à/etc/mail/sendmail.mc: FEATURE(always_add_domain)dnl

FEATURE(‘masquerade_entire_domain’) FEATURE(‘masquerade_envelope’) FEATURE(‘allmasquerade’) MASQUERADE_AS(‘bigcorp.com.’) MASQUERADE_DOMAIN(‘bigcorp.com.’) MASQUERADE_AS(bigcorp.com)

Une fois qu’elle aura généré un nouveausendmail.cfà l’aide dem4, cette configuration fera en sorte que le tous les messages envoyés à partir du réseau semblent avoir été envoyés depuisbigcorp.com.

11.3.1.5. Blocage des spams

Les ’spams’ (ou pourriel) peuvent être définis comme étant des messages électroniques inutiles et indésirables reçus par un utilisateur qui n’en a jamais fait la demande. Il s’agit d’un abus très pertur-bateur, coûteux et répandu des normes de communication Internet.

Sendmail rend relativement aisé le blocage des nouvelles techniques utilisées pour envoyer des spams.

Il bloque même par défaut, un grand nombre des méthodes d’envoi de spams les plus courantes.

Par exemple, le réacheminement de messages SMTP, aussi appelé retransmission (’relaying’), a été désactivé par défaut depuis la version 8.9. de Sendmail. Auparavant, Sendmail aurait dirigé l’hôte de messagerie (x.org) de façon à ce qu’il accepte des messages d’un individu (y.com) et les envoie à un autre individu (z.net). Désormais, Sendmail doit être configuré de façon à autoriser un domaine à retransmettre du courrier par le biais du serveur. Pour configurer les domaines de retransmission, éditez simplement le fichier/etc/mail/relay-domainset relancez Sendmail.

Ceci étant, les utilisateurs sont très souvent bombardés de pourriel provenant d’autres serveurs via l’Internet. Dans ce cas, les fonctions de contrôle d’accès de Sendmail, disponibles par l’entremise du fichier/etc/mail/accesspeuvent servir à empêcher les connexions en provenance d’hôtes indésirables. L’exemple suivant illustre comment utiliser ce fichier pour non seulement bloquer mais également autoriser l’accès au serveur Sendmail:

badspammer.com ERROR:550 "Go away and do not spam us anymore"

tux.badspammer.com OK

10.0 RELAY

Cet exemple stipule que tout message électronique envoyé parbadspammer.comdoit être bloqué à l’aide d’un code d’erreur 550 conforme à RFC-821 et qu’un message doit être renvoyé à l’expéditeur de pourriel. Le courrier envoyé par le sous-domainetux.badspammer.comen revanche peut être ac-cepté. La dernière ligne montre que tout message envoyé depuis le réseau 10.0.*.* peut être retransmis au moyen de votre serveur de messagerie.

Étant donné que/etc/mail/access.dbest une base de données, vous devez utilisermakemappour activer toute modification. Pour ce faire, tapez la commande suivante en étant connecté en tant que super-utilisateur:

makemap hash /etc/mail/access ½ /etc/mail/access

Comme vous pouvez l’imaginer, cet exemple ne fait qu’effleurer la surface du potentiel de Sendmail en termes d’autorisation ou d’interdiction d’accès. Reportez-vous au document /usr/share/doc/sendmail/README.cfpour obtenir de plus amples renseignements et d’autres exemples.

Étant donné que Sendmail fait appel à l’ADC Procmail pour la livraison de courrier, il est également possible d’utiliser un programme de filtrage de pourriel comme SpamAssassin, pour identifier et clas-ser ce type de courrier à la place de l’utilisateur. Reportez-vous à la Section 11.4.2.6 pour obtenir de plus amples informations sur l’utilisation de du programme SpamAssassin.

11.3.1.6. Utilisation de Sendmail avec LDAP

L’utilisation deLightweight Directory Access Protocol (LDAP)est une façon très rapide et puissante de trouver des informations spécifiques sur un utilisateur particulier appartenant à un grand groupe.

Par exemple, un serveur LDAP peut servir à chercher une adresse électronique spécifique dans un répertoire d’entreprise à partir du nom de famille de l’utilisateur. Pour ce genre de mise en application, LDAP est en grande partie séparé de Sendmail; LDAP stocke les informations hiérarchiques des utilisateurs alors que Sendmail ne s’occupe que de recevoir le résultat de la recherche LDAP par le biais de messages électroniques pré-adressés.

Toutefois, Sendmail prend en charge une intégration beaucoup plus grande avec LDAP, là où il utilise LDAP pour remplacer des fichiers maintenus séparément, tels quealiasesetvirtusertables, sur divers serveurs de messagerie qui fonctionnent ensemble pour prendre en charge une organisation de taille moyenne ou supérieure. En bref, LDAP fait abstraction du niveau de routage du courrier depuis Sendmail et ses fichiers de configuration séparés en un cluster LDAP puissant qui influence de nombreuses autres applications.

La version actuelle de Sendmail comprend la prise en charge pour LDAP. Pour étendre votre serveur Sendmail à l’aide de LDAP, prenez d’abord un serveur LDAP, tel queOpenLDAP, opérationnel et correctement configuré. Ensuite, modifiez votre fichier/etc/mail/sendmail.mcpour y inclure les éléments suivants:

LDAPROUTE_DOMAIN(’yourdomain.com’)dnl FEATURE(’ldap_routing’)dnl

Remarque

Ceci n’est que pour une configuration de base de Sendmail avec LDAP. Votre configuration devrait différer considérablement de celle-ci selon votre mise en application de LDAP, tout spécialement si vous souhaitez configurer plusieurs ordinateurs Sendmail pour qu’ils utilisent un serveur LDAP commun.

Consultez/usr/share/doc/sendmail/README.cfpour avoir des informations de configuration de routage LDAP détaillées et des exemples.

Ensuite, recréez le fichier /etc/mail/sendmail.cfen exécutant m4et redémarrant Sendmail.

Reportez-vous à la Section 11.3.1.3 pour obtenir des instructions sur la manière de procéder.

Pour plus d’informations sur LDAP, reportez-vous au Chapitre 13.