You are on page 1of 26

Projet tutor

Mise en place dun


serveur Messagerie

A lattention de Monsieur Alain RAKOTONIRINA

1

REMERCIEMENT
Nous tenons remercier Mr Alain, professeur en informatique de la filire informatique
dans Administration et Scurit Rseaux - tuteur de notre projet. En premier lieu pour nous avoir
permis de raliser ce projet tutor. En effet, nous voulions mener bien un projet dans les
rseaux et cest pourquoi nous sommes fier davoir pu obtenir ce sujet. Pour son soutien, son
coute et sa disponibilit tout au long de la ralisation du projet, nous la remercions galement.


2

SOMMAIRE

CAHIER DES CHARGES ............................................................................................................................. 4
PARTIE I : Prsentation gnrale ............................................................................................................. 5
1. Prrequis ......................................................................................................................................... 6
2. Mcanisme dun serveur de messagerie ......................................................................................... 7
3. Dfinitions ....................................................................................................................................... 8
PARTIE II : Installations et configurations ................................................................................................ 9
1. Installation de Postfix .................................................................................................................... 10
2. Cration des tables SQL pour Postfix ............................................................................................ 12
3. Configuration de Postfix pour le lier la base de donnes ........................................................... 13
4. Cration de lutilisateur et groupe vmail ....................................................................................... 15
5. Configuration de Postfix ................................................................................................................ 15
6. Ajout dadresses email virtuelles................................................................................................... 16
7. Installation de Courier pour la gestion de lIMAP et POP ............................................................. 16
8. Configuration de Courier ............................................................................................................... 16
PARTIE III : Tests denvois de courriers ................................................................................................. 18
1. Test dun nslookup du ct client ................................................................................................. 19
2. Envois du Terminal vers Outlook ................................................................................................... 19
3. Envois dun courrier de XP (skyston@skyston.org) Evolution (ulrich@skyston.org) ................. 20
4. Un courrier de ulrich@skyston.org skyston@skyston.org: ........................................................ 22
RETOUR DEXPERIENCE ......................................................................................................................... 24
BIBLIOGRAPHIE ...................................................................................................................................... 25



3

INTRODUCTION
Tout au long de lanne universitaire, nous avons vu le monde de Linux de faon pouvoir
intgrer les entreprises avec des qualifications adquates. Nous avons choisis ce projet tutor pour
valuer nos connaissances sur un thme prcis.
Nous allons tout de suite voir les tapes de la mise en place en place de serveur o nous
verrons tout dabord dans la premire partie la prsentation gnrale puis ensuite dans la deuxime
partie les installations et les configurations et enfin dans la dernire partie les tests denvois de
courriers effectus sur le serveur.

4

CAHIER DES CHARGES
Enseignant tuteur Mr Alain RAKOTONIRINA
Thme(s)
Electronique
Informatique/Programmation
Rseaux
non
non
oui

Rsum de la proposition

Titre : Mise en place dun serveur de messagerie

Rsum du travail attendu :
Installation de POSTFIX MYSQL et COURIER
Prsentation du mcanisme de messagerie
Ralisation et test du serveur

Achat de Matriel ? : non




PARTIE I : Prsentation gnrale

6

1. Prrequis
Nous allons mettre en place notre serveur de messagerie avec POSTFIX, MYSQL et COURIER. Pour
cela nous avons besoin pour notre cas de:
- Un ordinateur sous Debian 5 Lenny possdant un DNS (Domain Name Service) fonctionnant
du moins localement. Nous allons utiliser la gestion de courrier de Debian Lenny appel
Evolution . Configuration IP :

- Un ordinateur sous XP pour faire le test denvois et de rception des courriers avec
outlook (un exemple de MUA ou Mail User Agent). Configuration IP :



7

2. Mcanisme dun serveur de messagerie

Ce schma prsente le transfert d'un courriel d'un expditeur un destinataire.
1 - L'expditeur communique son courriel via le MUA.
2 - Le MUA transmet ce courriel au MTA (Mail Transfert Agent). Il faut savoir que la plupart des MUA
intgre des clients SMTP (Simple Mail Transfer Protocol).
3 et 4- Le MTA du systme de l'metteur tablit un canal de transmission avec le MTA du systme du
destinataire, par missions successives de requtes bidirectionnelles.
5 - Une fois le canal tablit, le courriel est transmis d'un systme un autre par les MTA.
6 - Dans le systme du destinataire, Le MTA transmet le courrier reu au serveur IMAP (Internet
Message Access Protocol) ou POP3 (Post Office Protocol).
7 et 9 - Le MDA rcupre le courriel du serveur IMAP / POP 3, et le met disposition du MUA.
10 - Le destinataire, par lintermdiaire de son MUA, demande son serveur de courrier MDA les
nouveaux messages, sur authentification.
Rsumer de lenvoi :
Entre l'utilisateur et son serveur, l'envoi d'un courrier lectronique se droule gnralement
via le protocole SMTP. Puis c'est au serveur d'envoyer le message au serveur du destinataire, cette
fonction est appele Mail Transfer Agent en anglais, ou MTA. Pour combattre le SPAM (courriel
indsirable), il est demand l'internaute de n'utiliser que le serveur SMTP de son FAI (Fournisseur
daccs Internet) et les FAI bloquent l'utilisation d'autres serveurs. Mais pour assurer la mobilit du

8

MUA, certains FAI permettent d'utiliser leurs serveur de nimporte o, moyennant une
authentification SMTP et ce gnralement sur une connexion SSL (Secure Sockets Layer).
Rsumer de la rception :
La rception d'un courrier lectronique s'effectue elle aussi en deux temps. Le serveur doit
recevoir le message du serveur de l'expditeur, il doit donc grer des problmes comme un disque
plein ou une corruption de la bote aux lettres et signaler au serveur expditeur toute erreur dans la
dlivrance. Il communique avec ce dernier par l'intermdiaire des canaux d'entre-sortie standard ou
par un protocole spcialis comme LMTP (Local Mail Transfer Protocol). Cette fonction de rception
est appele Mail Delivery Agent en anglais, ou MDA. Finalement, lorsque le destinataire dsire
accder ses messages, il lance une requte au serveur qui, en retour, lui transmet les messages
gnralement via le protocole POP3 ou IMAP. La plupart des clients de messagerie sont configurs de
manire interroger rgulirement le serveur de messagerie (par exemple, toutes les minutes), ce
qui rend l'tape 3 du processus compltement transparente pour le destinataire.
3. Dfinitions

POSTFIX (notre MTA) :
Postfix est un serveur de messagerie lectronique et un logiciel libre dvelopp par Wietse
Venema et plusieurs contributeurs. Il se charge de la livraison de courriers lectroniques (courriels)
et a t conu comme une alternative plus rapide, plus facile administrer et plus scurise que
l'historique Sendmail.
Il est le serveur de courriel par dfaut dans plusieurs systmes de type UNIX, comme Mac OS
X, NetBSD1, diverses distributions GNU/Linux, etc.
MYSQL :
MySQL est un systme de gestion de base de donnes relationnelle (SGBDR). Il est distribu
sous une double licence GPL et propritaire. Il fait partie des logiciels de gestion de base de donnes
les plus utiliss au monde1, autant par le grand public (applications web principalement) que par des
professionnels, en concurrence avec Oracle, Informix et Microsoft SQL Server. Son nom vient du
prnom de la fille du cocrateur Michael Widenius, My. SQL fait allusion au Structured Query
Language, le langage de requte utilis. MySQL fait partie du quatuor LAMP : Linux, Apache, MySQL,
PHP. Le couple PHP/MySQL est trs utilis par les sites web et propos par la majorit des
hbergeurs Web. Plus de la moiti des sites Web fonctionnent sous Apache6, qui est le plus souvent
utilis conjointement avec PHP et MySQL.
COURIER (notre MDA) :
Il s'agit d'un agent qui est en charge de la gestion des botes aux lettres. Il est charg de livrer
le courriel dans la bote messages du destinataire. Pour cela, il est souvent considr comme le
point final d'un systme de messagerie.
Dans le MDA, on peut filtrer les courriels; et mme supprimer les spams par des anti-spams
(comme spamassassin) et contrler les virus par des antivirus.



PARTIE II : Installations et configurations

10

1. Installation de Postfix
Durant la configuration, nous utiliserons des mots de passe trs simple pour faciliter.
Linstallation de postfix en elle-mme est trs simple, il suffit de taper la ligne de commande :
apt-get install postfix-mysql
et de choisir pas de configuration pendant linstallation.
Les plus curieux dentre vous auront constats quon installe un paquet un peu spcial de postfix
avec une extension -mysql . Cette version nous simplifie les choses, on utilisera une base de
donnes MySQL pour stocker nos diffrents comptes email et noms de domaine.


11




12

2. Cration des tables SQL pour Postfix
On a besoin de crer 3 tables pour Postfix :
Une table domaines qui contiennent la liste des noms de domaine hbergs sur le serveur
Une table comptes qui contient toutes les adresses emails virtuelle de la forme
contact@nomdedomaine.tld
Une table alias qui contient diffrents alias email que nous nutiliserons pas.
Pour cela, on se connecte dans le terminal en tant root et on tape mysql u root p ensuit
on tape le mot de passe de lutilisateur root de Mysql. Taper les lignes suivantes une une :
- CREATE DATABASE postfix ;
- USE postfix ;
- CREATE TABLE `domaines` ( `domaine` varchar(255) NOT NULL
default '', `etat` tinyint(1) NOT NULL default '1', PRIMARY
KEY (`domaine`)) ENGINE=MyISAM;
- CREATE TABLE `comptes` ( `email` varchar(255) NOT NULL default
'', `password` varchar(255) NOT NULL default '', `quota`
int(10) NOT NULL default '0', `etat` tinyint(1) NOT NULL
default '1', `imap` tinyint(1) NOT NULL default '1', `pop3`
tinyint(1) NOT NULL default '1', PRIMARY KEY (`email`))
ENGINE=MyISAM;
- CREATE TABLE `alias` ( `source` varchar(255) NOT NULL default
'', `destination` text NOT NULL, `etat` tinyint(1) NOT NULL
default '1', PRIMARY KEY (`source`)) ENGINE=MyISAM;
Nous devons avoir cela dans PhpMyAdmin :


13

3. Configuration de Postfix pour le lier la base de donnes
Maintenant que la base de donnes est fonctionnelle avec toutes les tables et un utilisateur valide,
nous devons crer 5 fichiers de configurations pour expliquer Postfix comment utiliser cette base
de donnes. Les fichiers se ressemblent donc faites attention aux erreurs dinattention :
Ajoutons lutilisateur MySql postfix dans notre base de donnes, taper dans MySql les lignes
suivantes :
- USE postfix;
- CREATE USER 'postfix'@ 'localhost' IDENTIFIED BY postfix';
- GRANT USAGE ON * . * TO 'postfix'@'localhost' IDENTIFIED BY
postfix';
- GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@
'localhost';
- FLUSH PRIVILEGES;
Nous allons crer les fichiers suivants :
/etc/postfix/mysql-virtual_domaines.cf

/etc/postfix/mysql-virtual_comptes.cf


14

/etc/postfix/mysql-virtual_aliases.cf

/etc/postfix/mysql-virtual_aliases_comptes.cf

/etc/postfix/mysql-virtual_quotas.cf

Une fois termine, scurisons tout cela avec ces lignes de commandes :
- chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf
- chgrp postfix /etc/postfix/mysql-virtual_*.cf

15

4. Cration de lutilisateur et groupe vmail
Pour avoir une configuration assez propre et scuris, nous pouvons crer un utilisateur et un groupe
vmail qui se chargera de grer/stocker les courriels sur le serveur. Nous devons prciser des UID et
GID prcis (5000) car nous en auront besoin plus tard dans un fichier de configuration.
# Crer un groupe vmail avec le gid 5000
groupadd -g 5000 vmail
# Crer un utilisateur vmail avec un uid 5000 et son rpertoire perso dans /var/spool/vmail
useradd -g vmail -u 5000 vmail -d /var/spool/vmail/ -m
5. Configuration de Postfix
Dans le terminal, tapez : nano /etc/postfix/main.cf
Adapter votre configuration comme ci-dessous :



16


6. Ajout dadresses email virtuelles
Tout est bon au niveau de postfix, il ne nous reste plus qu ajouter un nom de domaine et
une adresse email virtuelle dans notre base de donnes via MySql.
Ajouter un nom de domaine en premier lieu
Taper dans MySql:
INSERT INTO `domaines` ( `domaine` , `etat` ) VALUES ('skyston.org',
'1');
Ensuite crer ulrich@skyston.org et skyston@skyston.org :
INSERT INTO `comptes` ( `email` , `password` , `quota` , `etat` ,
`imap` , `pop3` ) VALUES ('ulrich@skyston.org', ENCRYPT ( ulrich),
'0', '1', '1', '1');
Idem pour lautre adresse.
7. Installation de Courier pour la gestion de lIMAP et POP
Maintenant que Postfix est install et configur, on a besoin dinstaller courier afin de grer
les protocoles pop et imap, qui nous permettent de rcuprer nos email via un client comme
Thunderbird, outlook. Voici la liste des paquets installer :
apt-get install courier-base courier-authdaemon courier-authlib-
mysql courier-imap courier-pop
8. Configuration de Courier
Ajouter/modifier dans le fichier /etc/courier/authdaemonrc la ligne suivante comme telle :
authmodulelist="authmysql"
On doit ensuite fournir les identifiants de connexion la base de donnes et le nom des
tables. Pour cela on va modifier le fichier etc/courier/authmysqlrc :

17


Redmarrer tous les services associs courier
/etc/init.d/courier-authdaemon restart
/etc/init.d/courier-pop restart
/etc/init.d/courier-imap restart





PARTIE III : Tests denvois de courriers

19

1. Test dun nslookup du ct client

2. Envois du Terminal vers Outlook
Nous allons envoyer un message dat du 22/04/14 du Terminal :



20

Nous obtenons dans outlook de notre XP :

3. Envois dun courrier de XP (skyston@skyston.org) Evolution
(ulrich@skyston.org)


21

En allant dans la section Elments envoys on dois voir le message qui venait dtre
envoy :

A prsent, nous allons voir dans Evolution si le message est bien arriv :

Le message est bien arriv destination.


22

4. Un courrier de ulrich@skyston.org skyston@skyston.org:
Nous allon demander ulrich@skyston.org de rpondre ce message.

Et comme attendu, nous avons dans la section envoys :

Vrifions cela dans Outlook du XP en cliquant sur Envoyer/Recevoir :

23


Comme attendu, skyston@skyston.org a bien reu le message.


24

RETOUR DEXPERIENCE
En terme de notre projet, nous avons pu voir les grandes lignes sur la configurations dun
serveur de messagerie. Il nous a donn de nouvel exprience et de connaissance tant sur le plan
thorique que sur le plan pratique. Dans la logique, notre serveur de messagerie aurais pu avoir plus
de scurit. Parmi ce qui manque -- bien que peu de particuliers en aient besoin -- ce sont les
rcritures via des expressions rationnelles, par exemple. Ce sera probablement implant dans une
future version.


25

BIBLIOGRAPHIE
http://www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-5-backup-
securite-197.html
https://www.isalo.org/wiki.debian-
fr/Installation_sur_une_Squeeze_d'un_serveur_mail_complet_(Postfix_Postfixadmin_Dovecot_Mysq
l_Amavisd-
new_Spamassassin_Clamav_Postgrey_Squirrelmail_Roundcube)_avec_gestion_des_filtres_Imap_et_
des_quotas
http://frankyleundeu.over-blog.com/article-mise-en-place-d-un-serveur-de-mail-avec-postfix-et-
courier-imap-86123038.html
http://www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-complet-sous-debian-4-postfix-
et-courier-168.html
http://www.tutoriels-video.fr/installation-et-configuration-dun-serveur-de-mail-avec-postfix-et-
courier/
http://www.e-glop.net/main/Param%C3%A9trer_un_serveur_mail_Postfix,_Courier-
IMAP_avec_authentification_PostgreSQL_et_SASL
http://dotclear.placeoweb.com/post/Debian-Postfix-MySQL-SASL-PostfixAdmin-Courier-
VirtualDomain-Serveur-mail-SMTP-IMAP-POP

You might also like