0% ont trouvé ce document utile (0 vote)
327 vues8 pages

Guide Serveur de Messagerie Linux

Transféré par

achraf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
327 vues8 pages

Guide Serveur de Messagerie Linux

Transféré par

achraf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Implémenter le serveur de messagerie

Présenter le service de messagerie.


Actuellement, le courrier électronique est délivré à l'aide d'une architecture client/serveur. Un message électronique est
créé au moyen d'un programme client de messagerie électronique. Ce programme envoie ensuite le message à un
serveur. Ce dernier transmet à son tour le message au serveur de messagerie du destinataire où il est transmis au client
de messagerie du destinataire final.

Présenter les protocoles de transferts de courrier et d’accès au courrier.


Protocoles de transfert de courrier électronique
La livraison de courrier d'une application cliente au serveur et d'un serveur d'origine à un serveur de destination
est traitée par le protocole nommé Simple Mail Transfer Protocol (ou SMTP).
SMTP
Par défaut, Sendmail (/usr/sbin/sendmail) est le programme SMTP par défaut sous Red Hat Enterprise Linux.
Néanmoins, une application serveur de messagerie plus simple appelée Postfix (/usr/sbin/postfix) est également
disponible.
Protocoles d'accès au courrier le paquetage cyrus-imapd
Pour récupérer le courrier électronique stocké sur les serveurs de messagerie, les applications client de
messagerie utilisent deux protocoles primaires : Post Office Protocol (ou POP) et Internet Message Access
Protocol (ou IMAP).
POP (Post Office Protocol) port 110
Lors de l'utilisation d'un serveur POP, les messages électroniques sont téléchargés par des applications client de
messagerie.
Le protocole POP est compatible à 100 % avec des normes de messagerie Internet importantes, telles que
Multipurpose Internet Mail Extensions (ou MIME), qui permet l'envoi de pièces jointes.
Il fonctionne également bien pour des utilisateurs n'ayant pas de connexion continue à l'Internet ou à un réseau
sur lequel le serveur de messagerie se trouve. Malheureusement, pour les utilisateurs ayant des connexions
réseau lentes, POP requiert que les programmes client, après authentification, téléchargent la totalité du
contenu de chaque message. Cette opération peut être longue si certains messages contiennent des pièces
jointes.
IMAP (Interactive Mail Access Protocol) port 143
Le protocole IMAP est utile tout particulièrement pour les utilisateurs accédant à leur courrier électronique au
moyen d'ordinateurs multiples. Ce protocole est également pratique pour les utilisateurs se connectant au
serveur de messagerie par le biais d'une connexion lente, car seule l'information d'en-tête du message est
téléchargée jusqu'à ce qu'il soit ouvert, économisant ainsi de la largeur de bande. En outre, l'utilisateur peut
également supprimer des messages sans devoir les lire ou les télécharger.
Présenter les différents agents de messagerie
Agent de Transfert de Courrier MTA (ATC).
sert à transférer des messages électroniques entre des hôtes utilisant SMTP.
Agent de Distribution de Courrier MDA (ADC).
est utilisé par l'ATC pour distribuer le courrier arrivant dans la boîte aux lettres de l'utilisateur approprié.

Agent de Gestion de Courrier MUA (AGC).


Un AGC est un programme qui, au minimum, permet à un utilisateur de lire et écrire des messages
électroniques. L’agent utilisateur le plus simple se nomme mail, mutt et pine.

Acheminement du courrier électronique

1 - L'expéditeur communique son courriel via le MUA.


2 - Le MUA transmet ce courriel au MTA (la plupart des MUA intègre des clients SMTP).
3 et 4- Le MTA du système de l'émetteur établit un canal de transmission avec le MTA du système du destinataire, par émissions
successives de requêtes bidirectionnelles.
5 - Une fois le canal établit, le courriel est transmis d'un système à un autre par les MTA.
6 - Dans le système du destinataire, Le MTA transmet le courrier reçu au serveur IMAP ou POP3.
7, 8 et 9 - Le MDA récupère le courriel du serveur IMAP / POP 3, et le met à disposition du MDA.
10 - Le MDA dépose le courriel dans la boîte aux lettres du destinataire qui pourra le consulter à tout moment, sur authentification.
Installation et configuration de sendmail.
Installation de Sendmail
Le fichier de configuration de Sendmail qui est long et détaillé se nomme /etc/mail/[Link]. Évitez d'éditer le fichier
[Link] directement. Pour apporter des modifications à la configuration, éditez plutôt le fichier
/etc/mail/[Link], sauvegardez le fichier original /etc/mail/[Link] et utilisez ensuite le macroprocesseur m4
qui est inclus pour créer un nouveau fichier /etc/mail/[Link].
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 annulent le routage de domaines particuliers.
· 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 seul ordinateur.
Plusieurs fichiers de configuration placés dans /etc/mail/, tels que access, domaintable, mailertable et virtusertable,
doivent en fait stocker leurs informations dans des fichiers de base de données avant que Sendmail ne puisse appliquer
les modifications apportées à la configuration. Pour inclure les changements apportés à ces fichiers de configuration
dans leurs fichiers de base de données, exécutez la commande suivante :
makemap hash /etc/mail/<name> < /etc/mail/<name>
où <name> doit être remplacé par le nom du fichier de configuration à convertir.
Par exemple, pour que tous les messages électroniques destinés au domaine [Link] soient envoyés à
<ali@[Link]>, ajoutez la ligne reproduite ci-dessous au fichier virtusertable :
@[Link] ali@[Link]
Pour finaliser cette modification, le fichier [Link] doit être mis à jour à l'aide de la commande suivante,
en étant connecté en tant que super-utilisateur :
makemap hash /etc/mail/virtusertable < /etc/mail/[Link]
Ce faisant, un nouveau fichier [Link] est créé, contenant la nouvelle configuration.
Modifications courantes de la configuration de Sendmail
Pour ajouter la fonctionnalité désirée à Sendmail, éditez le fichier /etc/mail/[Link] en étant connecté en tant que
super-utilisateur. Une fois cette opération terminée, utilisez le macroprocesseur m4 pour générer un nouveau fichier
[Link] en exécutant la commande suivante :
m4 /etc/mail/[Link] > /etc/mail/[Link]
Par défaut, le macroprocesseur m4 est installé avec Sendmail mais fait partie du paquetage m4.
Après avoir créé un nouveau fichier /etc/mail/[Link], redémarrez Sendmail afin que les modifications soient
appliquées. Pour ce faire, la meilleure façon de procéder consiste à taper la commande suivante :
/sbin/service sendmail restart
Important
Le fichier [Link] par défaut n'autorise pas Sendmail à accepter des connexions réseau venant de tout hôte
autre que l'ordinateur local. Afin de configurer Sendmail en tant que serveur pour d'autres clients, éditez
/etc/mail/[Link] et changez l'adresse spécifiée dans l'option Addr= de la directive DAEMON_OPTIONS de
[Link] à l'adresse IP d'un périphérique réseau actif ou supprimez tout simplement les commentaires de la
directive DAEMON_OPTIONS en ajoutant dnl au début de la ligne. Une fois ces modifications apportées,
régénérez le fichier /etc/mail/[Link] en exécutant la commande suivante :
m4 /etc/mail/[Link] > /etc/mail/[Link]
Masquage
L'une des configurations courantes de Sendmail consiste à avoir un seul ordinateur qui agit comme passerelle de
messagerie pour tous les ordinateurs sur le réseau. Par exemple, une société pourrait souhaiter qu'un ordinateur appelé
[Link] gè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 masquer le nom des ordinateurs du réseau de la société de
façon à ce que leur adresse de retour soit user@[Link] plutôt que user@[Link].
Pour ce faire, ajoutez les lignes suivantes à /etc/mail/[Link] :
Une fois qu'un nouveau fichier [Link] aura été généré à l'aide de m4, cette configuration donnera l'impression que
tous les messages envoyés à partir du réseau ont été envoyés depuis [Link].

Installation et configuration de postfix.


Postfix est dans le domaine de l’open source le MTA le plus populaire, et il est presque facile à configurer. De
nombreux hébergeurs et fournisseurs d’accès utilisent Postfix pour gérer les boîtes mail de leurs clients.
Gestion des identités
La solution la plus simple, toujours disponible et qui ne nécessite aucune configuration particulière, est d’utiliser
directement les comptes du système Linux.
Gestion des alias
En général, la base de comptes utilisée par un MTA désigne quelles adresses mail sont susceptibles de recevoir des
messages électroniques. Toutefois, il arrive qu’un utilisateur soit le gestionnaire de plusieurs boîtes mail. Il est
fréquent par exemple que l’administrateur d’un réseau doive répondre aux messages adressés à
postmaster@[Link]. C’est même une recommandation de la RFC SMTP. Pour ce type d’usage, un MTA utilise
une base de correspondances entre comptes appelés alias. Postfix utilise un fichier de déclaration des alias
/etc/aliases et les exploite dans une base de données générée à partir du fichier d’alias par une commande
postalias postalias /etc/aliases
Toute modification du fichier /etc/aliases devra être suivie d’une redéclaration de la base par la commande:
# postalias /etc/aliases
La commande postfix :
postfix action
status Affiche l’état fonctionnel du service.
stop Arrête le service proprement. Les processus en cours sont autorisés à se terminer.
start Vérifie puis démarre le service.
check Vérifie la validité de l’environnement de fonctionnement du service.
reload Recharge la configuration. Préférable à un stop/start.
abort Arrête le service de façon immédiate et autoritaire. Les processus en cours sont stoppés brutalement.
flush Tente de délivrer tous les mails en instance : ceux qui ont déjà fait l’objet d’une erreur et qui sont en
attente de nouvelle tentative.
Validation de l’environnement fonctionnel
postfix check
Paramètres effectifs
postconf -n
Installation de Postfix par défaut
Postfix stocke ses fichiers de configuration dans le répertoire /etc/postfix/. Ci-après figure une liste des fichiers
les plus courremment utilisés :
 access — Utilisé pour le contrôle d'accès, ce fichier spécifie les hôtes qui sont autorisés à se connecter à
Postfix.
 aliases — Fournit une liste configurable requise par le protocole de messagerie.
 [Link] — Représente le fichier de configuration global de Postfix. La majorité des options de
configuration sont spécifiées dans ce fichier.
 [Link] — Spécifie la manière selon laquelle Postfix interagit avec différents processus pour effectuer
la livraison de courrier.
 transport — Mappe les adresses de courrier électronique pour qu'elles prennent le relais des hôtes.
Configuration élémentaire de Postfix
Par défaut, Postfix n'accepte pas de connexions réseau venant d'un hôte autre que l'ordinateur local.
Efeectuez les étapes suivantes en étant connecté en tant que super-utilisateur afin d'activer la livraison de
courrier pour d'autres hôtes du réseau :
 Éditez le fichier /etc/postfix/[Link] à l'aide d'un éditeur de texte tel que vi.
 Décommentez la ligne mydomain en supprimant la symbole dièse (#) et remplacez [Link] par le
nom de domaine que le serveur de messagerie sert.
 Décommentez la ligne myorigin = $mydomain.
 Décommentez la ligne myhostname et remplacez [Link] par le nom d'hôte de l'ordinateur.
 Décommentez la ligne mydestination = $myhostname, localhost.$mydomain.
 Décommentez la ligne mynetworks et remplacez [Link]/28 par un paramètre de réseau valide
pour les hôtes pouvant se connecter au serveur.
 Décommentez la ligne inet_interfaces = all.
 Redémarrez le service postfix.
Une fois ces étapes effectuées, l'hôte est en mesure d'accepter la livraison d'emails venant de l'extérieur
Configuration du serveur
Le fichier principal de serveur postfix se nomme /etc/postfix/[Link],
1- Ici regroupe les paramètres de fonctionnement de postfix

2- On définit les fichiers pour l'emploie des alliasses

3- on définit le domaine

4- en met le nom d'hôte du serveur de mail

5- L'extension pour les mails envoyés depuis la machine

6- indiquer la liste de domaine autorisé par Postfix

7- Ensuite on indique à Postfix dans quels réseaux il doit travailler

8- Indiquer le type de réseau utilise : réseau local

9- home_mailbox = Maildir/ : très important ! Nous choisissons le format Maildir en accord avec le serveur IMAP
Installation et configuration de fetchmail.
Fetchmail est un ATC qui récupère du courrier électronique depuis des serveurs distants et le transfère à l'ATC
local.
Fetchmail est configuré pour chaque utilisateur grâce à un fichier .fetchmailrc du répertoire personnel de
l'utilisateur.
Sur la base des préférences spécifiées dans le fichier .fetchmailrc, Fetchmail recherche les messages électroniques sur un
serveur distant et les télécharge. Il les achemine ensuite sur le port 25 de l'ordinateur local, au moyen de l'ATC local,
pour les placer dans le fichier spoule de l'utilisateur approprié. Si Procmail est disponible, il peut être utilisé pour filtrer
les messages et les placer dans une boîte à lettres de sorte qu'ils puissent être lus avec par un AGC.
Le fichier .fetchmailrc d'un utilisateur contient trois types d'options de configuration :
 options globales — Ce type d'options donne à Fetchmail des instructions qui contrôlent le fonctionnement du
programme ou fournit des réglages pour toute connexion de vérification du courrier.
 options serveur — Ce type d'options spécifie les informations nécessaires concernant le serveur sondé, telles
que le nom d'hôte ainsi que les préférences relatives aux serveurs de messagerie spécifiques, comme le port à
vérifier ou le nombre de secondes devant s'écouler avant l'interruption de la connexion. Ces options affectent
tout utilisateur employant ce serveur.
 options utilisateur — Ce type d'options contient des informations, telles que le nom d'utilisateur et le mot de
passe, nécessaires pour l'authentification et la vérification du courrier à l'aide d'un serveur de messagerie
donné.
Un exemple de fichier .fetchmailrc ressemble à l'extrait suivant :

Dans cet exemple, les options globales sont configurées de façon à ce que l'utilisateur reçoive le courrier seulement en
dernier ressort (option postmaster) et que toutes les erreurs soient envoyées au maître de poste (ou postmaster) plutôt
qu'à l'expéditeur (option bouncemail). L'action set indique à Fetchmail que cette ligne contient une option globale.
Ensuite, deux serveurs de messagerie sont spécifiés ; le premier est configuré pour vérifier POP3 et le second pour
essayer divers protocoles afin d'en trouver un qui fonctionne. Deux utilisateurs sont vérifiés dans le cas de la seconde
option de serveur, mais tout message électronique trouvé pour l'un ou l'autre des utilisateurs est envoyé dans le fichier
spoule de messagerie de l'utilisateur No. 1 (ou user1). Ainsi, il est possible de vérifier de multiples boîtes aux lettres sur
plusieurs serveurs, tout en utilisant une seule corbeille d'arrivée pour l'AGC. Toute information spécifique à
chacun des utilisateurs commence par l'action user.
Remarque
Les utilisateurs ne doivent pas placer leur mot de passe dans le fichier .fetchmailrc. Si la section with password
'<password>' est manquée, Fetchmail demandera la saisie d'un mot de passe lors de son lancement.
Options globales
Chaque option globale devrait être placée sur une seule ligne et précédée de l'action set.
 daemon <seconds> — Spécifie le mode démon où Fetchmail demeure en tâche de fond. Remplacez
<seconds>par la durée en secondes pendant laquelle Fetchmail doit attendre avant de sonder le serveur.
 postmaster — Spécifie un utilisateur local auquel envoyer le courrier en cas de problèmes de
distribution.
 syslog — Spécifie le fichier journal pour l'enregistrement des messages d'erreurs et d'état. La valeur
/var/log/maillog est retenue par défaut.
Options serveur
Les options serveur doivent figurer sur leur propre ligne dans .fetchmailrc, après une action poll ou skip.
 auth <auth-type> — Remplacez <auth-type> par le type d'authentification à utiliser. Par défaut,
l'authentification password est utilisée, mais certains protocoles prennent en charge d'autres types
d'authentification, notamment kerberos_v5, kerberos_v4 et ssh. Si le type d'authentification any est retenu,
Fetchmail essaiera d'abord des méthodes qui ne nécessitent aucun mot de passe, puis des méthodes
qui masquent le mot de passe et, en dernier ressort, il essaiera d'envoyer le mot de passe en texte en
clair pour effectuer l'authentification auprès du serveur.
 interval <number> — Indique à Fetchmail de sonder seulement le serveur spécifié après avoir vérifié le
courrier sur tous les serveurs configurés un certain nombre de fois (où <number> représente ce nombre
de fois). Cette option est généralement utilisée pour les serveurs de messagerie sur lesquels un
utilisateur ne reçoit que rarement des messages.
 port <port-number> — Remplacez <port-number> par le numéro du port. Cette valeur annule le numéro du
port par défaut pour un protocole spécifié.
 proto <protocol> — Remplacez <protocol> par le protocole, tel que pop3 ou imap, devant être utilisé pour
vérifier le courrier sur le serveur.
 timeout <seconds> — Remplacez <seconds> par la durée d'inactivité du serveur (exprimée en secondes)
après laquelle Fetchmail abandonne une tentative de connexion. Si cette valeur n'est pas configurée,
le système retient une valeur par défaut de 300 secondes.
Options utilisateur
Les options utilisateur peuvent être placées sur leurs propres lignes sous une option serveur ou alors sur la
même ligne que l'option de serveur. Dans les deux cas, les options définies doivent suivre l'option.
 user "<username>" — Remplacez <username> par le nom d'utilisateur employé par Fetchmail pour
récupérer les messages électroniques. Cette option doit être placée avant toute autre option
utilisateur.
 fetchall — Donne l'ordre à Fetchmail de télécharger tous les messages de la file d'attente, y compris les
messages qui ont déjà été visualisés. Par défaut, Fetchmail ne récupère que les nouveaux messages.
 fetchlimit <number> — Remplacez <number> par le nombre de messages à extraire avant de s'arrêter.
 flush — Donne l'instruction à Fetchmail de supprimer tous les messages de la file d'attente qui ont été
lus précédemment avant d'extraire les nouveaux messages.
 limit <max-number-bytes> — Remplacez <max-number-bytes> par la taille maximale en octets autorisée pour
des messages lors de leur extraction. Cette option est pratique lors de connexions réseau lentes,
particulièrement lorsqu'un gros message prend trop de temps à être télécharger.
 password '<password>' — Remplacez <password> par le mot de passe de l'utilisateur.
 preconnect "<command>" — Remplacez <command> par une commande à exécuter avant de récupérer les
messages pour cet utilisateur.
 postconnect "<command>" — Remplacez <command> par une commande à exécuter après avoir récupéré
les messages pour cet utilisateur.
 ssl — Active le cryptage SSL.

POP et IMAP
Il existe plusieurs suites pour gérer POP et IMAP. Une suite se nomme cyrus-imap et est en principe réservée aux
grosses structures et aux serveurs 100% dédiés au courrier, c’est-à-dire où les utilisateurs ne se connectent pas.
Une solution se nomme dovecot. Après son installation, il suffit juste de le démarrer en tant que service pour que tout
fonctionne, ou presque.
Éditez le fichier /etc/[Link] pour vérifier les protocoles supportés.
protocols = imap pop3
Lancez le service :
service dovecot start ou : /etc/init.d/dovecot start
Testez en envoyant un message. Configurez un client de messagerie pour vérifier si le serveur POP fonctionne :

Vous aimerez peut-être aussi