Tải bản đầy đủ (.pdf) (75 trang)

Systèmes de courriers électroniques à grande échelle sur le cloud = hệ thống thư tín điện tử kích thước lớn trên đám mây điện toán luận văn ths truyền dữ liệu và mạng máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.01 MB, 75 trang )

UNIVERSITE NATIONALE DU VIETNAM, HANOI
INSTITUT FRANCOPHONE INTERNATIONAL

SENTHAVONG CHANTHALA

SYSTÈMES DE COURRIERS ÉLECTRONIQUES À
GRANDE ÉCHELLE SUR LE CLOUD
HỆ THỐNG THƯ TÍN ĐIỆN TỬ KÍCH THƯỚC LỚN
TRÊN ĐÁM MÂY ĐIỆN TOÁN

MEMOIRE DE FIN D’ETUDES DU MASTER INFORMATIQUE

HANOI – 2015



ATTESTATION SUR L’HONNEUR
J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les
données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés
ailleurs. La source des informations citées dans ce mémoire a été bien précisée.

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ công trình nào khác. Các thông tin trích d ẫn trong Lu ận
văn đã được chỉ rõ nguồn gốc.

Signature de l’étudiant

SENTHAVONG Chanthala



Sommaire
Remerciements

iii

Résumé

iv

Abstract

v

Table des figures

vi

Liste des tableaux

viii

Introduction Générale

1

1 État de l’Art
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Système courriels . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Architecture générale d’un Système de Courriers électroniques . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.2 Protocoles et Fonctionnement des Systèmes Emails . .
1.2.3 Structure d’un courriel . . . . . . . . . . . . . . . . .
1.3 Zimbra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Architectures de Zimbra . . . . . . . . . . . . . . . . .
1.3.2 Composants de la suite collaborative Zimbra . . . . .
1.3.3 Comparatif Zimbra et autres solutions . . . . . . . . .
1.3.4 Déploiement du système à grande échelle . . . . . . .
1.4 Cloud Infrastructure . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Virtualisation . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Le Cloud Computing . . . . . . . . . . . . . . . . . .
1.4.3 Solutions Existantes du Cloud . . . . . . . . . . . . .
1.4.4 Openstack . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3

i

3
4
5
6
7
10
13
16
17
17
19

21
24


1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Solution Implémentée
2.1 Concept . . . . . . . . . . . . . . . . .
2.1.1 Concept pour Openstack . . . .
2.1.2 Concept pour Zimbra . . . . . .
2.2 Implémentation . . . . . . . . . . . . .
2.2.1 Installation d’OpenStack . . . .
2.2.2 Création des machines virtuelles
2.2.3 Installation de Zimbra . . . . . .
3 Expérimentations
3.1 Administration
3.2 Administration
3.3 Test d’envoi de

.
.
.
.
.
.
.

.
.
.
.

.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.


.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

29
30
30
33
34
36

37
43
45

sur le Système
49
d’OpenStack . . . . . . . . . . . . . . . . . . 49
de Zimbra . . . . . . . . . . . . . . . . . . . . 51
Mail . . . . . . . . . . . . . . . . . . . . . . . 53

4 Conclusion

55

Bibliographie

56

Annexes
60
4.1 Annexe A - Première connexion à une instance OpenStack
après son démarrage . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Annexe B - Création d’une Instance de Machine virtuelle . . 62

ii


Remerciements
Je tiens à remercier tout d’abord les professeurs de l’Institut Francophone
International (IFI) et précisément Monsieur Nguyen Hong Quang, Professeur

d’informatique, qui m’a conseillé ce stage et m’a assisté lors des difficultés
que j’ai rencontrées.
Je tiens également à remercier l’entreprise Netnam, là où je suis restée
près de 6 mois pour réaliser ce stage, et plus précisément mon responsable à
Netnam Mr Le Anh Tuan monsieur le directeur, Nguyen Thanh Thai, Tân
Nguyen Van, Hieu Vo Trung tous les membres de l’équipe Network.
Finalement, merci à tous mes amis étudiants de l’IFI avec qui j’ai passé
des bons moments et des moments difficiles, et aussi ma famille qui m’a
toujours apporté leur soutien.

iii


Résumé
Parmi les nombreux moyens de communications apparus avec Internet,
figure le courrier électronique ou e-mail. Il s’agit d’un moyen de communication fonctionnant de façon similaire aux traditionnelles lettres en papier : une
personne possède une adresse, et peut envoyer un texte virtuel par Internet
ou un réseau à une autre personne via son adresse. Cependant, le fait que
de plus en plus de personnes utilisent Internet et les ordinateurs a amené les
fournisseurs de ce moyen de communication à se poser des questions sur les
ressources que cela pourrait nécessiter.
La virtualisation a amené une autre dimension intéressante sur ces systèmes, tout en utilisant les possibilités d’Internet grâce au Cloud, en permettant aux administrateurs de pouvoir gérer à distance, leurs serveurs. Dans le
cadre de notre stage, nous nous sommes intéressés à la mise en place d’un
système de courriers électroniques sur le Cloud possédant une grande échelle
en terme du nombre d’utilisateurs.
Nous avons proposé une solution utilisant la suite collaborative opensource Zimbra pour s’occuper de la partie Système de Courriels et le logiciel
open-source OpenStack pour la partie virtualisation et Cloud computing.
Après avoir mis en place les différents serveurs, et installer notre système,
nous avons effectués une expérimentation d’envois et de réceptions de mails
afin de voir le bon fonctionnement de notre système prototype.

Mots-clés : Système grande échelle pour courrier électronique, Cloud computing, zimbra.

iv


Abstract
Among the communication technologies appeared with Internet, figure
the e-mail. It is a communication technology working like the old letter in
paper : someone has an address, and can send a virtual text thanks to Internet or an other network to someone else by its address. However, the fact of
having more and more Internet users and computers users asks to the providers of these communication technologies questions about the resources that
it could need.
Virtualization provides an other interesting dimension on these systems,
still using Internet possibilities thanks to the Cloud, allowing the admins
to manage servers remotely. In the context of our internship, we have been
interested in the design of a mailing system on the Cloud, having a large
scale of users.
We proposed a solution using the open-source groupware Zimbra to manage the mailing system part, and the open-source software OpenStack for
the virtualization and Cloud computing part. After setting the different servers, and install our system, we made experiments of sending and receiving
mails to see the good execution of our prototype.
Keywords : System large-scale for electronic mail, Cloud computing, Zimbra.

v


Table des figures
1.1 Montre l’architecture ordinaire d’un système de courriers électroniques (abréviation courriels)[3] . . . . . . . . . . . . . . .
1.2 Protocoles principaux utilisés par les systèmes de courriels
modernes[3] . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Structure d’un Email[3] . . . . . . . . . . . . . . . . . . . . .
1.4 Architecture Serveur[7] . . . . . . . . . . . . . . . . . . . . .

1.5 Architecture Cliente[7] . . . . . . . . . . . . . . . . . . . . .
1.6 Composants possibles dans Zimbra[7] . . . . . . . . . . . . .
1.7 Schéma d’un Hyperviseur[11] . . . . . . . . . . . . . . . . . .
1.8 Fonctionnement des deux types d’Hyperviseur[10] . . . . . . .
1.9 Contenu du Cloud[12] . . . . . . . . . . . . . . . . . . . . . .
1.10 Architecture Générale d’OpenStack[23] . . . . . . . . . . . .
1.11 Architecture Détaillée d’OpenStack[24] . . . . . . . . . . . . .
1.12 Minimal Architecture Example- Network Layout OpenStack
Networking(Neutron)[24] . . . . . . . . . . . . . . . . . . . .
1.13 Minimal Architecture Example - Service Layout OpenStace
Networking(Neutron)[24] . . . . . . . . . . . . . . . . . . . .

4
5
6
8
9
11
18
18
19
25
26
27
28

2.1
2.2
2.3
2.4

2.5

Architecture Globale du Système choisi . . .
Architecture du système Zimbra implémenté
Diagramme de cas d’utilisation . . . . . . . .
Résultat d’installation . . . . . . . . . . . . .
Architecture des Machines Virtuelles . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

32
34
37
42
44

3.1
3.2
3.3
3.4
3.5

Interface d’Authentification sous OpenStack
Vue Générale d’OpenStack . . . . . . . . .
Vue de la Topologie d’Openstack . . . . . .
Interface d’authentification sous Zimbra . .
Interface en Administrateur sous Zimbra . .

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.

.
.
.
.
.

49
50
51
52
52

vi

.
.
.
.
.


3.6 Interface en Utilisateur sous Zimbra . . . . . . . . . . . . . .


53

4.1 Annexes- Configuration de notre Interface . . . . . . . . . . .
4.2 Annexes- Génération d’une paire de clé administrateur côté
admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Annexes- Génération d’une paire de clé administrateur côté
OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Annexes- Création d’une image de Système d’Exploitation . .
4.5 Annexes- Création d’une instance de machine virtuelle . . . .
4.6 Annexes- Protocoles Extérieurs . . . . . . . . . . . . . . . .
4.7 Annexes- Création d’une IP publique . . . . . . . . . . . . .

60

vii

61
61
62
63
63
64


Liste des tableaux
1.1
1.2
1.3
1.4


Tableau Comparatif des Suites Collaboratives . . . .
Tableau des serveurs requis pour Zimbra . . . . . . .
Tableau des Capacités par Service de Zimbra . . . .
Comparaison entre les logiciels du Cloud Computing

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


2.1
2.2
2.3
2.4
2.5
2.6

Ressources Nécessaires pour Zimbra avec 1.000.000 d’utilisateurs
Serveurs Nécessaires pour Zimbra avec 1.000.000 d’utilisateurs
Ressources Nécessaires pour Zimbra avec 10.000 d’utilisateurs
Ressources Nécessaires pour ce système . . . . . . . . . . . .
Logiciels Nécessaires dans chaque Noeud . . . . . . . . . . . .
Modules Zimbra présents dans chaque Serveur . . . . . . . .

3.1 Tableau Comparatif deux différents systèmes . . . . . . . . .

viii

15
16
17
23
30
31
31
32
34
35
54



Introduction Générale
Contexte et Cadre d’étude
Ce rapport a été réalisé durant les travaux de notre stage de fin de formation de Master Réseaux et Systèmes Communicants de l’Institut Francophone International, en double diplômation avec l’Université Claude Bernard
de Lyon. Le stage a été effectué au sein du service " Réseaux Recherche et
Développement " de l’entreprise Netnam 1 . Netnam est un fournisseur d’accès à Internet mais aussi à des services en ligne et des services déjà géré par
l’entreprise. Elle fut la première entreprise à introduire le service de courriel
au Vietnam en 1994, et est composée de 170 employés répartis entre Hanoi
et Ho Chi Minh Ville.
Le sujet que nous étudierons au sein de ce rapport concerne les systèmes
de courriers électroniques et la virtualisation. En effet, Internet étant de
plus en plus utilisés, les services qu’ils proposent ont étés multipliés, et nous
avons vus différents types de systèmes de courriels apparaître. Très souvent,
les utilisateurs privilégient les systèmes déjà gérés par une entreprise comme
Gmail pour Google, Yahoo, ou bien des solutions logicielles comme Outlook
de Microsoft.
Cependant, certains utilisateurs comme les gouvernements, l’armée ou
certaines grandes entreprises ont une préférence pour un système qu’ils administrent eux mêmes, et ceux pour des raisons comme la liberté, la confidentialité ou encore la sécurité. Mais ces systèmes sont très complexes et
coûteux autant en terme de mise en place, que de maintenance, surtout à
grande échelle.
1. Netnam company : http ://www.netnam.vn/

1


Problématique
L’apport de la virtualisation dans ce domaine permet une souplesse en
terme d’échelle utilisateur et de simplicité du système, si bien que plusieurs
systèmes de courriels sont déjà présents dans le Cloud[1], cependant, leurs

performances et leur mise en place sont toujours à étudier. Les problématiques qui ont été soulevées concernent la disponibilité des services, leurs
performances mais aussi l’optimisation du stockage des données de ces systèmes à grande échelle.

Objectifs du stage
Les objectifs de notre stage sont diverses, mais nous pouvons les regrouper
en deux grandes parties. Dans un premier temps, nous effectuerons une partie
orientée recherche conséquente sur les différents technologies Open-source
existantes afin d’essayer de devenir expert dans le domaine des systèmes
courriels, de la virtualisation, de stockage et des logiciels existants dans le
but de dresser un comparatif. Puis nous commencerons la deuxième partie de
ce stage, qui consiste en l’implémentation du système, plus précisément dans
son installation, sa configuration qui sont des étapes cruciales, mais aussi les
différents tests effectués pour vérifier le bon fonctionnement de notre système
à grande échelle, soit plus d’un million d’utilisateurs.

Organisation du mémoire
Ce rapport sera divisé en deux parties : une première qui introduira le
sujet et dressera un état de l’art en terme de conception de systèmes de
courriels, avec une présentation de leur architecture, suivie par une sous partie
portée sur le logiciel Zimbra et terminée par un descriptif du Cloud, plus
précisément de OpenStack, logiciel qui nous aura permis la virtualisation.
Nous continuerons avec une deuxième partie plus centrée sur le système que
nous aurons réalisé, avec les différents concepts qui ont été retenus et nous
nous concentrons sur l’implémentation de ce système, autant au niveau du
système de courriels que la partie virtualisation, enfin, nous terminerons cette
deuxième partie par l’énonciation des différents résultats obtenus.
2


1 État de l’Art

1.1

Introduction

Au sein de cette partie, nous étudierons ensemble les différents logiciels
et systèmes de courriers électroniques utilisés durant nos travaux. Nous présenterons dans un premier temps le fonctionnement des systèmes d’envois
de courriers électroniques de façon détaillée. Nous continuerons ensuite en
faisant un descriptif de l’architecture du système utilisé durant nos travaux,
Zimbra, tout en dressant un comparatif entre celui-ci et les différents systèmes d’envois de courriers électroniques. Puis, nous aborderons plus facilement le domaine de la virtualisation, en nous intéressant de plus près au
Cloud Computing. Cela nous amènera à réaliser de nouveau un comparatif
entre le logiciel choisi, c’est à dire OpenStack, et les différents autres logiciels
existants, non sans avoir présenter OpenStack au préalable.

1.2
1.2.1

Système courriels
Architecture générale d’un Système de Courriers
électroniques

Les systèmes de courriels électroniques [2] ou encore système E-mail, sont
des systèmes composés d’un ensemble d’éléments permettant de transmettre
un courrier électronique[3]. Ils sont aussi considérés comme un service de
transmission de messages écrits et de documents envoyés électroniquement,
que ce soit sur le réseau de l’émetteur de message et du récepteur comme sur
Internet. Nous pouvons envoyer des e-mails à plusieurs personnes grâce à Internet n’importe où et n’importe quand (à conditions d’avoir une connexion).

3



Figure 1.1 – Montre l’architecture ordinaire d’un système de courriers
électroniques (abréviation courriels)[3]
MUA (Mail User Agent ou Agent Utilisateur d’E-mail) : qui permet à
l’utilisateur de recevoir et envoyer des courriels
MTA (Mail Transfer Agent ou Agent de Transfert d’E-mail) : qui permet
la communication entre le client et le serveur, deux MTA sont nécessaires
(coté client et coté serveur)
MAA (Mail Access Agent ou Agent d’Accès aux E-mail) : qui gère l’authentification et l’accès aux courriels des utilisateurs
SMTP (Simple Mail Transfer Protocol ou Protocole Simple de Transfert
d’E-mail) qui assure la communication entre deux MTA

1.2.2

Protocoles et Fonctionnement des Systèmes Emails

Le fonctionnement du courrier électronique est basé sur l’utilisation d’une
boîte à lettres électronique.(Voir dans la figure 1.2 )

4


Figure 1.2 – Protocoles principaux utilisés par les systèmes de courriels
modernes[3]
Dans la figure 1.2, nous avons constaté lorsque nous réalisons l’envoi d’un
email, le message est acheminé de serveur en serveur, jusqu’au serveur de
messagerie du destinataire. Plus exactement, le message est envoyé au serveur
de courrier électronique chargé du transport (nommé MTA), jusqu’au MTA
du destinataire. Le protocol SMTP, Simple Mail Transfer Protocol, est un
protocole de communication utilisé pour transférer le courrier électronique
vers les serveurs de messagerie, grâce à ce protocole sur internet, les MTA

communiquent entre-eux et sont logiquement appelés serveurs SMTP (parfois
serveur de courrier sortant). Le serveur MTA du destinataire délivre alors le
courrier au serveur de courrier électronique entrant (nommé Mail Delivery
Agent ou MDA), qui conserve alors le courrier en attendant que l’utilisateur
vienne le récupérer.
Il existe deux principaux protocoles permettant de récupérer du courrier
sur un MDA : le protocole POP3, Post Office Protocol, le plus ancien, permettant de relever son courrier et éventuellement d’en laisser une copie sur le
serveur, et le protocole IMAP4, Internet Message Access Protocol, qui permet une synchronisation de l’état des courriers (lu, supprimé, déplacé) entre
plusieurs clients de messagerie, et réalisant une copie de tous les messages
qui est conservée sur le serveur afin de pouvoir assurer la synchronisation.

1.2.3

Structure d’un courriel

Les courriers électroniques sont divisés en deux sous parties : l’en-tête(Header)
et le corps (Body).(Voir dans la figure1.3)

5


Figure 1.3 – Structure d’un Email[3]
Les deux parties principales [5] sont l’en-tête(header) et le corps(body)
de l’E-mail, quand le MUA veut envoyer des emails, la partie l’en-tête, elle
va générer automatiquement, conserver les informations sur la date, le destinataire, l’expéditeur et enfin le sujet du mail. Le corps du courriel contient
le contenu du message. L’en-tête et ce corps sont séparés par une ligne vide,
alors que les paramètres du header sont séparés par des retours à la ligne.
Chaque ligne aura une longueur maximum de 1,000 bytes, et la taille d’un
courriel ne doit pas dépasser 64 Kilobyte[6].
Le courriel passera au moins deux fois le MTA, la première lors de l’envoi

du mail au serveur, et la deuxième, après avoir trouvé le destinataire, lors de
l’envoi du serveur vers la boîte électronique du destinataire. Nous venons de
voir le fonctionnement d’un système de courriers électroniques, nous allons
désormais nous intéresser au logiciel qui a été utilisé lors de ce stage : la suite
collaborative Zimbra.

1.3

Zimbra

Nous allons présenter dans cette sous-partie la suite collaborative Zimbra[7].
Mais avant d’entrer dans les détails de son architecture, nous allons effectuer
une courte présentation de cette suite, non sans préciser ce qu’est une suite
6


collaborative. Une suite collaborative est un logiciel d’applications destiné à
aider les utilisateurs participant à une même tâche de travail à atteindre leurs
objectifs en leur fournissant des produits comme les courriers électroniques,
les calendriers, les agendas, les chats et tout ce qui pourrait être utilisé par
un groupe de travail.
Quant à Zimbra, il s’agit d’une suite collaborative comprenant un serveur
de messagerie mais aussi un client web. Cette suite possède deux versions :
la première est gratuite, et a des composants Open-Source uniquement, la
deuxième, appelée " Network Edition " est payante, qui intègre des composants propriétaires (Closed-Source) pour les services d’échanges web par
exemple. Il est possible de faire son propre package en prenant des composants Open-Source principalement, et ne payer que pour certains composants
Closed-Source.
La suite prend en charge les courriers électroniques, les contacts, les calendriers de groupe et de tâches ainsi que le partage de document. Nous
venons de faire un bref descriptif de Zimbra, nous allons maintenant voir ensemble son architecture, en commençant par l’architecture coté serveur puis
l’architecture coté client.


1.3.1

Architectures de Zimbra

Serveur Zimbra : Les différents composants du logiciel Zimbra, sont montrés dans la Figure 1.4.
Premièrement, le MTA. Mail Transfer Agent ou Agent pour le Transfert
d’E-mail en français, il s’agit d’un serveur qui va prendre en charge l’envoi
et la réception des courriers interne et externe à Internet grâce à SMTP, et
peut fonctionner en mode Actif ou Passif. Il est utilisé dans Zimbra en tant
que point de relai pour l’archivage des courriels, et est placé sur un serveur
Anti-SPAM/ Anti-Viral (ASAV).
Le transfert avec la boîte de courriers électroniques est assuré grâce aux
protocoles SMTP et LMTP (Local Mail Transfer Protocol ou Protocol Local
de Transfert d’E-mail). SMTP est utilisé pour les courriers électroniques provenant du serveur et allant vers le Cloud, alors que LMTP est utilisé pour les
courriers allant du Cloud vers le Serveur. Cela permet de libérer la queue des
messages entrants si jamais un message ne peut être immédiatement distribué
à son destinataire (LMTP).
7


Figure 1.4 – Architecture Serveur[7]
Ensuite, il y a le serveur MailBoxD, qui est un serveur web applicatif
qui est basé sur la Servlet Jetty, le conteneur de logiciel Zimbra. Ce serveur
contrôle tout, de la partie Interface Web Cliente des utilisateurs, pour qu’ils
puissent voir leur boîte de réception, aux réponses à envoyer aux autres clients
mails qui effectuent des requêtes POP et IMAP, ainsi qu’à leur livraison.
Le serveur conserve aussi les messages et fournit des index pour ces messages grâce au système de gestion de base de données MariaDB (développé
par ceux qui ont fait MySQL suite au rachat de MySQL par Oracle). C’est
pareil ailleurs MariaDB qui gère les agendas, les tâches et les contacts des

utilisateurs. Dans l’image, nous pouvons voir la présence de deux MailBoxD :
une pour gérer le contenu dynamique avec des données enregistrées au niveau
de l’Interface Utilisateur, et une autre pour gérer le contenu statique.
Nous allons désormais nous intéresser au principal composant de l’architecture Zimbra, que tout implémentation Zimbra doit avoir : Zimbra Open
LDAP. Il s’agit d’un service qui s’occupe des informations nécessaires en
terme de configuration à l’éxécution de l’environnement Zimbra. En plus de
cela, les informations sur les utilisateurs sont stockées dans ce composant,
8


comme les mots de passe, les identifiants, leurs préférences, ou encore le serveur sur lequel se situe leurs boîtes de réception. LDAP s’occupe aussi de
la gestion en terme d’informations de domaines. Pour chaque domaine, une
information sur la configuration est incluse, sur la façon dont les utilisateurs
s’identifient par exemple.
Puis nous avons le proxy, qui sépare ce qui est exposé à Internet de ce
qui est protégé par un pare-feu. Le serveur Proxy et le serveur MTA sont
normalement placés dans la DMZ (Zone démilitarisée). Le serveur proxy
attend des requêtes des clients et les envoie aux différents serveurs de la
boîte de réception. Le proxy fournit principalement une couche de sécurité.
Les protocoles utilisés et ecoutés par le proxy sont les protocoles HTTPS
(HyperText Transfer Protocol Secure) , IMAPS (Interactive Message Access
Protocol Secure) et POP3s (Post Office Protocol Secure) qui permettent
d’assurer une certaine sécurité sur les transferts.
Cliente Zimbra : L’Architecture cliente Zimbra est décrite dans la Figure1.5.

Figure 1.5 – Architecture Cliente[7]
Nous allons expliquer l’architecture cliente, de la même façon que nous
l’avons fait dans la sous partie précédente. Le premier composant auquel
nous allons nous intéresser est le composant Zimbra-Collaboration. Il s’agit
du processus de MailBoxD, qui écoute les différents protocoles pour répondre

aux requêtes clientes (POP, IMAP, LMTP, CardDAV, etc).
9


Le navigateur du client effectue une requête SOAP (Simple Object Access Protocol) pour récupérer des informations qui seront alors envoyées au
navigateur. Il y a ensuite la partie Navigateur du Client, dans lequel deux
modes sont possibles : le premier, HTML où l’information est affichée avec
le langage HTML, et le second en AJAX, qui utilise un framework AJAX et
permet des fonctionnalités supplémentaires telles que le Glisser-Déposer.
Les clients bureaux permettent une collaboration entre Zimbra et les
clients mails tels que Thunderbird grâce au protocol IMAP, POP ou CalDAV ou Outlook. Cependant, pour Outlook, la version payante de Zimbra
est nécessaire car Outlook est un logiciel closed-source et utilise un protocole
MAPI qui provient de l’API Microsoft.
Les clients mobiles peuvent communiquer avec Zimbra, les Blackberrys peuvent grâce au Blackberry Enterprise Server, mais les autres mobiles
peuvent utiliser activesync, cependant, tous sont présents uniquement dans
la version payante de Zimbra.
Enfin nous pouvons remarquer la présence de Zimlet, qui sont une possibilité d’extension de l’interface web pour intégrer des services externes à
Zimbra. Il n’est pas recommandé d’un point de vue sécurité de présenter des
informations dans un client à travers des domaines, cependant il existe une
Zimlet nommée Zimlet Web Service Proxy pour prévenir ce manque de sécurité. Une autre Zimlet nommée Zimlet JSP Tags communique quant à elle
des informations sur le navigateur grâce à l’interface MailBoxD.

1.3.2

Composants de la suite collaborative Zimbra

Nous allons voir dans la figure 1.6, les différents composants individuels
qui peuvent constitués Zimbra, d’abord nous allons presenter dans "Key for
ZCS(Zimbra Collaboration Server)8.5". En orange (Z) les composants du
système Zimbra, les fonctionnalités que Zimbra a créé et a ajoutée à son

architecture. En blanc (3p)"3rd party FOSS" sont les logiciels Open-source,
celles fournient par des parties tierces. et en blanc (NE)"ZCS NE Only" celles
disponibles dans la version Payante Network Edition.

10


Figure 1.6 – Composants possibles dans Zimbra[7]
En utilisant les protocoles standards voici les composants : premièrement,
pour Zimbra MTA. Nous avons Postfix, un agent de transfert de message
(MTA) qui renvoient les emails reçus par SMTP ou LMTP comme ce client
implement les deux[4]. Il y a aussi Zimbra Archiving, qui est une fonctionnalité optionnelle. Il possède la fonctionnalité de recherches qui peut être
utilisée dans la boîte réception active mais aussi celle archivée. L’Anti-Virus
et Anti-Spam comprennent un scanner anti-virus (Clam AV), et un filtre mail
pour identifier les Spam (SpamAssassin ou DSpam au choix).
— Postfix est un serveur de messagerie électronique et un logiciel libre développé par Wietse Venema et plusieurs contributeurs.(Voir plus détaillé
dans le site "http ://www.postfix.org/").
— DSPAM : DSPAM est un filtre anti-spam open-source à échelle modulable désigner pour les systèmes d’entreprises possédant plusieurs utilisateurs. (Voir le site "http ://dspam.nuclearelephant.com")
— OpenDKIM : OpenDKIM est une implémentation du système authentification d’émetteur DKIM proposé par le E-mail Signing Technology
Group (ESTG) (Voir le site "http ://www.opendkim.org")

11


— Cyrus SASL : Cyrus est un système d’E-mail entreprise à grande échelle
conçu pour les environnements d’entreprises de différentes tailles et différentes technologies.(Voir "https ://cyrusimap.org/index.php")
Le composant Zimbra Proxy utilise un server IMAP/POP3 qui permet
à des mails d’un domaine d’être partagé à travers plusieurs serveurs Zimbra sur une base par utilisateur. Ce proxy inclut Nginx, un serveur proxy
IMAP/POP3 de très bonne qualité qui peut gérer les requêtes POP/IMAP
entrantes. Le composant Zimbra Proxy peut être utilisé comme un proxy

inverse pour les requêtes HTTP. Ce composant est optionnel. Le composant Zimbra Memcache est un package séparé du composant Zimbra Proxy
et qui est automatiquement sélectionné quand le package Zimbra Proxy est
installé. Un serveur doit fonctionné avec Zimbra Memcache quand le proxy
est en cours d’éxécution. Tous les proxys peuvent utiliser un même serveur
Memcache.
Le composant mailbox UI est utilisé uniquement si l’interface de mailboxd
est dans un noeud séparé, ce qui n’est pas requis comme nous en avons parlé
dans l’architecture serveur. Ce composant possède un processus Jetty qui
fournit des services pour les répertoires Zimbra et les informations Zimlet.
Le composant MailboxD est l’application serveur basée sur Jetty dans lequel le logiciel Zimbra est éxécuté, Jetty étant une servlet éxécutant Zimbra.
Il possède la base de données MariaDB, qui est un logiciel qui représente le
stockage de méta-données où sont conservées les identifiants de boîte de réception liées aux comptes utilisateurs. Elle contient aussi les étiquettes définies
par l’utilisateur, ses dossiers, son calendrier et ses contacts ainsi que tous les
statuts des messages (Lu, Non Lu). MailboxD contient aussi Lucene qui est
un moteur de recherche et d’indexation de texte open source, qui maintient
les fichiers d’indexation de chaque boîte mail. Il contient aussi le package
optionnel Zimbra Logger qui permet de traquer les messages, LibreOffice
pour avoir un affichage des documents de haute résolution et RRDTool pour
bénéficier de graphe pour les statistiques.
Le composant Zimbra Spell est un composant optionnel qui permet de
vérifier l’orthographe des courriers électroniques. Le composant Convertd est
un package installé sur le serveur de stockage Zimbra, et contient une fonctionnalité source qui convertit les fichiers liés dans un mail en HTML.
12


Le composant OpenLDAP software est une implémentation open-source
du protocole LDAP qui fournit une authentification utilisateur. Chaque utilisateur a un identifiant de boîte de réception unique qui sert de point de référence au compte utilisateur. (Voir plus détaillé dans le site "http ://www.openldap.org/"
Le composant DNS Cache a pour but d’améliorer les performances des
serveurs MTA en créant un cache local pour le DNS ce qui évite à Zimbra
de s’adresser à un serveur DNS externe.

Le composant "Connecteurs" s’occupent de la réaliser la compatibilité
Outlook(NE) et Zimbra, et propose une solution pour réaliser la migration
des données sous un serveur Microsoft Exchange, mais pour ce service il faut
payer. Le dernier composant permet le "Monitoring" c’est à dire un logiciel
de surveillance grâce à l’implémentation logicle libre Swatch(en savoir plus
http ://sourceforge.net/projects/swatch/).

1.3.3

Comparatif Zimbra et autres solutions

En comparaison avec d’autres logiciels avec des fonctionnalités vers les
utilisateurs mobiles, sur le web, Zimbra fournit une interface webmail, professionnelle et de la flexibilité. Le tableau 1.1 [8] compare les caractéristiques
du système Zimbra avec les systèmes e-mail de collaboration comme Kolab,
Zarafa ou encore OBM[9]. Présentons tout d’abord les différents logiciels.
Kolab est une suite collaborative open-source tenue par le Consortium
Kolab, un consortium allemand, qui permet de gérer les mails et carnets
d’adresse d’une organisation, le but principale de Kolab et de tout conserver
dans un serveur IMAP (mails comme carnets, notes, agendas, fichiers, etc).
Le serveur gère les droits d’accès et la synchronisation du clients. Il utilise
des normes open-sources et connues pour être compatible avec beaucoup de
logiciels. ( Pour plus d’information, aller sur "https ://kolab.org/")
OBM est une suite collaborative, développée par Linagora, qui permet à
ses utilisateurs de conserver, organiser et partager des rendez-vous, des mails,
des contacts ou encore des documents. Le serveur est compatible avec de nombreux navigateurs, et des clients pour l’annuaire. Les fonctionnalités d’OBM
sont aussi accessibles grâce à des connecteurs pour Thunderbird ou Outlook.
Cette plate-forme peut être intégrée à un système d’information existant facilement. (Voir plus information dans ce site "http ://www.obm.org/")
Zarafa est elle aussi une suite collaborative open-source, développée par
13



Connectux initialement (renommée Zarafa), qui fournit des services de stockage de courriers électroniques sur un serveur, et des clients AJAX ou
HTML. Des versions commerciales existent et rendent disponibles des services avancés. Le serveur gère un carnet de contacts personnel, un calendrier,
des notes et des tâches et un dossier Public avec un calendrier partagé disponible autant pour des utilisateurs internes ou externes.(Voir plus information
dans ce site "https ://www.zarafa.com/")
Zentyal est un serveur de réseau unifié open-source, qui peut servir pour
gérer l’infrastructure du réseau, faire face aux menaces de sécurité, faire office
de passerelle internet, de serveur bureautique ou encore de serveur de communications, en plus de Framework pour le développement de nouveaux services
UNIX. Il a été développé par eBox Technologies.(Voir plus information dans
ce site "http ://www.zentyal.org/")
Le dernier logiciel qui va nous servir de comparatif est Gmail, qui certes
n’est pas une suite collaborative en lui même, mais la suite Google (Drive,
Docs, Calendar et Gmail) peuvent être considéré comme une suite collaborative.
Nous avons donc le tableau comparatif suivant :

14


×