Ceci est une ancienne révision du document !
Table des matières
Bac à sable
Serveur virtuel sous Debian stable avec mis en place :
- postfix
- mailman
- apache
- mysql
- log2mail
- etckeeper
- deux webmails : squirrel mail et roundcube
Serveur Virtuel
À ce jour (1er juillet 2010), la machine virtuelle qui sert de bac à sable et de plate-forme expérimentale est hébergée sur la machine tatooine (tatooine.serveurlibre.net). Comme tatooine sert de bac à sable à d'autres projets, l'architecture de cohabitation de l'ensemble n'en est pas simplifiée, et peut se résumer par le schéma ci-dessous:
Tatooine possède déjà un serveur IMAP, POP, SMTP et Web, les ports standards ne sont donc pas toujours applicables:
- port IMAP4s: 1993,
- port POP3s : 1995,
- port SMTP de réception: 25 (utilisé par les autres serveurs mails pour nous donner les mails à destination de *@serveurlibre.net)
- port SMTP auth : 1587 (utilisé par les utilisateurs pour envoyer un mail depuis une adresse *@serveurlibre.net à destination de n'importe où)
- port HTTP et HTTPS: 80 et 443
postfix
Serveur de mail, actuellement l'envoi de mail et la réception fonctionnent.
Seuls les deux webmails permettent d'accéder à ses mails. Bientôt imap,imaps,pop,pops…
Configuré en se basant principalement sur :
- doc ubuntu sur postfix avec sasl…
Mais aussi :
- http://artisan.karma-lab.net/node/79 (trés bon tuto pour démarrer)
Chiffrement à la volée
Il est possible d'introduire un mécanisme fais maison dans la chaîne de réception des mails de postfix, via l'utilisation d'un proxy SMTP qui s'insère juste avant la mise en file d'attente des mails. Le proxy ne fait que répéter l'enchaînement des commandes envoyées par le client. Le proxy stocke les parties intéressantes de l'email (Header, Body) en vue d'un traitement global.
Le schéma ci-dessous explique brièvement la modification qui s'effectue sur la chaîne de réception du mail via postfix.
Le chiffrement à la volée peut s'effectuer facilement si l'on est capable d'adapter le SMTP proxy à nos besoins. Il existe déjà un tel programme, écrit en Perl et disponible à cette adresse. Nous avons écrit le nôtre en Python pour plusieurs raisons (dont la grande lisibilité offerte par ce langage), qui est disponible ici.
Afin d'intégrer le proxy smtp à postfix, il suffit de modifier quelques lignes dans la configuration de Postfix (voir cette page).
Ce qu'il reste à faire pour que postfix soit capable de chiffrer les mails à la volée:
- interfacer le script 'gp.py' avec le proxy SMTP 'smtpproxy.py'
- gérer les clés de tous les utilisateurs, et être capable de trouver la clé d'un utilisateur en fonction de son adresse email (Attention à garantir l'unicité de la clé !)
- Il faut également ajouter une entête MIME au message, afin de chiffrer l'ensemble du message (pièces jointes comprises), ou transformer le message “texte” en pièce jointe MIME chiffrée.
mailman
Gestionnaire de mailling list, fonctionne en utilisant apache et postfix
Configuré en se basant sur :
apache
Apache est un serveur web trés rependu et puissant, utilisé par mailman pour l'interface de gestion web et les deux webmails.
Configuré pour utiliser le https.
mysql
Gestionnaire de base de donnée utilisé par roundcube pour sa base de donnée.
log2mail
Permet l'envoi de log automatique par mail
etckeeper
Permet de garder une trace des actions d'administration et de les restaurer


