Installation d’un Serveur de Messagerie
Auteur : Mohamed DAOUES Classification : T.P Numéro de Version : 1.0 Date de la création : 22.07.2011
|Elaboré par Mohamed DAOUES 2 Suivi des Versions
Version : Date : Nature des modifications : Ecrit par : Relu par : Validé par :
1.0 22/07/2011 Création du document Mohamed DAOUES
|Elaboré par Mohamed DAOUES 3 Sommaire
I. Préambule : ... 4
II. Présentation Postfix :... 4
III. Présentation Dovecot : ... 4
IV. Installation et configuration de Postfix ... 5
1. Installation Postfix ... 5
2. Configuration Postfix ... 5
3. Vérification du fonctionnement de Postfix ... 6
V. Installation et configuration de Dovecot ... 7
1. Installation Dovecot ... 7
2. Configuration Dovecot... 7
3. Vérification du fonctionnement de Dovecot ... 8
VI. Installation des outils de sécurité ... 8
1. Amavis ... 8
2. Spamassassin ... 8
3. Clamav ... 9
VII. Installation d’un client web mail « squirrelMail » ... 9
|Elaboré par Mohamed DAOUES 4
I. Préambule :
Ce document résume la mise en place d’un serveur de messagerie. Les directives de ce T.P sont tirées de la documentation fournies au niveau du cours et quelques recherches sur internet.
Pour mener à bien ce T.P, nous devons disposer d’un serveur DNS afin de résoudre les noms d’inconnus à notre réseau interne. Et nous devons bien configurer les fichiers de configurations de notre serveur de messagerie pour que celui-ci utilise les bons FQDN et DNS. Donc les fichiers /etc/hosts, /etc/resolv.conf et /etc/hostname.
II. Présentation Postfix :
Postfix est un serveur de messagerie électronique modulaire qui se charge de la livraison de courriels (MTA). Il est implémenté par défaut dans plusieurs systèmes Unix et Linux, et utilisé en entreprise. C’est un logiciel sous licence libre. Postfix permet de gérer la quasi-totalité des cas d’une utilisation professionnelle. Il utilise plusieurs démons distincts et permet d’utiliser des processus externes. Le démon principal est toujours actif, en tâche de fond, et lance à la volée les démons dont il a besoin.
Ses fichiers de configuration sont main.cf et master.cf situés dans /etc/postfix.
Postfix est basé sur un système de liste d’attente (queue) qui stocke les messages en attente et les gère par le biais d’agents de distributions en adéquation avec le message. En effet, Postfix utilise le protocole DNS pour trouver les domaines gérant le protocole SMTP correspondants aux destinataires des messages envoyés. Pour résumer, Postfix, nous permet de recevoir du courrier depuis un réseau ou un hôte local, d’acheminer du courrier vers un hôte distant, et d’avertir l’utilisateur si un message est livré ou non.
Pour son administration, il dispose d’un compte administrateur appelé « postmaster », c’est cet utilisateur qui s’assure du bon fonctionnement du système. Dans le cas où un courrier n’arrive pas à son destinataire, c’est cet utilisateur qui s’occupe de la redirection des messages.
Pour ce qui est du traitement des messages par Postfix, il existe quatre façons de gestion des messages :
Postfix accepte les messages provenant d’autre réseau ;
Postfix peut transférer un message déjà reçu à une adresse ;
Postfix peut accepter des messages en local ;
Postfix peut générer des messages de notification, tel que des messages d’erreurs.
III. Présentation Dovecot :
Dovecot est un serveur IMAP / POP3 open source pour les systèmes Unix et Linux. Il peut être utilisé autant pour de petites ou de grandes installations. Ce logiciel est, à l’instar de Postfix, simple à configurer mais surtout il s’agit d’un logiciel léger en mémoire. Dovecot, supporte le format standard Maildir en ce qui concerne les boîtes aux lettres de courriels. Celles-ci sont indexées de façon transparente.
Il a été créé de telle sorte que les messages d’erreurs communs sont à la portée de tout le monde (dans la mesure où ce « tout le monde » sache gérer ce type de service). Il est multi-tâches, dispose d’une authentification flexible tout comme son architecture modulaire.
|Elaboré par Mohamed DAOUES 5
IV. Installation et configuration de Postfix
1. Installation Postfix
Notre serveur Debian dispose (déjà) des sources pour l’installation de Postfix. De ce fait, la commande suivante nous permettra de l’installer facilement :
# aptitude install postfix
Debian dispose déjà d’un serveur de messagerie qui s’appelle Exim, nous devons le désinstaller pour qu’il n’y est pas de conflit.
# apt-get remove --purge exim4
2. Configuration Postfix
Nous arrivons à l’outil de configuration des paquets propre à Postfix. Nous allons choisir la configuration type la plus adaptée à nos besoins. Plusieurs choix s’offrent à nous.
Pas de configuration : comme son nom l’indique, tout est à faire
Site internet : l’envoi et la réception s’effectuent avec le protocole SMTP
Site internet avec smarthost : les messages reçus le sont via SMTP ou un utilitaire tiers et les messages sortants utilisent un « smarthost » (serveur relais SMTP)
Système satellite : tous les messages sont envoyés vers un « smarthost »
Local uniquement : utilisation locale uniquement sans ressources externes (type internet).
Nous sélectionnerons ici « Site internet » qui nous permettra d’obtenir une configuration minimale.
Le « nom de courrier » est utilisé pour qualifier les adresses n’ayant pas de nom de domaine, y compris l’utilisateur root. Dans un souci de sécurité, il est conseillé de ne pas envoyer de courriels avec un utilisateur root. Ce nom étant utilisé par d’autres programmes, il doit correspondre au domaine unique dont il provient, soit son FQDN.
L’outil de configuration nous demande par la suite de spécifier ce nom de courrier, nous spécifions le nom du DNS exact. Les courriels à destination de l’utilisateur root, postmaster et des utilisateurs systèmes doivent être redirigés vers le compte de l’administrateur du système. Si cette valeur reste vide, les messages seront enregistrés dans le répertoire /var/mail/nobody.
Nous est demandé ensuite la liste des domaines que notre serveur reconnaitra comme lui appartenant. Puis, l’outil de configuration nous propose de faire des mises à jour synchronisées ou non.
Cette option est à utiliser lors de l’utilisation d’un système de fichiers non journalisés (ext3, hfs+…). Le risque est que les messages soient envoyés plus lentement et qu’en cas d’arrêt inopiné du serveur des courriels peuvent être perdus.
Postfix installe les paquets suivants, nécessaires à son fonctionnement : openssl, openssl-blacklist, postfix, ssl-cert, soit le logiciel lui-même et les outils d’authentification / chiffrement et une « liste noire ».
Si les éléments de configuration ne sont pas adéquats, il nous est toujours possible de les modifier soit en modifiant les fichiers de configuration, soit par le biais de la commande dpkg-reconfigure.
Au niveau du fichier de configuration « main.cf » de Postfix nous devons mettre en commentaire la ligne suivante :
#mailbox_command = procmail -a "$EXTENSION"
|Elaboré par Mohamed DAOUES 6 3. Vérification du fonctionnement de Postfix
Nous allons vérifier si notre serveur Postfix fonctionne correctement en suivant diverses procédures. En ligne de commandes, directement sur le serveur nous tapons la commande suivante :
# netstat –an
Cette commande nous permet de voir les démons qui sont en écoute en tâche de fond sur notre serveur. On peut y trouver des démons propres à Postfix. Nous jetons un œil aux processus en cours et vérifions que Postfix soit bien actif via la commande « ps »
# ps -ef
Nous remarquons que le démon master est bien lancé.
Une autre méthode de vérification est l’envoi d’un message par le biais d’une connexion Telnet à notre serveur, puis la vérification des fichiers log relatifs à Postfix. Nous lançons une connexion locale sur le port 25, ce qui nous permet de nous présenter comme un MTA distribuant un courrier. Voici la procédure complète :
N’ayant pas d’erreurs, si tout va bien, nous vérifions dans le répertoire /var/log les fichiers : - mail.log
- mail.err - mail.info - mail.warn
root 3855 1 0 16:48 00:00:00 /usr/lib/postfix/master
# telnet localhost 25
Trying 127.0.0.1... Connected to localhost.
Escape character is '^]'.
EHLO mail.dtxy.info-msj.net
MAIL FROM:tsgeri@grp2.info-msj.net RCPT TO:test@grp2.info-msj.net DATA
Test Quit
…
|Elaboré par Mohamed DAOUES 7
V. Installation et configuration de Dovecot
1. Installation Dovecot
Pour installer le serveur IMAP, nous commençons par chercher le bon paquet avec la commande suivante apt-cache search, ce qui nous permet de trouver : dovecot-imapd, dovecot-pop3d, démons serveurs IMAP et pop3 sécurisés.
# apt-get install dovecot-imapd dovecot-pop3d 2. Configuration Dovecot
Le fichier de configuration de Dovecot se situe dans le répertoire /etc/dovecot/dovecot.conf. Nous ne modifierons que deux paramètres, pour le moment à savoir, le message d’accueil et l’emplacement du répertoire Maildir (utilisé par IMAP) en spécifiant qu’il se situe dans /home et qu’il est en
relation avec l’utilisateur concerné par le biais de la variable %u. Le message d’accueil est mis en commentaire, dé-commentons le.
Par la suite nous passons à la création des répertoires IMAP, en effet dovecot dispose de ses propres commandes, notamment celles concernant la création de répertoires en relation avec le répertoire Maildir. Nous créons ainsi un gabarit dans le répertoire /etc/skel qui nous permettra lors de la création d’un nouvel utilisateur de la messagerie de faire un copie de ce squelette dans le répertoire de ce même utilisateur.
Nous copions ensuite ce modèle et lui attribuons les droits d’un utilisateur système :
Et pour terminer nous redémarrons le service :
# /etc/init.d/dovecot restart
D’origine, le logiciel nous a déjà créé trois répertoires : new, tmp et cur qui correspondent aux dossiers nouveaux messages, ceux temporaires et ceux en cours de la boîte aux lettres.
login_greeting=Dovecot Serveur en service mail_location=maildir:/home/%u/Maildir
# maildirmake.dovecot /etc/skel/Maildir
# maildirmake.dovecot /etc/skel/Maildir/.Drafts
# maildirmake.dovecot /etc/skel/Maildir/.Sent
# maildirmake.dovecot /etc/skel/Maildir/.Trash
# maildirmake.dovecot /etc/skel/Maildir/.Templates
# cp -r /etc/skel/Maildir /home/tsgeri/
# chown -R tsgeri :tsgeri/home/tsgeri/Maildir
# chmod -R 700/home/tsgeri/Maildir
|Elaboré par Mohamed DAOUES 8 3. Vérification du fonctionnement de Dovecot
Nous allons vérifier le bon fonctionnement de dovecot par l’envoi d’un mail avec la commande Telnet.
VI. Installation des outils de sécurité
Dans cette partie, nous allons installer pour la sécurité du serveur, des logiciels complémentaires anti- viraux et anti-spams.
1. Amavis
Amavis est un Utilitaire pour scanner les mails qui transitent par les serveurs de mails. En gros, c’est un démon résident sur un serveur qui vérifie le courrier entrant. Lorsqu’un message arrive, il est analysé par un script avant d’être délivré à un MTA.
La commande suivante nous permet d’installer ce démon :
# apt-get install amavisd-new
2. Spamassassin
C’est un filtre du trafic de courriels conçu pour éliminer les messages indésirables. Son fonctionnement est assez simple. Il fait passer des tests aux messages et leurs attribue un score. Ce score, en atteignant un certain seuil, est alors considéré comme Spam.
Pour l’installer il suffit juste de taper cette commande :
# apt-get install spamassassin
Par la suite nous effectuerons une modification au niveau du fichier de configuration de ce dernier. En effet nous mettrons la valeur à 1 au lieu de 0 au niveau de la ligne qui contient « enabled ».
Et enfin nous redémarrons le service :
# service spamassassin restart
# telnet localhost 143 Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready
# nano /etc/default/spamassassin
….
Enabled=1
…
Ctrl +x pour enregistrer
|Elaboré par Mohamed DAOUES 9 3. Clamav
Clamav est un outil antivirus Open Source, qui a été conçu pour analyser les e-mails et les serveurs de messagerie. Clamav a plusieurs caractéristiques parmi elles le scan en ligne de commande, la mise à jour scriptée et signée de la base virale, support intégré pour la plupart des formats de couriels, etc.
Pour l’installer il faut saisir cette commande au niveau du terminal :
# aptitude install clamav
VII. Installation d’un client web mail « squirrelMail »
Pour pouvoir lire notre courriel, il faudra installer un web mail sur notre serveur. Celui qui nous a été prescrit par notre formateur était squirrel mail, sinon il existe un bon nombre de clients web de messagerie à titre d’exemple nous citons : IlohaMail, Roundcube,…
# apt-get install squirrelmail
Une fois l’installation est terminée, nous procédons à la copie du fichier de configuration Apache de squirrelMail dans les sites présents du serveur Apache.
En dernier lieu, avec notre navigateur, nous nous connectons à notre webmail : http://[adrese_IP_serveur_apache]/squirrelmail
# cp /etc/squirrelmail/apache.conf /etc/apache2/sites- available/squirrelmail
# cd /etc/apache2/sites-available/
# mv default default.old
# mv squirrelmail default
# /etc/init.d/apache2 restart