Un proxy POP/IMAP est, comme son nom l’indique, un relai pour les 4 protocoles POP et IMAP, sécurisés ou non. Ca sert à placer un relai entre les clients mail et votre vrai serveur POP3 et/ou IMAP4 et/ou POP3s et/ou IMAP4s.
Pourquoi donc ? par exemple pour ne rendre visible dans une DMZ que les relais et non pas les serveurs POP/IMAP directement. Ca peut permettre aussi (dans le cas du logiciel PERDITION que je vais montrer ci-dessous) de faire une répartition par utilisateur (donc par exemple par origine) entre différents serveurs POP ou IMAP de votre infrastructure, pour de la répartition de charge ou toute autre raison qui vous semble intéressante.
Bon là, si ça ne vous parle pas, l’article ne vous servira à rien, revenez plus tard. Sinon, let’s go pour une introduction par un exemple de mise en place du logiciel PERDITION.
En deux mots, le principe d’un relai comme ça est de prendre les demandes d’authentification, de les relayer au vrai serveur de mail et suivant le résultat, de faire ou non un « pipe » vers le vrai serveur de mail (selon le protocole voulu).
Commencez donc par installer l’application. Sous Debian : apt-get install perdition
par exemple.
Ensuite, allez dans /etc/perdition/
et dupliquez votre fichier perdition.conf
en perdition.imap.conf
suivant vos besoins. Le manuel préconise en fait de créer un fichier par protocole utilisé. A la limite, le fichier d’origine perdition.conf
ne sert plus à rien à la fin. Vous pouvez le conserver néanmoins si vous n’utiliserez dans votre proxy qu’un seul des 4 protocoles.
Il faut maintenant éditer ce(s) fichier(s) pour chaque protocole. Tous les paramètres sont par défaut en commentaire. A vous de choisir ce qu’il faut. Le minimum vital pour de l’IMAP4s par exemple est, (dans le fichier /etc/perdition/perdition.imap4s.conf
du coup 😉 :
protocol IMAP4S outgoing_port 993 outgoing_server imap.mondomaine.com # votre vrai serveur IMAP ssl_mode ssl_listen # ou ssl_all, voyez la doc ssl_ca_file /etc/ssl/certs/masociete.crt ssl_cert_file /etc/ssl/certs/mon_imap.cert ssl_key_file /etc/ssl/certs/mon_imap.key
Quelques remarques :
1) Vous n’êtes pas obligé d’utiliser une « Certification Authority », donc dans ce cas, pas besoin de "ssl_ca_file"
.
2) Les chemins et noms de fichiers des certificats/clefs sont arbitraires.
3) Pour de l’IMAP non sécurisé, vous n’auriez qu’à modifier les 3 premières lignes et laisser en commentaire celles commençant par "ssl"
.
4) Pour du POP ou POP3s, c’est le même principe.
5) Enfin, le fichier de config /etc/perdition/perdition*conf
contient pas mal d’aide sur chaque paramètre, et le man perdition
aussi.
Enfin, dernière brique, préciser quels protocoles on prend en charge et vérifier que perdition est bien lancé par le système. Ca se passe dans le fichier /etc/default/perdition
où vous irez contrôler ça :
RUN_PERDITION=yes POP3=no #ou yes POP3S=no #ou yes IMAP4=no #ou yes IMAP4S=yes #ou no
Pour chaque protocole que vous utilisez, vous aurez donc créé le /etc/perdition/perdition.protocole.conf
qui va bien. Relancez le service via "/etc/init.d/perdition restart"
et vérifiez que les processus "perdition.protocole"
qui vous intéressent tournent.
Evidemment, vous vérifierez enfin que toute votre configuration firewall ressemble à quelque chose et permet notamment l’accès aux ports qui vont bien de votre proxy POP/IMAP.
J’oubliais, pour faire de la répartition par utilisateur (tel utilisateur sur tel serveur), il faut éditer le fichier "/etc/perdition/popmap"
. Quelques exemples sont donnés, genre :
horms:mailserver1 tymm:mailserver2
Puis créer une « base de données » (un fichier .db) via un "make"
basé sur le Makefile disponible dans /etc/perdition/Makefile
.
(C’est un peu le même principe, en plus glauque, que le fichier /etc/aliases et sa version base de données générée par la commande postalias).
Personnellement, je n’ai pas mis en place ce système de répartition, mais ça ne doit pas être bien plus compliqué que ça.
Voilou.
Merci pour ces informations très utile et qui finalement simplifie certaines architecture.
Merci pour ce doc… précisément ce que je cherchais à faire sans engraisser un éditeur 🙂
Bonjour, mais quand vous configurez votre proxy ainsi, ou sont stockes les mails reçues?