Un serveur de messagerie Cyrus-imap avec replication

Transcription

Un serveur de messagerie Cyrus-imap avec replication
Un serveur de messagerie Cyrusimap avec replication

Introduction

La structure du système CYRUS

Le contexte local

Les étapes d'installation

La mise en marche

L'administration quotidienne
16/03/07
Sandrine Layrisse - IMB UMR 5251
1
Introduction



Le projet Cyrus a démarré à l'université
Carnegie Mellon en 1994.
Cyrus IMAP (Internet Message Access
Protocol)
Basé sur IMAP4, reconnu comme un
standard (RFC 1730)
16/03/07
Sandrine Layrisse - IMB UMR 5251
2
Introduction

Cahier des charges :
−
un système d'accès aux messages utilisable à partir
de protocoles implémentés dans des logiciels
standards tels que : IMAP(s), POP3(s), ou KPOP que
l'on trouve dans les logiciels de lecture de courrier
électronique
−
Pas de connexion des utilisateurs sur le serveur
−
Toutes les données des boîtes aux lettres sont
accessibles uniquement au système Cyrus IMAP, et à
des administrateurs identifiés clairement
16/03/07
Sandrine Layrisse - IMB UMR 5251
3
Introduction

Cahier des charges (suite) :
−
accès simultanés en lecture et en écriture à chaque
boîte aux lettres
−
Possibilité de gérer des ACL (liste d'accès aux b.a.l.),
et des quotas par b.a.l.
−
recherche d'un système efficace, robuste et
facilement administrable (comme d'hab !)
16/03/07
Sandrine Layrisse - IMB UMR 5251
4
Introduction

Cet outil vous intéresse si :
−
vous gérez le courrier de votre structure
−
la majorité de vos utilisateurs sont prêts à
abandonner POP pour IMAP (car peut-être
commencent-ils à accéder à leur mail depuis plusieurs
machines)
−
vous disposez d'un serveur (voire 2) à dédier pour le
mail
−
vous avez du matériel de sauvegarde
16/03/07
Sandrine Layrisse - IMB UMR 5251
5
La structure du système CYRUS

La structure du système :
−
Format des BAL : Maildir <=> une arborescence de
fichiers, un fichier correspondant à un mail complet
exemples : /var/spool/imap/mail/user/layrisse/1.
où /var/spool/imap est le « partition-default »
/var/spool/imap/mail/user/layrisse/mathrice/1.
−
16/03/07
Des bases de données et de l'indexation afin de
garantir la cohérence du système
Sandrine Layrisse - IMB UMR 5251
6
La structure du système CYRUS

Les bases de données
−
au niveau de l'arborescence : les fichiers cyrus.* dans
chaque répertoire de l'arborescence de la BAL
/var/spool/imap/mail/user/layrisse/cyrus.index
/var/spool/imap/mail/user/layrisse/cyrus.cache
/var/spool/imap/mail/user/layrisse/cyrus.header
/var/spool/imap/mail/user/layrisse/mathrice/cyrus.index
...
Ces fichiers contiennent des informations sur la BAL
et chaque message de chaque dossier
16/03/07
Sandrine Layrisse - IMB UMR 5251
7
La structure du système CYRUS

Les bases de données (suite) :
−
au niveau de /var/imap pour la gestion des BAL
/var/imap/mailboxes.db : C'est un fichier très
important. Il contient toute l'arborescence de
toutes les BAL (le sauvegarder très régulièrement).
Extrait avec la cmd « ctl_mboxlist -d » :
user.layrisse.Ext.mathrice
default layrisse
lrswipcda
depouill
l
/var/imap/user/x/layrisse.seen « ou » .sub : contient
l'état de tous les messages de chaque BAL et la
structure des sous-dossiers de la BAL.
16/03/07
Sandrine Layrisse - IMB UMR 5251
8
La structure du système CYRUS

Les bases de données (suite) :
−
Dans /var/imap (suite) :
annotations.db, deliver.db, tls_sessions.db : gèrent
les « duplicate delivery », les attributs de session
TLS
/var/imap/quota/ : contient les informations sur les
quotas
16/03/07
Sandrine Layrisse - IMB UMR 5251
9
Le contexte local
Installation minimale de Linux mandriva
2007


Un annuaire LDAP d'authentification

SSL requis
16/03/07
Sandrine Layrisse - IMB UMR 5251
10
Les étapes d'installation

Mes notes d'installation: ici
Une présentation intéressante :
http://www.whitemiceconsulting.com/system/files?f

16/03/07
Sandrine Layrisse - IMB UMR 5251
11
Les étapes d'installation

Comprendre /etc/imapd.conf :
configdirectory: /var/imap
partition-default: /var/spool/imap
les bases de données du
système
les messages
16/03/07
Sandrine Layrisse - IMB UMR 5251
12
Les étapes d'installation

/etc/imapd.conf :
admins: cyrus, moi
allowanonymouslogin: no
les comptes des administrateurs
pas de login anonyme
sieveuserhomedir: no
sievedir: /usr/sieve
sieve_admins: moi
La configuration de
sieve (pour les filtres)
16/03/07
Sandrine Layrisse - IMB UMR 5251
13
Les étapes d'installation

/etc/imapd.conf :
sasl_pwcheck_method: saslauthd
sasl_mech_list: plain
authentification des
utilisateurs
tls_cert_file: /usr/share/ssl/certs/cyrus-imapd.pem
tls_key_file: /usr/share/ssl/certs/cyrus-imapd.pem
le certificat du service pour des
communications sécurisées
16/03/07
Sandrine Layrisse - IMB UMR 5251
14
Les étapes d'installation

/etc/imapd.conf (suite) :
# Car transport_agent de postfix (/etc/postfix/main.cf) =
lmtp
lmtpsocket:/var/spool/postfix/var/imap/socket/lmtp
Attention ! si postfix est
chrooté
16/03/07
Sandrine Layrisse - IMB UMR 5251
15
La mise en marche
Outil de création/administration des B.A.L.
: cyradm
cm Create mailbox

Les commandes
disponibles
16/03/07
dam Delete ACL on mailbox
dm Delete mailbox
exit Quit cyradm
lam List ACLs on mailbox
lm List mail boxes
lq List quota information lqm List quota on mailbox
lqr List quota on root
renm Rename mailbox
sam Set ACL on mailbox
sq Set quota
Sandrine Layrisse - IMB UMR 5251
16
La mise en marche
Outils de migration d'un ancien système
vers le nouveau :

- Format des boîtes Mailbox -> Maildir
- UW-Imap -> Cyrus-Imap
- Courier-Imap -> Cyrus-Imap
- Migration vers une nouvelle machine
16/03/07
Sandrine Layrisse - IMB UMR 5251
17
La mise en marche

Mise en route de la réplication la 1ère fois :
- faire un rsync des répertoires /var/imap et
/var/spool/imap
- ou un script qui va lancer la synchronisation pour
chaque BAL sur le master. Par exemple :
for i in `ls -d /var/spool/imap/mail/user/*|cut -d\/ -f7`
do
echo $i /usr/cyrus/bin/sync_client -u $i
done
Ensuite, sync_client est lancé en mode rolling
sur le master, le réplica écoute grâce à
sync_server.

16/03/07
Sandrine Layrisse - IMB UMR 5251
18
L'administration quotidienne
La création des nouvelles BAL, ou la
destruction des BAL avec cyradm

Sauvegarder les répertoires /var/imap et
surtout mailboxes.db, puis /var/spool/imap
(pour les éventuelles restoration de
courriers)

16/03/07
Sandrine Layrisse - IMB UMR 5251
19
L'administration quotidienne
Reconstruire éventuellement (rarement)
des BAL avec la commande
« reconstruct »

Vérifier la place disque restante sur les
partitions du système (/var/imap,
/var/spool/imap, /var/spool/postfix)


Vérifier « sync_client -r » sur le master
16/03/07
Sandrine Layrisse - IMB UMR 5251
20
Conclusion
Cyrus Imap est un MDA (Mail Delivery agent)
conçut pour gérer les protocoles les plus
courants/performants (imaps, mais aussi pop3s).


Il répond bien aux objectifs de :
−
−
16/03/07
multi-accès (pour les personnes itinérantes),
avec possibilité de mode online/offline
autonomie, en intégrant la gestion de filtres,
de quota, de gestion de flags (lu/non lu,
important, répondu), des outils de
réparation/reconstruction
Sandrine Layrisse - IMB UMR 5251
21
Conclusion
−
sécurité : écoute sur le port 993 avec TLS, au lieu de
143
Utilise un mécanisme d’authentification SASL qui permet
d’isoler les comptes utilisateurs du serveur de courrier
Enfin, grâce à son succès auprès des grandes
universités, ou des fournisseurs de messageries
électroniques, cet un outil qui évolue et qui est
très bien documenté :

−
−
16/03/07
intégration de la réplication, de la clusterisation
(murder)
nouvelle fonction “undelete”
Sandrine Layrisse - IMB UMR 5251
22

Documents pareils