Skip to content →

Category: Mail

Perfect Forward Secrecy pour Postfix/Dovecot

Après mon article sur PFS pour Apache, j’ai mis également en place PFS sur mon serveur de messagerie Postfix/Dovecot, le client K9-Mail pour Android supportant désormais des versions plus récentes de TLS, TLSv1.1 et v1.2.

Voici ici quelques éléments pour réaliser cette configuration et augmenter la sécurisation des flux chiffrés.

One Comment

Installation de mailpile et de RainLoop

Après recherche de solutions remplaçant un Roundcube pour mon webmail perso, je suis tombé sur plusieurs projets :

  • MailPile, un webmail python, en cours de développement
  • RainLoop, un webmail PHP/Ajax, qui semble plus fini

 

Installation de RainLoop

L’installation de RainLoop est assez simple :

cd /var/www/html/rainloop/
find . -type d -exec chmod 777 {} ;
find . -type f -exec chmod 666 {} ;
wget -qO- http://repository.rainloop.net/installer.php | php

Ensuite, il suffit de créer un vhost sur votre apache (ici en SSL sur myhost.beufa.net) :

<VirtualHost *:443>
        ServerAdmin postmaster@beufa.net
        ServerName  myhost.beufa.net
        DocumentRoot /var/www/html/rainloop
        SSLEngine on
        SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
        SSLProtocol all -SSLv2
        SSLStrictSNIVHostCheck on
        SSLOptions StrictRequire
        SSLCertificateFile      /etc/ssl/certs/myhost.cert
        SSLCertificateKeyFile   /etc/ssl/private/myhost.key
        #GnuTLSEnable on
        #GnuTLSPriorities SECURE:!ANON-DH:!MD5
        #GnuTLSCertificateFile cert.pem
        #GnuTLSKeyFile cert.pem
        #GnuTLSCertificateChainFile cert.pem
        #GnuTLSCACertificatePath /

        <Directory /var/www/html/rainloop>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        <Directory /var/www/html/rainloop/data>
                Options -FollowSymLinks
                AllowOverride None
                Order allow,deny
                Deny from all
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog /var/log/httpd/myhost.beufa.net/error_log
        CustomLog /var/log/httpd/myhost.beufa.net/access_log combined

</VirtualHost>

Et vous obtiendrez alors le webmail après une configuration sur https://myhost.beufa.net/?admin (Le login / mot de passe par défaut est admin :: 12345, il faut donc le changer !)

Une version de démonstration est disponible ici : http://rainloop.net/try-now/

Installation de MailPile

MailPile est encore en développement, et honnêtement, ca a l’air loin d’être fini. Curieux, j’ai quand même gratter pour l’installer :

# Installation des dépendances (suivant votre système, ici en CentOS 6.5)
yum install python-imaging python-jinja2 python-lxml python-devel python-pip python-setuptools

# Clone git du repository github
cd /opt/
git clone https://github.com/pagekite/Mailpile.git 
cd Mailpile

# Installation des dépendances pip (upgrade de jinja2 pour éviter l'erreur sur les templates)
pip install -r requirements.txt
pip install jinja2 --upgrade

# Setup de Mailpile
./mp --setup

# On ajoute un compte et son dossier de stockage
./mp --set "profiles.0.email = mymail@beufa.net"
./mp --set "profiles.0.name = My Name FirstName"
./mp --add /opt/vmail/mymailhost.net/myname/  --rescan all

# On démarre le démon www
./mp --www

Le démon écoutant sur localhost et le port 33441, le plus simple est de créer un Reverse Proxy Apache pour le test :

<VirtualHost *:443>
        ServerAdmin postmaster@beufa.net
        ServerName  myhost.net
        #DocumentRoot /var/www/html/mailpile
        SSLEngine on
        SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
        SSLProtocol all -SSLv2
        SSLStrictSNIVHostCheck on
        SSLOptions StrictRequire
        SSLCertificateFile      /etc/ssl/certs/myhost.net.cert
        SSLCertificateKeyFile   /etc/ssl/private/myhost.net.key
        #GnuTLSEnable on
        #GnuTLSPriorities SECURE:!ANON-DH:!MD5
        #GnuTLSCertificateFile cert.pem
        #GnuTLSKeyFile cert.pem
        #GnuTLSCertificateChainFile cert.pem
        #GnuTLSCACertificatePath /

        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass / http://localhost:33411/
        ProxyPassReverse / http://localhost:33411/

        <Location />
                Order allow,deny
                Allow from all
        </Location>
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog /var/log/httpd/myhost.net/error_log
        CustomLog /var/log/httpd/myhost.net/access_log combined

</VirtualHost>

Vous pouvez alors tester sur le vhost reverse proxy ainsi créé. Par contre, par encore de formulaire d’authentification, ce qui fait que votre mail est accessible “all around the world” ! Protégez l’interface à minima avec un htaccess ou une authentification basique dans le vhost.

En résumé

RainLoop semble un produit fini, mais il y a certaines choses manquantes :

  • Pas d’import possible des contacts
  • Fonctionnalités et configuration très très basiques
  • Gestion des threads de conversation limitée et pas forcément pratique
  • Pas d’affichage des headers mail comme sur Roundcube
  • Pas de vérification des sous dossiers IMAP

Pour MailPile, même si le projet est prometteur (Support OpenPGP, chiffrement des pièces jointes …), il manque encore :

  • Un formulaire d’authentification !!!
  • Une interface d’administration à minima comme sur RainLoop
  • La gestion des dossiers IMAP
  • Un produit fini et utilisable tout simplement.

Je vais suivre donc ce dernier plus spécifiquement, RainLoop me semblant agréable pour l’instant en plus de RoundCube, que je garde pour l’usage avancé (gestion des filtres Sieve/ManageSieve). La bonne nouvelle de ces 2 projets est qu’ils supportent tous les deux mon serveur Dovecot / Postfix avec SASL pour IMAPS et SMTP/STARTTLS.

Bref, deux produits intéressants à suivre !

2 Comments
en_USEN