Mise en place d'un serveur de mail complet

De Linux Server Wiki
Aller à la navigation Aller à la recherche

Ce tutoriel va vous expliquer comment mettre en place un serveur mail complet pour plusieurs domaines et supportant l'ipv6 sous debian lenny. Les éléments suivants seront utilisés :

  • un serveur smtp : postfix
  • un mail delivery agent (mda) : maildrop
  • un serveur pop/imap : courier
  • un scanneur de contenu : amavis
  • un antispam : spamassassin
  • un antivirus : ClamAV
  • un gestionnaire de mailing list : mailman
  • des webmails : Squirrelmail et roundcube

Afin de gérer facilement les domaines, certains services seront couplés avec MySQL. Pour ceux qui veulent bénéficier du filtrage pour les boites imaps, je vous montrerais aussi comment coupler postfix avec maildrop. En dernier lieu, nous verront rapidement comment configurer un serveur mx secondaire pour vos domaines.

Nous allons mettre en place un service email pour deux domaines : core.csnu.org et csnu.org core.csnu.org représente le serveur en lui-même, et permet de délivrer les mails aux utilisateurs locaux du serveur. csnu.org est ce qu'on appel un domaine virtuel. Nous gèrerons les mails de ce domaine via MySQL.

Au niveau dns, core.csnu.org est le domaine identifiant la machine. Il possède l'adresse ipv4 213.186.47.110 et l'adresse ipv6 2001:41d0:1:d6e::110. csnu.org est un alias pour core.csnu.org.

Les changements de permissions effectués dans ce howto supposent que vous êtes en umask 0027

Champs dns MX

Pour que les mails a destination de vos deux domaines arrivent bien sur votre serveur, il faut configurer des champs dns MX. Pour cela, éditez la zone dns de votre domaine (/srv/bind/csnu.org.hosts dans mon cas) et ajoutez/modifiez les lignes suivantes:

core.csnu.org.  IN      MX      1 core.csnu.org.
csnu.org.       IN      MX      1 core.csnu.org.
core.csnu.org.  IN      A       213.186.47.110
core.csnu.org.  IN      AAAA    2001:41d0:1:d6e::110
list.csnu.org.	IN	CNAME	core.csnu.org.

Si vous n'avez pas d'adresse ipv6 configuré sur votre serveur, vous n'aurez pas besoin du champ AAAA.

Vous pouvez aussi configurer un champ spf. Le spf (Sender Policy Framework) est une mesure antispam permettant aux autres serveurs de savoir quels serveurs ont le droit d'envoyer des mails pour votre domaine. Voici mes champs dns spf :

core.csnu.org.  IN      TXT     "v=spf1 mx -all"
csnu.org.       IN      TXT     "v=spf1 mx ~all"
  • mx signifie que seules les serveurs mx ont le droit d'envoyer des mails pour le domaine en question.
  • ~all signifie que toutes les autres ips n'ont probablement pas le droit d'envoyer de mails.
  • -all signifie que toutes les autres ips n'ont pas le droit d'envoyer de mails.