lundi 11 novembre 2013

Son propre serveur mail sur Raspberry Pi grâce à iRedmail

Récemment j'ai fais le tour de l'excellent site Prism Break qui a le mérite de lister de manière concise et claire tout un tas d'outils connus uniquement des personnes avisés en sécurité informatique.

Parmi les liens j'ai pas mal étudié l'article suivant "NSA proof email in 2 hours" qui explique comment monter son propre serveur mail avec Postfix et Dovecot. Alors OK ça fonctionne, j'ai essayé, mais franchement c'est un pur truc d'autiste, on est dans la caricature du linuxien avec autant de commandes à taper. J'ai donc opté pour une solution beaucoup plus simple grâce au script iRedmail, et très peu onéreuse puisque fonctionnant sur un Raspberry Pi.

Le problème d'iRedmail est qu'on est totalement spectateur de l'installation et qu'au moindre problème on ne sait pas trop par où recommencer. Le script est clairement destiné à une machine fraîchement installée.

On commence donc avec une installation vierge de Raspbian que l'on prépare en changeant le mot de passe SSH (pi / raspberry par défaut), en étendent la partition à toute la SD et en paramétrant son hostname: (ex: myhost.dyndns.org). On peut tout faire à partir de: sudo raspi-config Ensuite j'ai eu quelques modifications à faire pour que le script iRedmail fonctionne sur le Raspberry.

Premièrement, iRedmail requiert officiellement 1Go de RAM. Je n'ai pas voulu perdre de temps à essayer avec moins donc j'ai suivi ce tuto pour installer zram et virtuellement doubler ma RAM (j'ai un raspberry model B). Résultat après l'installation de zram: pi@myhost ~ $ free -m
         total used free shared buffers cached
Mem: 438   53    384   0         8         23
-/+ buffers/cache: 22 416
Swap: 538   0     538
Ensuite la première fois que j'ai lancé le script j'ai été confronté à l'erreur suivante: dpkg: error processing dovecot-pop3d (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
dovecot-imapd
dovecot-sieve
dovecot-managesieved
dovecot-pop3d
E: Sub-process /usr/bin/dpkg returned an error code (1)
Et j'ai découvert qu'il fallait installer ipv6 pour que Dovecot s'installe correctement. La FAQ du raspberry donne la solution suivante pour activer l'ipv6 sudo modprobe ipv6 (activation immédiate)
ajouter une ligne ipv6 à /etc/modules (démarrage auto au boot)
Enfin pour des raisons de support et de manque de test, iRedmail ne supporte pas officiellement la plateforme ARM. Pour forcer l'installation il faut modifier le test d'architecture dans le script ./conf/global en ajoutant le cas armv6l case $arch in
    i[3456]86) export ARCH='i386' ;;
    x86_64|amd64) export ARCH='x86_64' ;;
   + armv6l) export ARCH='armhf' ;;
    *)
       echo "Your architecture is not supported yet: ${arch}."
      ! echo "Arm, i386 and x86_64 are supported by ${PROG_NAME}."
       exit 255
    ;;
esac
On est enfin prêt pour lancer le script: sudo bash iRedmail.sh Et à la fin de l'installation on n'oublie pas de supprimer le fichier de config temporaire qui contient nos mots de passe: rm /home/pi/Install/iRedMail-0.8.5/config Pour des raisons de performance et parce que je n'en avais pas besoin j'ai également désactivé l'antivirus ClamAV avec: Dans /etc/amavis/conf.d/50-user commenter:

#@bypass_virus_checks_maps = (
#    \%bypass_virus_checks,
#    \@bypass_virus_checks_acl,
#    $bypass_virus_checks_re,
# );

Puis:

sudo /etc/init.d/clamav-daemon stop
sudo /etc/init.d/clamav-freshclam stop

sudo update-rc.d -f clamav-daemon remove
sudo update-rc.d -f clamav-freshclam remove
Dans le futur peut être qu'arkos présentera une alternative intéressante et plus simple à mettre en neuve. Pour le moment Raspbian et iRedmail ont le mérite d'être des systèmes plus éprouvés.

5 commentaires:

  1. Merci pour cet article ; la gestion de l'ipv6 et le patch pour armv6 m'a bien aidé !

    RépondreSupprimer
  2. Petite erreur : 'armehf' > remplacer par 'armhf'

    RépondreSupprimer
  3. Exact, merci pour la correction j'ai mis à jour le script. Content que mon article ai pu vous aider.

    RépondreSupprimer
  4. hello, les 512 sont mandatory ou on peut s'en sortir avec le modèle 1 et ses 256 meg de ram ?

    RépondreSupprimer
    Réponses
    1. Je ne souviens pas avoir vu une limitation de mémoire lors de l'install donc je ne suis pas sûr. Le plus gourmant est l'antivirus que j'ai désactivé également, et il faut probablement oublier l'interface web (déjà assez lente avec 512) mais en utilisation personnelle (peu de comptes) ça se tente avec 256Mo et en accès imap/pop uniquement.

      Supprimer